11 de Dezembro de 2008

O seu time é agil ou apenas “conserta e remenda” código?

Arquivado sob: Processos de Software, Engenharia de Software — marco @ 23:50

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!
Times Ágeis

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:

Pensamento do dia: “Quem faz errado faz duas vezes” - Pensamento popular.

4 Comentários »

  1. 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

  2. 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

  3. 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

  4. […] 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

RSS de comentários deste artigo. URI para link desta publicação:

Deixe um comentário

You must be conectado to post a comment.

Blog do Marco Mendes | Artigos, Comentários e Opiniões sobre Engenharia de Software, Arquitetura de Software, SOA e Java