Tomando a pílula vermelha
Uma grande parte das dúvidas que chegam até mim no universo Django são relacionadas à metodologia ágil, especialmente sobre TDD (testes). A maior parte dos sintomas apontam ao caso clássico de rejeição ao ágil. É que muitas pessoas querem compreender o ágil, partindo de princípios criados por metodologias tradicionais, e isso é realmente, quase impossível.
É preciso tomar a pílula vermelha.
Mas o que isso significa? Significa que você deve pegar tudo o que você conhece sobre gerência de projetos e processos tradicionais aplicados a software, colocar em um latão de cobre devidamente documentado, soldar, e enterrar no CNEN [1] mais próximo.
Ok, se você não é goianiense, provavelmente não pegou o trocadilho, mas não importa, o que importa é o resultado ;)
É preciso romper com o tradicional. Não que PmBok, RUP, etc sejam totalmente errados, mas os casos onde o primeiro se aplica são relacionados à engenharia, e definitivamente, não há uma engenharia de software. Já o segundo é um baú cheio de coisas interessantes, mas que levam ao engano clássico de querer o pacote completo, e isso é realmente um problema.
Eu estou preparando algo mais interessante sobre TDD e Django com o propósito de ajudar melhorar a compreensão da união entre as duas ferramentas, mas enquanto isso não acontece, eu gostaria de sugerir alguns links (quase) obrigatórios para quem gosta do assunto (ou para quem quer passar a ter uma vida cor-de-rosas).
Seguem abaixo:
ImproveCast
- Ótimo podcast liderado por Vinícius Teles com entrevistas e debates sobre o assunto. Ouça especialmente o 5, com o argentino Juan Bernabó;
- http://www.improveit.com.br/podcast
Top 5 desculpas de quem não quer programar orientado a testes
- Não preciso dizer mais nada... hehe
- http://dojofloripa.wordpress.com/2006/11/03/top-5-desculpas-de-quem-nao-quer-programar-orientado-a-testes/
Testing Django Applications
- Ponto obrigatório para djangonautas utilizando testes que esclarece alguns enganos comuns da comunidade
- http://www.djangoproject.com/documentation/testing/
Introduction to Test Driven Design (TDD)
- Ninguém menos que Scott Ambler apresentando o TDD
- http://www.agiledata.org/essays/tdd.html
Wikipedia: Test-driven development
- Texto introdutório na Wikipedia
- http://en.wikipedia.org/wiki/Test-driven_development
Livros que introduziram o TDD (não, eu não li, mas são os mais importantes no assunto)
- http://www.amazon.com/exec/obidos/ASIN/0321146530/ambysoftinc
- http://www.amazon.com/exec/obidos/ASIN/0131016490/ambysoftinc
The three rules of TDD
- "As três regras do TDD" - para deixar claro sobre as tentativas frustradas de se escrever um teste megalomaníaco (e cair nos mesmos erros tradicionais)
- http://butunclebob.com/ArticleS.UncleBob.TheThreeRulesOfTdd
Scott Ambler: podcasts
- Ouça esse cara. Literalmente
- http://www.ambysoft.com/podcasts/
Martin Fowler: articles
- Também importante para estar em seu leitor RSS
- http://martinfowler.com/articles.html
e veja também meus links no del.icio.us relacionados ao assunto:
- http://del.icio.us/marinho/extreme_programming
- http://del.icio.us/marinho/tdd
- http://del.icio.us/marinho/projetos
Bom, é isso aí. E boa sorte ;)
Links relacionados
| [1] | http://pt.wikipedia.org/wiki/CNEN |
Marinho Brandão