Extreme Programming , Engenharia de Software, Qualidade de Software, Metodologia de Desenvolvimento, Processos Ageis de Desenvolvimento, XP. Resumo: Este artigo tem por objetivo apresentar a metodologia de desenvolvimento agil de software denominada Extreme Programming. Serao abordadas, de forma resumida, as praticas, valores, e os papeis disponiveis a cada integrante de uma equipe de XP. Alguns comparativos com outras metodologias sao feitas ao decorrer do trabalho enaltecendo as propriedades que definem a Extreme Programming. Palavras-chave: Extreme Programming , Engenharia de Software, Qualidade de Software, Metodologia de Desenvolvimento, Processos Ageis de Desenvolvimento, XP. Indice 1. Introducao 2. Extreme Programming (XP) o 2.1. Valores da XP 2.1.1 Feedback 2.1.2 Comunicacao 2.1.3. Simplicidade 2.1.4. Coragem o 2.2. Praticas 2.2.1. Cliente Disponivel ou Presente 2.2.2. Jogo do Planejamento 2.2.3. Stand up meeting 2.2.4. Programacao em par 2.2.5. Refactoring 2.2.6. Desenvolvimento guiado por testes 2.2.7. Codigo coletivo 2.2.8. Padroes de desenvolvimento 2.2.9. Design Simples 2.2.10. Metafora 2.2.11. Ritmo Sustentavel 2.2.12. Integracao continua 2.2.13. Releases curtos o 2.3. Equipe XP 2.3.1. Gerente de projeto 2.3.2. Coach 2.3.3. Analista de teste 2.3.4. Redator tecnico 2.3.5. Desenvolvedor 3. Conclusoes 4. Referencias 5. Autores 1. Introducao A muito tempo a industria de software vem passando por grandes transformacoes e novos desafios, entre eles desenvolver softwares com qualidade, no menor tempo possivel e que atendam as necessidades dos clientes. Com estes novos desafios a industria de software passou a dar valor a algumas areas da informatica, como a engenharia de software e qualidade de software, com intuito de atender as exigencias do mercado. A industria comecou a utilizar metodologias de desenvolvimento de software, adotou metricas e padroes para alcancar niveis aceitaveis de qualidade, prever custos e prazos em seus projetos. Porem ainda sao poucos os projetos que conseguem obter pleno sucesso em seu desenvolvimento, onde prazo e orcamento estabelecidos e as necessidades do cliente sejam realmente atendidas. Pesquisa feitas pelo Standish Group International em 1994, um pouco antes da adocao de metodologia de desenvolvimento pelas industrias, apontam que apenas 16, 2 % dos projetos de software atingiam sucesso (prazo, orcamento e funcionalidades atendidas). Em 2002 esta taxa havia subido para 34 %, ou seja, um aumento de 100 % em 8 anos. Mas estas taxas ainda se encontram muito aquem do esperado pelo mercado. As metodologias utilizadas nos projetos pesquisados eram as mais variadas, podemos citar modelo em cascata, modelo iterativo e alguns com modelo em prototipacao. Neste trabalho sera utilizado o termo desenvolvimento tradicional para os projetos que se utilizem do modelo em cascata e todos os outros que se baseiam nele. Analisando os motivos para a baixa taxa de sucesso dos projetos desenvolvidos com modelos tradicionais, cita-se os principais motivos e bastante comuns entre eles: Tempo elevado entre cada fase do projeto, nao acompanhando as mudancas de requisitos do projeto; Falta de conhecimento por parte do cliente da sua real necessidade, dando margem as especulacoes dos desenvolvedores; Forte linearidade no desenvolvimento do projeto; Focando nas fragilidades do modelo tradicional, surgiram metodologias para desenvolvimento agil de software. Cita-se algumas caracteristicas destas metodologias: Foco nas pessoas, nao no processo, evitando especulacoes dos desenvolvedores;