
Uma visão geral de XP
Programação extrema (do inglês eXtreme Programming), ou simplesmente XP, é uma metodologia ágil para equipes pequenas e médias e que irão desenvolver software com requisitos vagos e em constante mudança. Para isso, adota a estratégia de constante acompanhamento e realização de vários pequenos ajustes durante o desenvolvimento de software.
Os quatro valores fundamentais da metodologia XP são: comunicação, simplicidade, feedback e coragem. A partir desses valores, possui como princípios básicos: feedback rápido, presumir simplicidade, mudanças incrementais, abraçar mudanças e trabalho de qualidade.
Extreme Programming usa times integrados de programadores, clientes, e gerentes para desenvolver software de alta qualidade em velocidade alta.
Reúne também um conjunto de práticas de desenvolvimento de software já testadas, que estimuladas a sinergia entre elas gerarão vastas melhorias em produtividade global e satisfação do cliente.
Programação em par
Programação em par é uma das práticas mais conhecidas e mais polêmicas utilizadas pelos que adotam o Extreme Programming. Ela sugere que todo e qualquer código produzido no projeto seja sempre implementado por duas pessoas juntas, diante do mesmo computador, revezando-se no teclado.
À primeira vista, a programação em par parece ser uma prática fadada ao fracasso e ao desperdício. Afinal, embora possa haver benefícios, temos a impressão de que ela irá consumir mais recursos ou irá elevar o tempo do desenvolvimento. Entretanto, não é exatamente isso o que ocorre.
Resumindo: Duas pessoas trabalhando juntas num mesmo computador, compartilhando código, idéias e soluções.
Infelizmente o pensamento predominante no meio corporativo é que é um desperdício ter duas pessoas trabalhando num mesmo computador.
Segundo Jay Fields , em um artigo escrito para desenvolvedores ou equipes que estão procurando adotar a programação em par, o sucesso é alcançado quando a equipe gosta do trabalho em par e torna-se mais produtiva por causa disso. Se você abordar a adoção desse ponto de vista, terá uma chance maior de sucesso.
"Porque alguém utilizaria duas pessoas para fazer o trabalho de uma? "
Esta é uma reação comum quando as pessoas são apresentadas a ideia da programação em par. Na essência, eles concluem programação em par como duplicar o custo de escrever um segmento de código. Dave Nicollete demonstra algumas ideias quantitativas para ajudar a mostrar como a programação em par pode salvar dinheiro, ao invés de desperdiça-lo.
A questão econômica da programação em par é confundida como um resultado de uma percepção equivocada de que programação é, em sua maioria, digitação. Na realidade, na sua maioria, é sobre pensar e, como resultado, provê infinitas oportunidades para tomar decisões erradas e criar erros - erros que irão no fim custar aos desenvolvedores (e no caso a organização) tempo no futuro.
É aqui aonde a proposta econômica da programação em par esta fundamentada, e também porque é tão difícil de quantificar. O valor dos pares vem na forma de economia de tempo que seria despendido no futuro e, como todos sabem, "Tempo é dinheiro".
Durante uma recente sessão de programação em par foi registrando a frequência que um par ajudava o outro indicando enganos, bem como as discussões sobre assuntos relacionados com design que foram ocorrendo.
Agora vem a prova:
Em um de seus mais recentes livros, Alistar Cockburn computou que o custo de um profissional de TI gira em torno de US$2.10 por minuto... Na nossa sessão de programação em par, nós tivemos duas mini-discussões sobre design que levaram a pequenos refatoramentos. De acordo com nosso cálculo, foram economizadas quatro horas de esforço de manutenção futuro. Isto vale algo como 2.1 x 120 = $252.00. Tivemos 12 momentos em que um de nós notou um pequeno equivoco. Se estas ocorrências economizaram uma média de 30 segundos de esforço de depuração, então custou 0.5 x 2.1 x 12 = $12.60. No Total, nós economizamos para a companhia $274.60 em 90 minutos ou, dividindo em horas, em torno de $180.00 por hora.
A empresa tem um pequeno departamento de TI com um total de aproximadamente 40 desenvolvedores trabalhando em diversos times XP. Se nós assumimos que as sessões de par ocorrem 5 horas por dia, então serão 20 pares x 5 horas x 5 dias por semana = 500 horas de programação em par por semana. Assumindo que foram economizados $180.00 por hora por par, isso faz com a média de economia seja de $90.000,00 por semana. Se esta taxa de trabalho for mais ou menos constante durante o ano, e os times trabalharem 50 semana por ano (este exemplo é de uma fabrica americana, em que as férias são curtas), a empresa vai desfrutar de uma economia de $4.5milhoes por ano, especificamente porque a prática da programação em par é a padrão dos times de desenvolvimento.
$4.5 milhões para esta empresa de apenas 40 desenvolvedores. Mas Dave admite, que estes são apenas cálculos não precisos derivados de uma simples sessão de programação em par, assim não tem nada de científico, no entanto não tem porque não ser levado em consideração.
E você, desenvolvedor de aplicações móveis, o que acha?
O Java Móvel adota essa prática!
Veja neste link a visão de André Faria Gomes, arquiteto de software, sobre Programação em par.
Referências:
http://www.improveit.com.br/xp
http://www.infoq.com/br/news/2009/07/dollar-value-of-pair-programming
http://xp.edugraf.ufsc.br/bin/view/XP/WebHome
http://pt.wikipedia.org/wiki/Programa%C3%A7%C3%A3o_extrema
1 comentários:
Gostaria de saber a opnião dos leitores. Se puderem comentem para compartilharmos idéias.
Postar um comentário