desenvolvimento Ágil e xp
DESCRIPTION
Palestra sobre Desenvolvimento Ágil e XP dada por Paulo Fagiani no primeiro encontro do ruby+web (http://rubymaisweb.ning.com)TRANSCRIPT
BEM VINDOS!
Metodologia de Desenvolvimento de Software
EXTREME PROGRAMMING
criar software não é fácil...
... e tem sempre alguém pra jogar tomate!
você conhece o windows?
Boa notícia:
Software pode dar certo!
mas software não se faz assim!
Nem assim!
mais que tecnologia, software tem a ver com gente!
Estatísticas históricas sobre software
• Apenas 26% dos projetos são terminados nas condições planejadas
• 46% dos projetos sofrem alterações de prazo, escopo e orçamento para poder continuar a existir
• 20% dos projetos falham e não são entregues
Mais blá, blá, blá...
• Apenas 1 a cada 5 projetos conquista satisfação aceitável dos usuários
• 51% das implantações de software pronto fracassam como solução
• Um projeto já nasce com mais chance de dar errado do que certo
• 61% dos usuários de sistemas se dizem frustrados em suas expectativas em relação à funcionalidade do software
motivo: utilização de funcionalidades
Nunca45%
Sempre7%
Freqüentemente13%
Às vezes16%
Raramente19%
Horas extras
madrugadas
fim de semana
resultado:
Raramente19%
Nunca45%
64% de desperdício!
... e ainda ouve bastante...
Nunca80% Sempre
7%
Freqüentemente13%
20% das funcionalidades geram 80% do valor!
foco e determinação
resultado: sombra e água fresca...
falhas de comunicação
telefone sem fio no quartel
youtube.com
Análise
9 meses depois
Sequencial
sempre falta de tempo
resultado
consequência
por que é assim?
Mentalidade
Cascata
Custo da Mudança
Mudança
Mudança: problema ou oportunidade?
Mundo Físico
Poderia chegar esse prédio um metro
pra esquerda?
Mundo Digital
Mundo Digital
• Fluidez
• Maleabilidade
• Invisibilidade
• Complexidade (elementos distintos)
• Baixo custo de manufatura
• Rápida evolução
fábrica de software?
Chef
com a receita, copiar é fácil!
Escritor
jogamos com as regras erradas
Mudanças na visão ágil
EXTREME PROGRAMMING
De quem é a responsabilidade?
Participaçao dos clientes é fundamental!
participação do cliente
este é o grande desafio!
Planejamento
chega de cascata!!!
Planejamento iterativo
Planejamento Inicial
8 Semanas
Releases
Planejamento de Releases
Planejamento de Releases
cliente tem benefício cedo
Iterações
Iterações
8 Semanas
I1 I2 I3 I4 I5 I6 I7 I8
Iteração (ciclo semanal)
SEG TER QUA QUI SEX
Jogo do Planejamento
cliente escreve histórias
desmistificando as histórias
desenvolvedores estimam
Planning Poker
Priorização
Quadro de Histórias
Aguarde e confie
Iteração (ciclo semanal)
SEG TER QUA QUI SEX
Quadro de Histórias
Reunião diária
Reunião diária
Tarefas visuais
Modelagem visual
Equipe colaborativa
Equipe colaborativa
Iteração (ciclo semanal)
SEG TER QUA QUI SEX
Acompanhamento do cliente durante a iteração
Histórias terminam
Iteração (ciclo semanal)
SEG TER QUA QUI SEX
Revisão da iteração
retrospectiva
Retrospectiva
Retrospectiva
Retrospectiva
Recomeço
SEG TER QUA QUI SEX
Adaptabilidade
Coragem e insensatez vs. coragem e confiança
testes antes
testes antes
testes antes
Programação em par
• Todo código é escrito em par
• Um digita, enquanto o outro revisa, corrige e sugere
• Redução drástica de bugs
• Disseminação do conhecimento
• Pressão do par
• Simplicidade
• Velocidade
Velocidade
Débitos técnicos
Refatoração