SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos
-
Upload
paulo-cesar-m-jeveaux -
Category
Technology
-
view
1.454 -
download
0
description
Transcript of SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos
SCRUM e XPdesenvolvimento ágil de software
experiências e relatos do dia a dia de uma pequena empresa
Paulo César M. Jeveaux@jeveaux
@jeveaux(jéve, jêve, jevô, jevú, jevax, já foi, já vou, já vai ...)
quevergonha
Paulo César Machado Jeveaux
jevô
o processo tradicional
Quase sempre a civil
Inspirado em outrasengenharias
Quase sempre a civil
Inspirado em outrasengenharias
mas...... na verdade
code and fix!
Dá pra afastar um pouquinho?
Custo de mudanças
algo de erradonão está certo!
precisamos melhorar
Motivação
“A experiência de décadas seguindo pesadas prá4cas prescri4vas tornou evidente que:
➡ Os clientes ou usuários não tem certeza do que eles querem.
➡ Eles tem dificuldade de expressar tudo o que querem e pensam.
➡ Muitos detalhes do que eles querem só serão revelados durante o desenvolvimento.
➡ Os detalhes são complexos para as pessoas.
➡ Na medida em que elas vêem o produto sendo construído, elas mudam de idéia.
➡ Forças externas trazem mudanças ou melhorias nos requisitos.”
Source: Agile and Iterative Development: A Manager's Guide by Craig Larman
Manifesto ÁgilEstamos descobrindo maneiras melhores de desenvolver software fazendo-o nós mesmos e ajudando outros a fazê-lo. Através deste trabalho, passamos a valorizar:
Indivíduos e interação entre eles mais que processos e ferramentasSoftware em funcionamento mais que documentação abrangente
Colaboração com o cliente mais que negociação de contratosResponder a mudanças mais que seguir um plano
Ou seja, mesmo havendo valor nos itens à direita,valorizamos mais os itens à esquerda.
Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, JamesGrenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor,
Ken Schwaber, Jeff Sutherland, Dave Thomas
©2001, Autores acima citados.
Esta declaração pode ser livremente copiada, sob qualquer forma,mas apenas na sua totalidade através do presente aviso.
Sempre7%
Frequentemente13%
Às vezes16%
Raramente19%
Nunca45%
Utilização de funcionalidades de software
Raramente19%
Nunca45%
desperdício
Sempre7%
Frequentemente13%
Pareto
20% das funcionalidadesgeram 80% do valor
SCRUM?
framework
framework
iterativo
framework
iterativoincremental
framework
iterativoincremental
gerenciamento
de qualquer
produto ou atividade
complexa
Checklist: SCRUM
• Gerenciamento empírico e controle de processos.
• Baseado no feedback das iteracões.
• Usado para gerenciar projetos complexos desde 1990.
• Equipes multi-funcionais e auto-gerenciadas.
• Escalável para projetos grandes, longos e distribuídos.
• Comunicação como fator crítico.
Organizações e papéis
product owner
visão
ROI
priorizadatas
releasesconteúdo
product owner
visão
ROI
priorizadatas
releasesconteúdo
aceitaou
rejeita
product owner
time
comprometidoauto-gerenciado
comunicação constante
multi-disciplinar
time
comprometidoauto-gerenciado
comunicação constante
multi-disciplinar
Autoridade!
time
scrum master
Autoridade
protetor aplica as regrasdo SCRUMresolve
problemas
mantém o foco no sprint goal
scrum master
Autoridade
protetor aplica as regrasdo SCRUMresolve
problemas
Facilitador!mantém o foco no sprint goal
scrum master
timeboxed
tudo!
Tem um tempo pré-determinado
Tem um tempo pré-determinado
daily meeting: 15 minutossprint planning: ~4 horas
sprint: 2 a 4 semanas
o trabalho deve ser planejado para caber no sprint e não o contrário
scrum flow
product backlog
desejos do PO
cresce como projeto
iterativo
comece pelomais importante
desejos do PO
cresce como projeto
iterativo
comece pelomais importante
ROI
sprint planning
documentação!
time + scrum master+ product ownerPO prioriza itens
para o sprint
time tira dúvidas
time converte as funcionalidadesem tarefas técnicas
time define o objetivodo sprint (sprint goal)
sprint planning
planning poker
sprint planning 2
arquiteturadesign
time conversa sobre aparte técnica das tarefas
o time decide até ondepode se comprometer
eventualmente o scrum master negocia com o PO
sprint planning 2
Sprint backlog
tarefas que o time secomprometeu a fazer no sprint
atualizado constantemente
scrum master gerencia as atividades em andamento e
concluídas
daily meeting
reunião em pé!verifica-se o que foifeito no dia anterior
há impedimentos?
define-se o que seráfeito no dia
todos os diasno mesmo lugar
no mesmo horáriocomprometa-se!
daily meeting
burndown chart
burndown chart
• •
sprint review
retrospectiva
retrospectiva
Custo de mudança
Custo de mudança
XPExtreme Progamming
O que é XP?
Extreme ProgrammingÉ um conjunto de princípios, valores e práticas
Onde...
... os princípios conectam os valores às práticas
valorescomunicação, coragem, feedback, respeito e simplicidade
valorescomunicação, coragem, feedback, respeito e simplicidade
princípiosauto semelhança, melhoria, benefício mútuo, oportunidade, diversidade, passos de bebê, economia, qualidade, falha, redundância, fluidez, reflexão, humanismo, responsabilidade
valorescomunicação, coragem, feedback, respeito e simplicidade
princípiosauto semelhança, melhoria, benefício mútuo, oportunidade, diversidade, passos de bebê, economia, qualidade, falha, redundância, fluidez, reflexão, humanismo, responsabilidade
práticasambiente informativo, equipe integral, build de 10 minutos, folga, ciclo semanal, histórias, integração contínua, TDD, programação em par, design incremental, sentar-se junto, trabalho energizado
• O XP é uma metodologia rigorosa e disciplinada que requer o cumprimento de suas práticas para o sucesso na adoção.
• O XP pode ser usado com CMM e UPs.
• A preocupação não é com qualidade (que deve natural) e sim com a saúde do sistema (segundo Kent Beck).
[Cristiano Milfont]
adapte-se
teste tudo antes - TDD
Coragem
loucura confiança
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 de conhecimento
• Pressão do par
• Simplicidade
• Velocidade
Velocidade
SCRUM resolve!?
3papéis
product ownerscrum master
time
3papéis
product ownerscrum master
time
3cerimônias
sprint planningdaily meetingsprint review
3papéis
product ownerscrum master
time
3cerimônias
sprint planningdaily meetingsprint review
3artefatos
product backlogsprint backlog
burn down chart
SCRUM sem <?> é uma casca oca para desenvolver
software
SCRUM sem <?> é uma casca oca para desenvolver
software
XP
SCRUM sem <?> é uma casca oca para desenvolver
software
XP
FDD
SCRUM sem <?> é uma casca oca para desenvolver
software
XP
FDD
engenharia!
e XP, resolve!?
Semelhanças: SCRUM e XP
SCRUM XP
Sprint
Sprint Planning
Daily SCRUM
Retrospective
Iteraction
Iteraction Planning
Stand-up Meeting
Reflection
SCRUM e XPNão os confunda. SCRUM e XP se
complementam muito bem, mas são diferentes.
não há bala de prata
obrigado!
Paulo César M. Jeveaux@jeveaux
Referências• Fotos
• ImproveIt - http://www.improveit.com.br
• Jorge Falcão - http://www.flickr.com/photos/68667282@N00/
• Tlaukkanen - http://www.flickr.com/photos/tlaukkanen/
• Evandro Flores - http://www.flickr.com/photos/evandroflores/
• Bardusco - http://www.flickr.com/photos/bardusco/
• Luiz Aguiar - http://www.flickr.com/photos/laguiar
• Cuba Gallery - http://www.flickr.com/photos/cubagallery/
• Materiais
• Extreme Programming - http://extremeprogramming.org
• Igor Macaubas e Marcos Pereira - http://www.slideshare.net/macaubas/seminario-scrum-presentation
• ImproveIt - http://www.improveit.com.br/scrum
• ImproveIt - http://www.improveit.com.br/xp
• Manifesto Ágil - http://manifestoagil.com.br
• Guilherme Chapiewski - http://www.slideshare.net/gchapiewski/desenvolvimento-gil-com-xp-e-scrum-presentation
• Cristiano Milfont - http://www.slideshare.net/cmilfont/extreme-programming-148802
SCRUM e XPdesenvolvimento ágil de software
experiências e relatos do dia a dia de uma pequena empresa
Paulo César M. Jeveaux@jeveaux