Esse artigo faz parte da revista Java Magazine edição 14. Clique aqui para ler todos os artigos desta edição

jm14_capa.JPG

Clique aqui para ler esse artigo em PDF.imagem_pdf.jpg

Agilidade com XP

Conheça o Extreme Programming

 

 

O XP, método para equipes pequenase médias, e projetos com requisitos em constante mudança, é um dos mais populares entre desenvolvedores Java  

 

Desenvolver software não é uma tarefa simples. Desenvolver o produto que atenda às necessidades do cliente e seja entregue no prazo, com o custo e o nível de qualidade desejados é uma tarefa ainda mais difícil. Tantos anos após o início do desenvolvimento comercial de software, este continua sendo nosso maior desafio. Projetos continuam falhando, estourando cronogramas e orçamentos e, pior, muitos sequer chegam ao fim.

Quantos de vocês já não passaram por situações deste tipo antes? Quantos já não viveram aquela sensação de frustração por terem participado de um projeto que falhou? A sensação de sacrifício em vão, de ter se esforçado abrindo mão do tempo livre para se dedicar a um projeto que não alcançou seu objetivo; clientes insatisfeitos, prejuízo para os fornecedores. Um cenário bem conhecido para a maioria de nós desenvolvedores de software.

Por que é tão difícil conduzir um projeto de software? Quais são os motivos reais que levam os projetos ao fracasso? Como é possível resolver estes problemas? No final da década de 90, uma nova proposta para tratar estas questões saiu de dentro das comunidades de orientação a objetos, ganhando conhecimento público. Baseando- se em um trabalho experimental de mais de dez anos nessas comunidades, foram criados os conceitos do que hoje conhecemos como Desenvolvimento Ágil de Software. Os chamados métodos ágeis defendem a valorização do aspecto humano no desenvolvimento – estimulam a interação e a troca de experiência em um ambiente de aprendizado constante; defendem a criação de uma estrutura de desenvolvimento que suporte mudanças ao longo do tempo, e incentivam um relacionamento de colaboração permanente entre a equipe de desenvolvimento e os clientes.

Extreme Programming é o mais popular dos métodos ágeis. Foi criado por Kent Beck, um dos criadores do Smalltalk (uma das linguagens que inspiraram Java), durante o desenvolvimento do projeto C3 na Chrysler entre 1997 e 1999. XP, como é mais conhecido, define um conjunto de práticas que, usadas juntas, podem ajudar projetos de software e equipes a obterem resultados melhores. Foi concebido para ser aplicado num escopo bem definido: equipes pequenas e médias desenvolvendo software com requisitos em mudança constante – um cenário bastante comum nos atuais projetos de software comerciais. Nos últimos anos, muitas empresas – no exterior e no Brasil – adotaram XP como método de desenvolvimento, obtendo resultados bastante animadores.

Mas por que estamos tratando de um método de desenvolvimento na Java Magazine? O XP é um dos mais populares métodos usados por desenvolvedores Java, e Java é uma das tecnologias mais utilizadas em projetos XP (veja também o quadro “XP e Java”). Então vale a pena conhecer esse método de desenvolvimento tão popular na comunidade Java!

 

Mudanças em foco

 

Um dos princípios fundamentais no desenvolvimento de software da forma tradicional diz que o custo de mudanças nos projetos cresce de maneira exponencial ao longo do ciclo de desenvolvimento (veja a Figura 1a). Tal princípio justifica uma abordagem de desenvolvimento às vezes conhecida como “up front” – dedicar um esforço muito grande à análise/design do software antes de sua implementação, para evitar futuras modificações, que se tornam cada vez mais dispendiosas ao longo do tempo.

O problema é que este argumento contraria a natureza fundamental do desenvolvimento, de que mudanças são constantes ao longo de todo o ciclo de vida. O XP reconhece que a mudança é um elemento comum em projetos de software. Em vez de tentar evitá-la, deve-se criar um meca-

...

Quer ler esse conteúdo completo? Tenha acesso completo