Nesse último sábado estive em Florianópolis participando do 14o. Encontro de Design e Tecnologia Digital (ou simplesmente #edted para os “Twitteiros”). O evento já passou pelo Rio de Janeiro e São Paulo e ainda vai passar por mais 6 cidades até o fim do ano (veja a programação).
Nas outras duas cidades percebí que minha apresentação ficou confusa porque fiz uma mistura de tecnologia com processo de desenvolvimento que eu senti que não deu muito certo. Então em Floripa decidi jogar todo o plano fora e fazer um totalmente novo, separando em duas apresentações.
Introdução a metodologias ágeis
Nessa apresentação tentei explicar metodologias de desenvolvimento ágil de software da forma mais simples e mais abrangente possível. Meu objetivo era fazer algo que pudesse servir tanto para quem nunca teve nenhum contato saber do que se trata como para quem já conhece aprender alguma coisa nova. Para isso eu fiz um paralelo com algumas historinhas e acabou virando uma apresentação bem humorada, despojada e (acredito eu) fácil de entender. Pelos comentários que li no Twitter parece que dessa vez “acertei a mão”. 🙂
No final falei de alguns livros para se aprofundar no assunto que foram:
- Agile Software Development with Scrum é o livro mais básico sobre Scrum e que descreve como funciona esse framework para gerenciamento ágil de projetos.
- Extreme Programming Explained é importantissimo para entender as práticas de XP, que são essenciais para o sucesso de projetos ágeis de software. Inclusive, é possível (e eu diria até que é mais legal) usar XP sozinho, sem Scrum. O grande problema é que XP é mais difícil de ser “vendido”, mas se você conseguir vá em frente! Leia mais sobre XP nessa excelente referência organizada pelo pessoal da ImproveIt.
- Lean Software Development, que fala sobre os princípios de Lean manufacturing aplicados ao desenvolvimento de software.
- Agile Estimating and Planning contém informações sobre planejamento de projetos e estimativas ágeis. É essencial entender esse assunto, já que é um dos mais questionados e complicados numa transição para metodologias ágeis.
- Além disso tem mais indicações de livros nesse post e esse outro post em especial (sobre o FISL) tem bastante informação, links para artigos e blogs sobre metodologias e desenvolvimento ágil.
Python Coding Dojo: O primeiro passo para se tornar um programador Python Samurai
Nos últimos meses tenho trabalhado bastante com Python e tenho gostado muito. Graças a isso e a confiança do pessoal da Arteccom no meu trabalho, resolvi fazer uma coisa bem diferente e um pouco ousada: tentar ensinar Python em apenas duas horas usando um formato de Coding Dojo! Essa apresentação foi uma cópia da minha apresentação no PythOnCampus, porém dei uma reduzida no conteúdo, adicionei uma breve introdução sobre Coding Dojo e troquei o formato para ter uma seção prática de programação.
Apesar de ter conseguido fazer uma boa introdução e passado bastante informações sobre a linguagem, é claro que o objetivo não era fazer com que as pessoas saissem de lá sabendo fazer tudo em Python. Elas apenas tiveram um primeiro contato com a linguagem, viram que não é nenhum bicho de 7 cabeças (muito pelo contrário) e ainda se divertiram programando em par no palco, fazendo TDD e resolvendo desafios de programação. Me surpreendi pela procura/interesse do pessoal e pelo feedback me parece que também deu certo.
De quebra também mostrei para o pessoal como funciona um Dojo, quais os objetivos e benefícios. É uma prática muito legal e muito fácil de fazer, qualquer um pode (e deveria) organizar um Dojo na sua empresa ou com seus amigos.
Para quem quiser saber mais sobre o que vimos:
- No site http://codingdojo.org tem informações sobre as regras de Dojo e links para uma porção de problemas legais de resolver. Para que não sabe existe um Dojo organizado por um grupo de programadores em Floripa. Ele anda meio parado mas quem sabe essa não é uma ótima oportunidade para continuar?
- Para aprender Python recomendo a leitura dos livros Learning Python (que fala do básico da linguagem), Programming Python e Python in a Nutshell (que são mais avançados). Esse último ainda não li mas me foi muito bem recomendado. Além disso há uma extensa documentação no site oficial do Python.
- Além disso falei sobre o Django, que é um framework em Python muito popular para construir websites. A melhor forma de conhecê-lo e aprender como ele funciona é fazendo o tutorial que está no site do projeto.
Não vou disponibilizar os slides porque eles em sua maioria só tem um monte de fotos e palavras desconexas que não servem pra nada sem mim, são apenas um suporte para a apresentação. Além do mais, não quero fazer spoiler para o pessoal das outras cidades.
É isso aí pessoal, obrigado pela recepção calorosa e pelo bate papo! Nos vemos na próxima! 😉