De que se trata o artigo

Este artigo apresenta em detalhes os diferentes conceitos que compõem a extreme programming. Neste sentido, são considerados seus princípios, valores e práticas.

Em que situação o tema útil

Conhecer bem uma metodologia é fundamental para sua correta aplicação. O conteúdo apresentado neste artigo é útil para todos aqueles que queiram conhecer em detalhes a programação extrema. Esta se trata de uma abordagem de desenvolvimento leve, eficiente, de baixo risco, flexível, previsível, científica e divertida de desenvolver software, caracterizando-se como uma metodologia de desenvolvimento ágil de software.

Resumo DevMan

Este artigo aborda a metodologia ágil mais amplamente utilizada: a Extreme Programming, ou XP. Ela vem sendo empregada com êxito nos grandes centros de desenvolvimento de software, como na Europa, nos Estados Unidos e, mais recentemente, no Brasil. São identificadas as características que a tornaram sucesso, como programação em par e a constante participação do cliente. Consiste em um conjunto de valores, princípios e práticas que diferem das demais metodologias e garante uma produção econômica, flexível e em menos tempo.

Autores: Dhiego Henrique Alexandre do Carmo e Paulo Henrique Nicézio Alves

O mundo do desenvolvimento de software tradicional inspirou-se na indústria para fazer com que as atividades produzam sempre um resultado previsto e sem perda de tempo, além de atribuir papéis diferentes a cada membro da equipe. Com isso, a equipe poderia focar na execução ao seguir um modelo determinístico que garantiria que a especialização seria corretamente transformada em software.

O modelo cascata, mais popular das metodologias tradicionais e base para vários outros processos de desenvolvimento, sugere uma produção linear seguindo uma sequência de fases sem qualquer sobreposição ou passos iterativos onde a fase atual utiliza o resultado da anterior. A fase de análise inicia o projeto com a equipe levantando e compreendendo os requisitos; o design baseia-se na análise para definir a arquitetura do sistema; a implementação é realizada a partir dos resultados obtidos da arquitetura e da análise; a fase de testes visa verificar se o sistema atende às necessidades e faz correções necessárias; com o sistema implementado, os usuários finais poderão utilizá-lo na fase de implantação; por fim, a manutenção ocorre durante toda a vida do software.

Enquanto não era necessário considerar mudanças e adaptações, o modelo cascata era suficiente para atender a demanda do mercado. A partir do momento em que a capacidade de produzir software aumentou, também cresceu a complexidade dos sistemas, ocasionando constantes imprevistos. Diante desse cenário, o modelo cascata passou a ser aplicável apenas em situações em que os requisitos são bem definidos e estáveis, mas inadequado para considerar as características dos sistemas modernos, que exigem frequentes mudanças.

Para suprir as crescentes exigências do mercado, tornaram-se necessárias metodologias que se adaptassem às novas necessidades dos usuários.

Segundo Teles (2006), ao escrever uma redação, passamos os primeiros minutos explorando o assunto mentalmente, tentando encontrar os tópicos que serão tratados, a ordenação e a forma. Em seguida, começamos a escrever as primeiras linhas. Após alguns parágrafos, você provavelmente alteraria alguns trechos já escritos, de modo a aprimorá-los. Ao final, você faria uma re-leitura, corrigiria algumas partes, retocaria alguns trechos, até que o texto final estivesse adequado. Essa atividade é executada de maneira não linear e caracteriza-se pelas sucessivas revisões e correções até que a obra adquira a sua forma final, gerando um feedback a cada re-leitura.

O desenvolvimento ágil segue esse mesmo princípio: não há uma linearidade, padronização e determinismo, abstraindo conceitos implícitos em cada etapa.

Neste contexto, um grupo de especialistas em desenvolvimento de software reuniu-se para discutir uma nova maneira de produzir software de qualidade em curto tempo, iniciando o movimento ágil. Foi assinado então o Manifesto Ágil.

Extreme Programming ...

Quer ler esse conteúdo completo? Tenha acesso completo