Download - Métodos ágeis
Métodos Ágeis
Evandro João [email protected]
Agenda
Métodos Ágeis
LeanScrum
Mudança
Prática
● Porque meu projeto termina com sucesso?● Porque meu projeto falha?
“Agile is not a set of practices, but a core set of
beliefs and principles”
Jim Highsmith
Entregar Valor!Entregar Valor!ROI!ROI!
Métodos ágeis
● Retorno do Investimento● Adaptação● Pessoas● Comunicação● Feedback● Cultura
Lean
Fonte: http://www.strategosinc.com/lean_manufacturing_history.htm
Lean
● Produção em massa X Lotes de produção● Abordagem bottom-up
● Liderança servidora● Trabalhadores multifuncionais
● Just in time● Eliminar o desperdício
Eliminar o desperdício
● Estoque● Excesso de produção● Processos extras● Transporte● Movimento● Espera● Defeitos
Eliminar o desperdício Desenvolvimento de software
● Partially done work● Extra Features● Relearning● Hand-offs● Task Switching● Delays● Bugs
Kaizenmudança para melhor
● Melhoria contínua● “Hoje melhor do que ontem, amanhã melhor do
que hoje!”
Visibilidade
Kanban
Prática
Projetos de software
● Chaos Report – Standish Group
Projetos de software
"A experiência de décadas seguindo pesadas práticas prescritivas tornou evidente que:
Os detalhes são complexos para as pessoas.
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.
Na medida em que elas veem o produto sendo construído, elas mudam de ideia.
Forças externas (como um produto ou serviço da concorrência) trazem mudanças ou melhorias nos requisitos."
* Fonte: Agile and Iterative Development: A Manager's Guide - Craig Larman
Uso de funcionalidades
Standish Group, 2002
Projetos de software
Req
uisi
tos
Longe de um acordo
Perto de um acordo
TecnologiaPerto da certeza Longe da certeza
Simples
Complicado
Complexo
Anarquia
Ref. : Strategic Management and Organizational Dynamics by Ralph Stacey, in Agile Software Development With Scrum by Ken Schwaber and Mike Beedle.
8 passos da mudança1 - Crie um senso de urgência;
2 - Forme o time que vai liderar a mudança;
3 - Estabeleça claramente a nova visão e a estratégia;
4 - Comunique sempre e de forma simples;
5 - Remova as barreiras;
6 - Crie vitórias de curto prazo;
7 - Não desacelere;
8 - Faça a mudança permanecer;Fonte: O coração da mudança - Kotter
Scrum
Desenvolvimento iterativo e incremental
SCRUMSCRUM
Jeff Sutherland, PhD
Ken Schwaber
O que é Scrum?
● Processo iterativo e incremental para desenvolvimento de qualquer produto e gerenciamento de qualquer trabalho
● Provê agilidade necessária para responder rapidamente às mudanças de requisitos
● Processo ágil com foco na entrega do maior valor para o negócio no menor tempo
● Não são prescritas práticas de engenharia● É mais um framework que uma metodologia
Framework?
Scrum
Framework?
ScrumCultura organizacional
Manifesto ágil
Processos e ferramentasProcessos e ferramentas
Indivíduos e suas interações
Indivíduos e suas interações
sobre
Seguir um planoSeguir um planoResponder às mudanças
Responder às mudanças
sobre
Documentação abrangente
Documentação abrangente
Software funcionando
Software funcionando
sobre
Negociação de contrato
Negociação de contrato
Colaboração do cliente
Colaboração do cliente
sobre
Fonte: www.agilemanifesto.org
Características
Processos: Reunião de planejamento, Retrospectiva, Reunião diária, Planejamento de Release e Sprints, ...Ferramentas: Quadro Kanban, Ferramentas, Post-it, User Stories, Burndown...Pessoas: ScrumMaster, Product Owner, Time, ...
Cultura: Time multi-disciplinar, Auto-gerenciamento, Valores, Envolvimento do cliente, Entrega frequente, Liderança-colaboração, Respeito, ...
Scrum framework
•Product owner•ScrumMaster•Time (Team)
Papéis
•Sprint planning•Sprint review•Sprint retrospective•Daily scrum meeting
Reuniões
•Product backlog•Sprint backlog•Burndown charts
Artefatos
Papéis
Product Owner
● Definir a visão do produto● Gerenciar o retorno do investimento (ROI)● Definir as funcionalidades chave do produto● Priorizar e refinar os requisitos de acordo com
o valor para o negócio continuamente● Planejar as entregas (releases)● Garantir que os especialistas de domínio
estejam disponíveis para o time
Product Owner dentro do táxi!
ScrumMaster
● Responsável pelo gerenciamento do projeto● Garantir o uso do Scrum● Remover os impedimentos do time● Habilitar a cooperação entre todos os papéis e
funções● Funciona como um escudo para o time das
interferências externas
Time
● Geralmente entre 5-9 pessoas● Multidisciplinares● Auto-organizados● Deveriam estar no projeto full time● Mudanças no time somente entre as sprints
Auto-organização
Estrutura do Scrum
Fonte: www.mountaingoatsoftware.com/scrum
Sprints
● O progresso do projeto se dá em uma série de “sprints”
● Duração de 2 a 4 semanas● Duração constante: as funcionalidades é que
podem variar!● Uma parte do produto é produzida (projetada,
codificada, testada, …)● Parte do produto a ser produzida é priorizada
pelo negócio (ROI)
Prática
Fonte: Luiz Claudio Parzianellohttp://parzianello.blogspot.com/2008/08/jogos-estatsticos-lotes-de-produo-x.html
Priorização entre projetos
Fonte: Henrik Kniberg
Jan Feb Mar Abr Mai Jun Jul
Jan Feb Mar Abr Mai Jun Jul
A B C
Estratégia tradicional: “Tudo é importante, vamos fazer tudo ao mesmo tempo!”
Estratégia ágil: “Priorização e foco!”
Cascata x Iterativo e Incremental
Fonte: “The New New Product Development Game” by Takeuchi and Nonaka. Harvard Business Review, January 1986.
Em vez de fazer tudo de cada disciplina por vez...
...times Scrum fazem um pouco de tudo todo tempo.
Requisitos Projeto Codifição Teste
Cascata x Iterativo e Incremental
Desenvolvimento em Cascata
Riscos
Riscos
TempoTempo
Desenvolvimento Iterativo
Redução dos RiscosRedução dos RiscosRedução dos RiscosRedução dos Riscos
Riscos
“Não se preocupe, eu vou pensar em algo...”
Indiana Jones
Meta da Sprint
● Frase curta que deve indicar qual o foco do trabalho durante a sprint
● SMART - Specific, Measurable, Achievable, Realistic, Timed● Específico, Mensurável, Realizável, Realista e
Datado
Definição do “Pronto”
Potencialmente entregável != entregável
Sempre entregar valor
S1 S6S5S4S3S2
Iten
s té
cnic
os,
arq
uit
etu
ra..
.Iten
s c om
RO
I visíve l
Sem mudanças durante a sprint!
Mudança
Cancelando a sprint antes da sua finalização...
● O time sente que não consegue atingir a meta● O Product Owner percebe que fatores externos
influenciarão diretamente na meta da sprint● Deve-se iniciar imediatamente o planejamento
da próxima sprint
Scrum
VisãoVisão
Uma boa visão de produtopermanece relativamente constante,ao passo que o caminho para implementaçãoda visão é frequentemente adaptado.
Técnicas para Visão
● Elevator statement● Product Vision Box● Remember the Future● Project Data Sheet
Scrum
Cancel
Alteração
Reservas
ProductProductbacklogbacklog
VisãoVisão Lista de desejos priorizados e estimados
PO responsável mas todos podem contribuir
Mantido e postado visualmente
Derivado da Visão do Produto
INVEST - Independente, Negociável, Valiosa, Estimável, Pequena (Small) e Testável.
Scrum
Cancel
Alteração
Sprint2-4 semanas
Reservas
Meta da SprintMeta da Sprint
Sprint Sprint backlogbacklog
ProductProductbacklogbacklog
Planejamento
“A elaboração do melhor cronograma,usando as mais capacitadas pessoas e as melhores ferramentas, também será uma tentativa de prever o futuro. Algo que nossa espécie raramente faz bem.”
Scott Berkun
Cone da Incerteza
Estimativas no início dos projetos de software sofrem de uma incerteza altíssima,da ordem de +400% a -75% ou seja um projeto estimado em 1 ano temprobabilidades de ser algo entre 3 meses e 4 anos.
A cebola do planejamento
A cebola do planejamento
Reunião de planejamento
● Dividida em 2 partes● Priorização e estimativa do Product Backlog● Identificação e estimativa das tarefas - Sprint
Backlog
● Geralmente tem a seguinte duração:
Priorização
Vs.
Valor Risco
Técnicas de Priorização
● Kano: composta por entrevistas com os usuários e opiniões dos especialistas
● Theme Screening: composta apenas por opiniões dos especialistas baseadas em comparações realizadas com um tema importante
● Buy a feature: composta por negociações entre clientes e patrocinadores com o propósito de “comprar” funcionalidades para a próxima versão
Planning Poker
Praticando Planning Poker
1 2 3 5 8 13
200 pág. en. 80 pág. br. 998 pág. en.50 pág. br.
Velocidade
● Medida de produtividade do time● Representa a taxa de trabalho que o time
conseguiu executar durante a sprint● Serve de guia para o planejamento das sprints
e releases
Scrum
Cancel
Alteração
Sprint2-4 semanas
Reservas
Meta da SprintMeta da Sprint
Sprint Sprint backlogbacklog
ProductProductbacklogbacklog
24 horas
Reunião diária
O que você fez ontem?O que você fez ontem?11
O que irá fazer hoje?O que irá fazer hoje?22
Possui algum impedimento?Possui algum impedimento?33
Scrum
Cancel
Alteração
Sprint2-4 semanas
Reservas
Meta da SprintMeta da Sprint
Sprint Sprint backlogbacklog Incremento de produtoIncremento de produto
potencialmente entregávelpotencialmente entregável
ProductProductbacklogbacklog
24 horas
Review
● O time apresenta o que foi trabalhado durante a sprint
● Demo do produto● Todos os envolvidos no projeto participam
Retrospectiva
Retrospectiva
● Todo o time discute sobre:
O que foi bomO que foi bom
O que deve ser eliminado
O que deve ser eliminado
O que deve melhorar
O que deve melhorar
Esta é apenas uma das maneiras de realizar a retrospectiva.
Scrum
Cancel
Alteração
Sprint2-4 semanas
Reservas
Meta da SprintMeta da Sprint
Sprint Sprint backlogbacklog
Incremento de produtoIncremento de produtopotencialmente entregávelpotencialmente entregável
ProductProductbacklogbacklog
Disponíveis
24 horas
Scrum
Sprint2-4 semanas
Reservas
Meta da SprintMeta da Sprint
Sprint Sprint backlogbacklog
Incremento de produtoIncremento de produtopotencialmente entregávelpotencialmente entregável
ProductProductbacklogbacklog
Alteração
Disponíveis
Cancel
24 horas
Exemplo de Product backlog
Item de backlog Estimativa
Permitir ao cliente realizar reservas. 3
Permitir ao cliente cancelar suas reservas. 5
Permitir ao cliente alterar as datas da reserva. 3
Como funcionário do hotel, preciso saber os quartos disponíveis. 8
Melhorar tratamento de exceções 8
... 30
... 50
Exemplo de Sprint backlog
TarefasTarefas
Codificar interface
Codificar camada de integraçãoTestar a camada de integração
Escrever o help online
Codificar classe Reserva
SegSeg
8
16
8
12
8
TerTer QuaQua QuiQui SexSex
Exemplo de Sprint backlog
TarefasTarefas
Codificar interface
Codificar camada de integraçãoTestar a camada de integração
Escrever o help online
Codificar classe Reserva
SegSeg
8
16
8
12
8
TerTer
4
12
16
8
QuaQua QuiQui SexSex
Adicionar log de erros 8
Exemplo de Sprint backlog
TarefasTarefas
Codificar interface
Codificar camada de integraçãoTestar a camada de integração
Escrever o help online
Codificar classe Reserva
SegSeg
8
16
8
12
8
TerTer
4
12
16
8
QuaQua QuiQui
4
11
8
SexSex
8
8
Adicionar log de erros
8
10
16
8
8 4
Acompanhando o andamento do projeto
Task Board (Kanban)
Times que atingem a meta...
Escalando o Scrum
Escalando o Scrum
Scrum of scrums
Material
● Parte do material utilizado foi baseado na apresentação disponibilizada por Mike Cohn e pode ser obtida no seguinte endereço:
http://www.mountaingoatsoftware.com/scrum-a-presentation
Mountain Goat Software, LLC
Sala de Leitura
Scrum AllianceScrum Alliancehttp://www.scrumalliance.org/
Mountain Goat SoftwareMountain Goat Softwarehttp://www.mountaingoatsoftware.com/scrum/
Implementing ScrumImplementing Scrumhttp://www.implementingscrum.com/
Scrum e XP direto das TrincheirasScrum e XP direto das Trincheirashttp://www.infoq.com/br/minibooks/scrum-xp-from-the-trencheshttp://www.infoq.com/minibooks/scrum-xp-from-the-trenches
Planning PokerPlanning Pokerhttp://www.planningpoker.com/detail.html
Scrum na Globo.com: Derrubando mitosScrum na Globo.com: Derrubando mitoshttp://www.slideshare.net/bardusco/scrum-na-globocom-derrubando-mitos-updated-presentationhttp://blog.caelum.com.br/2008/12/03/falando-em-agile-2008-scrum-na-globocom-derrubando-mitos/
Livros
● Agile and Iterative Development: A Manager’s Guide - Craig Larman
● Agile Project Management with Scrum - Ken Schwaber
● Scrum and The Enterprise - Ken Schwaber
● Lean Software Development: An Agile Toolkit - Mary Poppendieck, Tom Poppendieck
● Agile Retrospectives - Esther Derby e Diana Larsen
● O coração da mudança - Kotter
● Nosso iceberg está derretendo: mude e seja bem-sucedido em condições adversas - Kotter
Dúvidas?
Esta apresentação encontra-se licenciada sob a licença Creative Commons Atribuição 3.0 Unported. Para visualizar uma cópia da licença, visite: http://creativecommons.org/licenses/by/3.0/deed.pt_BR