Durante 9 meses de trabalho no projeto do Pabx Virtual da LocaWeb, coletamos informações estatísticas do código do projeto. Baseado nessas informações tirei algumas conclusões.
No gráfico à direita vemos claramente que o projeto tinha inicialmente muito código duplicado. Depois de várias Refatorações, foram removidas duplicações e o código ficou muito mais limpo e fácil de alterar.
No gráfico seguinte vemos que, enquanto o número de linhas de código diminuiu
drasticamente, o número de linhas de código de
teste aumentou, o que significa que além de desenvolver novas funcionalidades, melhorar a qualidade do código do produto, ainda criamos uma série de testes automatizados que ajudam a garantir a qualidade do sistemas nas próximas versões.
No próximo gráfico vemos que o número de classes do sistema aumentou bastante, indicando que houve um aumento na modularização e reutilização do código. Mais classes com menos código significa maior especialização das classes, métodos menores e também maior testabilidade.
Todos estes números nos ajudam a ver que a metodologia adotada foi eficaz para melhorar e manter o projeto. Algumas práticas de XP adotadas pela equipe foram: programação pareada, releases curtos, jogo do planejamento, refatoração, design simples, cliente sempre presente, padronização de código.
Olá Daniel! Muito legal os gráficos. Sugiro você colocar os gráficos de como isso tem refletido na implementação de novas histórias (por exemplo, o tempo em média de implementação de cada história) e na ocorrência de bugs. Assim poderia tirar conclusões de como isso tem refletido no desenvolvimento (produtividade) e na imagem do cliente (bugs).
Daniel, antes de mais nada, parabéns pela iniciativa.
Esperamos poder contribuir ao máximo para a prosperidade e continuidade do blog.
Abraços.
Respondendo a dúvida do Fagundes: o tempo de implementação das histórias é algo muito subjetivo, pois cada história tem seu tempo particular de desenvolvimento. Não possuo gráficos que mostrem claramente que o tempo de desenvolvimento de cada história diminuiu, mas não há dúvidas de que fazer qualquer alteração num sistema com 40000 linhas é mais difícil do que alterar o mesmo sistema com 26000 linhas.
Com os testes que criamos, conseguimos evoluir o produto com chances mínimas de inserir bug. E o melhor: o custo das mudanças é contante. Mesmo sempre evoluindo bastante em funcionalidades, o sistema não cresce em complexidade.
A respeito da satisfação do cliente, eu diria que ele virou um grande fã da metodologia. Nosso cliente é muito integrado na equipe, está sempre presente. É um cliente eXtremo de verdade.