Extreme programming
-
Upload
vitor-castro -
Category
Technology
-
view
409 -
download
2
description
Transcript of Extreme programming
Problemas no desenvolvimento de software: risco
Deslize de cronogramas
Projeto cancelado
O sistema “azeda”Taxas de erros
Negócio mal compreendido
Modificações no negócio
Falsa riqueza de funções
sábado, 28 de setembro de 13
sábado, 28 de setembro de 13
sábado, 28 de setembro de 13
O que é ?
sábado, 28 de setembro de 13
O que é XP ?
• Metodologia leve para times pequenos e médios
• Principal atividade de um projeto de software é a codificação
• Uso disciplinado das práticas-modelos
• Times de dois a dez programadores
sábado, 28 de setembro de 13
Por que o eXtreme ?
• Princípios e práticas do senso comum a níveis eXtremos
• revisão de código
• testes
• simplicidade
• arquitetura
• interações curtas ...
sábado, 28 de setembro de 13
Por onde começar ?
sábado, 28 de setembro de 13
sábado, 28 de setembro de 13
Valores
• Comunicação
• Simplicidade
• Feedback
• Coragem
• Respeito
sábado, 28 de setembro de 13
Comunicação
sábado, 28 de setembro de 13
Simplicidade
• Qual a coisa mais simples que poderia funcionar ?
• Simplicidade não é fácil.
sábado, 28 de setembro de 13
Feedback
• Utilização mais cedo possível do software
• Desenvolvedor para cliente e vice-versa.
• Feedback em todas as escalas de tempo
• minutos / dia / semana / mês
sábado, 28 de setembro de 13
Coragem
• Ex.:
• Contrato de escopo variado
• Assumir atraso e problemas
• Refatoração contínua
• Programação em par
sábado, 28 de setembro de 13
Respeito
• “Respeitar o ponto de vista do outro é essencial para que um projeto de software seja bem sucedido”
sábado, 28 de setembro de 13
Princípios
• Feedback rápido
• Simplicidade presumida
• Mudanças incrementais
• Aceitação a mudanças
• Alta qualidade
sábado, 28 de setembro de 13
Como aplicar ?
sábado, 28 de setembro de 13
usando as práticas !!!
sábado, 28 de setembro de 13
Práticas do XP• Jogo de planejamento
• Entregas frequentes
• Metáfora
• Programação em pares
• Propriedade coletiva
• Integração contínua
• Cliente presente
• Projeto simples
• Testes
• Refatoração
• Padrões de codificação
• Stand up meeting
sábado, 28 de setembro de 13
Jogo de planejamento
• Escopo para a próxima versão
• Estimativas
• Priorização
• User Story
sábado, 28 de setembro de 13
Entregas frequentes
• Requisito de maior valor para o negócio
• Reduzir o tempo do ciclo de entregas
sábado, 28 de setembro de 13
Metáfora
• Ajuda a equipe e os envolvidos no entendimento dos elementos básicos e seus relacionamentos
sábado, 28 de setembro de 13
Programação em pares
• “Duas pessoas, uma máquina, um teclado e um mouse”
sábado, 28 de setembro de 13
Propriedade coletiva
• “Todos são responsáveis pelo sistema inteiro”
sábado, 28 de setembro de 13
Integração contínua
• O código é integrado e testado sempre.
sábado, 28 de setembro de 13
Cliente presente
• “Pessoa que realmente vai usar o sistema quando estiver em produção”
sábado, 28 de setembro de 13
Projeto simples• É aquele que:
• Executa todos os testes
• Não tem lógica duplicada
• Expressa todas as intenções importante para os programadores
• Tem menor número possível de classes e métodos
• “Implemente para hoje, projete para o amanhã”
sábado, 28 de setembro de 13
Teste• Levar a atividade de Teste ao eXtremo
• Qualquer função que não tenha teste simplesmente não existe
sábado, 28 de setembro de 13
Refatoração
• Melhoria do código sem alteração no comportamento
sábado, 28 de setembro de 13
Padrões de codificação
• O time define a forma como vai desenvolver (nomeclatura, padrões ...)
sábado, 28 de setembro de 13
Stand up meeting
sábado, 28 de setembro de 13
Papéis
• Programador
• Treinador (Coach)
• Tracker
• Testador
• Cliente
sábado, 28 de setembro de 13
Ciclo de vida
sábado, 28 de setembro de 13
“As peças individuais são simples. A riqueza vem da interação entre
as partes” (Beck, 2004)
sábado, 28 de setembro de 13
Associação do XP com SCRUM
sábado, 28 de setembro de 13
Referências
• http://www.extremeprogramming.org/
• Beck, K. Programação eXtrema (XP) explicada - acolha as mudanças (2004)
• Sbrocco, J. Macedo, P. Métodologias Ágeis - Engenharia de software sob medida (2012)
• Teles, V. Extreme Programming (2004)
sábado, 28 de setembro de 13
Referência das imagens• http://www.threeriversinstitute.org/Extreme%20Programming%20in%20Pictures.htm
• http://www.oficinadanet.com.br/artigo/gerencia/extreme_programming_xp_em_2_minutos
• http://improveit.com.br/
• http://www.xpce.org/
• http://paraibacooperativo.wordpress.com/cooperativismo-duvidas-frequentes/
• http://desenvolvimentoagil.com.br/xp/praticas/refatoracao
• http://www.slideshare.net/luizclaudiosilva/praticas-geis-de-desenvolvimento-de-software-v3
• http://infortecsolutions.com.br/otimizacao-de-sites
• http://www.cafeagile.com.br/wp-content/uploads/2012/01/standup2.jpg
• http://www.devmedia.com.br/ferramentas-de-integracao-continua-tornando-o-trabalho-de-equipes-mais-organizado-engenharia-de-software-7/11035
sábado, 28 de setembro de 13