O seu time é agil ou apenas “conserta e remenda” código?
A palavra “ágil” ganhou muita popularidade em TI nos últimos anos, mas infelizmente ela tem sido deturpada para mascarar más práticas e o infame “anti-processo” conserta e remenda. Agilidade, contrariamente ao senso comum, requer muita disciplina de pessoas e times.
Por exemplo, consideremos um desenvolvedor. Um desenvolvedor ágil precisa realizar uma série de rituais diários para se manter ágil, como por exemplo:
- Refatorar o seu código continuamente. Sistemas que não são refatorados crescem de forma desordenada e permitem que o caos se instale.
- Criar e manter testes de unidade no seu código, preferencialmente com ferramentas da família xUNIT (jUNIT, nUNIT).
- Gerar builds diários do seu código para aumentar o ciclo de feedbacks dos times de testes e usuários finais.
- Colaborar continuamente com os seus pares (stand-up meetings, sessões de pair programming).
Agilidade, portanto, implica em disciplina e trabalho duro. Felizmente, estamos observando o advento de ferramentas e ambientes de desenvolvimento que trazem cada ves mais os conceitos das escolas ágeis para o dia a dia de gerentes, analistas, desenvolvedores e testadores. Citei recentemente o Jazz e o IBM Rational Team Concert da IBM. Ele pode ser estudado e baixado a partir do lúdico e interativo site A Viagem do Sr. Ping, que infelizmente perdeu contato com o seu time.
Aprendendo a ser ágil!

Mas como podemos aprender a ser ágil? A tarefa realmente não é simples. Mas podemos praticar as idéias e conceitos em projetos e ganhar experiência.
Para quem quiser aprender e aperfeiçoar conceitos, recomendo o “Kit de Agilidade” compilado no portal DeveloperWorks da IBM. São diversos papers, vídeos e outras informações sobre práticas ágeis. Recomendo, em particular, o rápido webcast do mestre Scott Ambler sobre o uso de práticas ágeis. Outras informações estão disponíveis também no site http://ibm.com/rational/agile.
Para os “designers” e arquitetos de software, recomendo também uma série de artigos que escrevemos no site “DeArchitectura” sobre como práticas ágeis para a arquitetura de software. Resumo os links abaixo:
- Arquiteturas Ágeis com o AUP.
- As Atividades de Arquitetura com o OpenUP.
- OpenUP - Agilidade, Controle de Riscos e Disciplina Arquitetural
- Extraindo o sumo da arquitetura com o EssUP.
Pensamento do dia: “Quem faz errado faz duas vezes” - Pensamento popular.
Indico fortemente o livro de Vinícius Manhãe Teles.
http://www.improveit.com.br/xp/livroxp
ÓTIMO livro! Fácil de ler e muito completo neste sentido.
Comentário de Wallace — 12 de Dezembro de 2008 @ 08:15
Com certeza, trabalhar em um time ágil é necessário muito comprometimento e mudanças de velhos hábitos. Tem um livro excelente sobre Agile (http://www.temporeal.com.br/produtos.php?id=166790) vale a pena para quem tem interesse no assunto.
Comentário de Marcos Sousa — 30 de Dezembro de 2008 @ 10:06
Bacana, Marcos. O Robert Martin é um guru de OO e tem muita coisa bacana publicada.
Olha a página dele aqui: http://www.objectmentor.com/omTeam/martin_r.html.
Comentário de marco — 31 de Dezembro de 2008 @ 00:09
[…] O seu time é agil ou apenas “conserta e remenda” código? […]
Pingback de Marco Mendes´s Blog » Artigos de Engenharia de Software - 2008 — 31 de Dezembro de 2008 @ 00:44