Extreme Programming João Gabriel Pedro Ramos Renan Santos
1 - Introdução Programação Extrema (do inglês eXtreme Programming), XP, é uma metodologia para equipes, utilizada em empresas de todos os tamanhos para o desenvolvimento de softwares com qualidade, dentro do menor tempo possível e que atendam as necessidades do cliente. Em XP todo participante da equipe é uma parte integral do time. Todo o time trabalha junto do cliente, o qual diariamente está participando de reuniões e planejamento do trabalho.
2 - História Foi criado por Kent Beck quando trabalhava Chrysler Comprehensive Compensation System (C3), projeto de folha de pagamento. Algumas outras práticas, como modularizar, refatorar e projetos incrementais foram descritos por Leo Brodie.
3 - Origens Surgiu da necessidade de se trocar os paradigmas de programação seguidos por empresas. O crescimento da internet contribui para a expansão dessa metodologia de projetos, impulsionados pela velocidade de mercado e o aumento da competividade de negócios. Além da diminuição do ciclo de vida dos produtos.
4 - Estado Atual A metodologia prima pela qualidade de do software desenvolvido que atenda as reais necessidades do cliente e seja entregue dentro do prazo definido. Alguns praticantes da metodologia definem XP como a prática e a perseguição da mais clara simplicidade, aplicado ao desenvolvimento de software.
5 - Conceitos Essa metodologia é voltada para projetos cujos requisitos mudem com frequência, utilizem desenvolvimento orientado a objetos, equipe de até 12 desenvolvedores e desenvolvimento incremental. A XP Busca o máximo de valor a cada dia de trabalho da equipe para o seu cliente. Em um curto espaço de tempo o cliente terá um produto que possa ser utilizado, podendo aprender com o mesmo e reavaliar se o que foi desenvolvido é realmente o desejado.
6 - Práticas: Feedback: Ele relata as diferentes dimensões do sistema desenvolvido, ou seja, o cliente pode ter um sistema que sana suas reais necessidades, ou seja, o produto já está estabelecido com as devidas necessidades e oferece tudo o que é realmente importante.
6.2 - Comunicação: A prática do contato direto entre cliente e desenvolvedor, para evitar que coisas indesejáveis sejam acrescentadas ou a falta de recursos no programa, além de dúvidas sobre programa. Facilita o entendimento do cliente com o programa, por ter mais contato com o programador.
6.3 - Simplicidade: XP converge problemas para soluções simples. Logo depois, fucionalidades extras podem ser inseridas. A ideia é projetasr algo que funcione. Por isso, é necessário o feedback entre cliente e desenvolvedores. A qualidade da comunicação é muito importante neste momento, pois é um ponto onde programa estará se desenvolvendo.
6.4 - Coragem: Esse item aborda aspectos, como sempre projetar o código para hoje e não para manhã, pois é suficiente entregar algo funcionando, "upgrades" são feitos posteriormente. Aborda a coragem no sentido literal da palavra, pois se algo foi mal feito, o grupo tem que ter coragem para reiniciar tudo do zero.
6.5 - Respeito: O valor do respeito envolve não somente respeito aos outros, mas também a si mesmo. Os programadores não podem acrescentar ao projeto códigos com falha de compilação, por exemplo.
8 - Referências: [1] Apresentando XP. Encante seus clientes com Extremming Programming; dia: 18/03/ [2] Extreme Programming; dia: 17/03/