XPRecife Madson Menezes Costa Ricardo de Oliveira Cavalcanti Revista Exame A Maior Angústia: Levantamentos apontam a preocupação número 1 dos presidentes das maiores empresas do mundo: a falta de agilidade de suas companhias Pesquisa IBM 450 presidentes de corporações mundiais 80% dizem que a falta de agilidade impede o crescimento do faturamento e do lucro Pesquisa Heidrick & Struggles 540 presidentes em 40 países 88% dizer ser prioridade em suas companhias Velocidade Flexibilidade Capacidade de adaptação a mudanças Em resumo Agilidade é a aposta do mercado para o crescimento dos lucros Maior Produtividade Melhor aceitação do cliente E em software?? Também somo paquidermes?? Medo da mudança “Fear is the path to the dark side” Uma pergunta “Como você programaria se tivesse tempo suficiente?” Kent Beck Possíveis respostas Mais testes? Mais projeto e arquitetura? Menos pessoas? Mais qualidade? Programando ao Extremo Levar todas as boas práticas ao Extremo Se testar é bom, vamos testar toda hora!! Se projetar é bom, vamos fazer disso parte do trabalho diário de cada pessoa! Se integrar é bom, vamos integrar a maior quantidade de vezes possível! Se iterações curtas é bom, vamos deixar as iterações realmente curtas! Engenharia de Software tradicional Requisitos Especificação Implementação Revisão Cliente Analista Testes Desenvolvedor Revisor Manutenção significa modificar o mínimo possível Mudanças são difíceis e caras Testador Premissa extrema Standard SE Cost of Change XP time O que XP? “Extreme Programming é uma metodologia ágil para equipes pequenas e médias desenvolvendo software com requisitos vagos e em constante mudança." Kent Beck, criador do XP Agile Manifesto (2001) Individuals and interactions over processes and tools Communication Working software over comprehensive documentation Travel light Customer collaboration over contract negotiation On-Site Customer Responding to change over following a plan Feedback As quatro variáveis Eleve o custo e você pode fazer um pouco mais, mas colocar dinheiro não resolverá Tempo demais pode ser prejudicial, mas pouco tempo pode comprometer a qualidade Como se controla a qualidade? Escopo deve ser o controle Valores Simplicidade Faça sempre da maneira mais simples e que vá funcionar Comunicação Dentro Feedback Testes do time, entre o cliente e a equipe... de aceitação, presença do cliente Coragem Para fazer refactoring, para jogar fora o código e refazer tudo no dia seguinte Respeito Trabalho em equipe Cliente Presente Práticas Posse Coletiva Testes de Aceitação Test-Driven Development Programação em pares Integração Contínua Coding Standard Refactoring Design Simples Planning Game Passo Sustentável Metáfora Releases Curtas Adaptado de xprogramming.com XP roles Tracker Coach Goal Donnor Manager Analista de Testes Gold Owner Programador Grupo de usuários e lista de discussão Promover a cultura ágil Eventos e encontros Cronograma 10 de fev: Seminário de Refactoring em BD 17 de fev: Discussão do artigo Practice: That's What We Do - Ron Jeffries. 24 de fev: Seminário de AMDD 3 de mar: Discussão dos artigos XP na Universidade e Being Extreme in the Classroom: Experiences Teaching XP