Posts Tagged ‘revisão’

Prática: faça revisões arquiteturais regularmente

12 de agosto de 2010

Sintoma: durante o desenvolvimento de um sistema, a equipe percebe a necessidade de mudar algum aspecto arquitetural. Como a arquitetura é a parte mais difícil de se mudar no software, o custo atrelado também é alto. Após o término do projeto, descobre-se que outras equipes já haviam passado por problemas semelhantes e sabiam que a primeira alternativa era ruim para o sistema.

Ação: sempre que um projeto é concluído, aproveite o espaço de almoço de um dia da semana seguinte para apresentar a evolução do sistema e da arquitetura para todos os interessados.

Almoço na Caelum

Momento de descontração.

A revisão não é um momento de busca de aprovação, mas de compartilhar os problemas de alto nível passados pela equipe, por exemplo:

a) entre as 3 ferramentas que suportam serialização em Ruby que utilizamos durante os últimos 6 meses, quais os problemas que cada uma apresentou

b) não era esperado mas a adoção de um estilo arquitetural determinado implicou na perda de escalabilidade

c) a atualização de uma biblioteca após o primeiro release foi compensada na produtividade da equipe após 3 meses, ou simplesmente não compensou e voltamos a utilizar a antiga

d) a adoção da prática de deploy contínuo permitiu disponibilizar 30 novas features por mês para os clientes

Deploy contínuo

Pipeline de deploy contínuo existente desde 2008

A revisão arquitetural permite que o conhecimento adquirido em projetos anteriores possa ser reutilizado em projetos posteriores, uma propriedade coletiva – a arquitetura ou até mesmo o processo – assim como a prática de programação pareada faz o mesmo com menor granularidade: o código.

Em projetos de longa duração é natural que as evoluções continuem acontecendo, portanto faça apresentações regularmente das mudanças arquiteturais.

Anúncios