XP - Extreme Programmer
Extreme Programming (XP)
Este capítulo apresenta o processo ágil de desenvolvimento de software Extreme Programming (XP). A seção 3.1 apresenta uma visão geral do capítulo e a seção 3.2 uma introdução geral sobre processos de software. A seção 3.3 explica alguns conceitos básicos de XP como valores e princípios. A seção 3.4 procura mostrar uma visão geral da estrutura e dinâmica de XP. A seção 3.5 descreve quando não se deve usar XP. A seção 3.6 apresenta uma visão geral sobre a modelagem de processos de software e a seção 3.7 mostra a modelagem de XP usando SPEM. Finalmente, a seção 3.8 apresenta as considerações finais do capítulo.
3.1 Visão geral
Um processo de software consiste de um conjunto de atividades realizadas para a sua construção e manutenção. Ao longo dos últimos anos, a crescente demanda por software de qualidade, aliada à pressão em relação aos prazos de entrega fizeram com que a eficiência de muitas técnicas e processos tradicionalmente utilizados passasse a ser questionada.
Diante deste contexto, os processos ágeis como Extreme Programming [28, 29], passaram a atrair o interesse dos meios acadêmico e industrial. Devido à simplicidade e agilidade adotada na solução de problemas através do uso de eficientes práticas de programação, as equipes que usam XP vêm obtendo sucesso em seus projetos o que vem contribuindo para o aumento da sua popularidade.
Este capítulo procura apresentar Extreme Programming e sua modelagem utilizando a linguagem SPEM [48]. São apresentados os principais conceitos relativos a
XP que são seus valores, princípios, práticas, papéis e seu ciclo de vida. O final do capítulo apresenta uma visão geral de SPEM e a sua utilização na modelagem de XP.
___________________________________________________________________ 33
3.2 Processos de software
Um processo de software pode ser definido como um conjunto de atividades executadas para desenvolver, dar manutenção e gerenciar sistemas de software