10 maneiras de se dar mal com scrum e xp
DESCRIPTION
Essa é a tradução para português brasileiro da apresentação do Henrik Kniberg, originalmente entitulada "10 ways to screw up with Scrum and XP" que foi apresentada no Agile 2008 em Toronto.TRANSCRIPT
10 maneiras de se dar mal com
Henrik Kniberg - Crisp ABMentor de Agile & cara de Java
Scrum e XPAgile 2008Toronto
Co-fundador / CTO de Goyada (serviços de mobile)30 desenvolvedores
Arquitetro-chefe na Ace Interactive (jogos)20 desenvolvedores
Chefe de desenvolvimento na Tain (jogos)40 desenvolvedores
[email protected]+46 70 4925284
Tradução: Demetrius Nunes (www.demetriusnunes.com)
Qualquer ferramenta pode ser mal usada
A antiga era
melhor!
2Henrik Kniberg
Como usar os cartões de feedback
= Não é um problema para nós. Sério.
Quando você vir esse sinal:Vote!
3Henrik Kniberg 3
= Ai, que dor!
= Temos alguns problemas com isso.
1: Acreditar na onda
Acreditar em mágica
Não estar disposto a mudar
Jogar fora o que funciona
Focar demais em Processos Perfeitos
Tentar acertar logo tudo desde o princípio
10 maneiras de se dar mal com Scrum e XP Vamos virar Agile! Oba!
Onde está o CD de instalação?
Não é um problema para nós.Sério
Ai, que dor!
4
Tentar acertar logo tudo desde o princípio
Culpar o mensageiro
Focar em ferramentas
Focar nos aspectos errados
Henrik Kniberg 4
10 maneiras de se dar mal com Scrum e XP
2: Definição de DONE
Não existe
Não é respeitada
Time não tem controle disso
Ver quem
está logado
100 usuários
simultâneos
Definição Padrão de Done
• ”Lançável”
Definição Padrão de Done
• Testes Unitários/Integração
Mas você falou que tava pronto!
5Henrik Kniberg 5
Definição Padrão de Done
• ”Lançável”
• Aprovado em testes de aceitação
• Notas do Release escritas
• Dívida técnica não aumentou
Definição Padrão de Done
• Testes Unitários/Integração
• Pronto para Testes de Aceitação
• Implantado no servidor de demo
= eu não pioreio código
10 maneiras de se dar mal com Scrum e XP
3: Velocidade
não se sabe
não é usada
é mal usada
marchas fúnebres
trapaceando
velocidade iô-iô
Qual sua velocidade?
Hein?!
300
Ver quem
está logado
100 usuários
simultâneos
5
3
8
mínimo
6
velocidade iô-iô
Henrik Kniberg6
EXEMPLO• Hoje é 6/ago• Duração do = 2 semanas• Velocidade = 30 a 40
O que estará pronto até o Natal?(10 sprints)
300
400PO
máximo
Estimando velocidade sem histórico
Fatos:
• Tamanho do time = 6 pessoas
• Duração do sprint = 2 semanas
Estimativa:
• 2 pts = 6 hdi
Como X
Eu quero Y
Para que Z
Como X
Eu quero Y
Para que Z
Como X
Eu quero Y
Para que Z
8pts
2pts
3pts
Hmmm.... acho que ESSA história é de 6 homens-dia
ideais
10 maneiras de se dar mal com Scrum e XP
7
• Fator de foco: 50%
Cálculo:
• Dias úteis no sprint: 10 dias
• Homens-dia no sprint: 60 hd
• Homens-dia Ideais no sprint: 60 hd x 50% = 30 hdi
• Velocidade: 30 hdi / 3 = 10 pts / sprint
Henrik Kniberg7
Como X
Eu quero Y
Para que Z5pts
10 maneiras de se dar mal com Scrum e XP
4: Retrospectiva
não é feita
não resulta em propostas concretas de melhoria
mudanças não são executadas & avaliadas
pessoas indesejadas na reunião
membros do time ou PO não participam
time penalizado por mudanças que dão errado
Estamos com pressa, vamos começar o próximo
sprint logo!
8
time penalizado por mudanças que dão errado
Henrik Kniberg 8
Sprint
Velocidade
4 5 6 7 8 9 10 11 121 2 3 13
Retrospectiva do SprintParte 1: O que aconteceu?
Joãodoente
Bug #25 Removidodo Sprint
Redeapagou
Mesas novasinstaladas
1a históriapronta paratestes
Demo daSprintGrande
discussãoTime
concentrado!
10 maneiras de se dar mal com Scrum e XP
9Henrik Kniberg9
Semana 1 Semana 2 Semana 3
Retrospectiva do SprintPart 2: O que faremos dediferente no próximo Sprint?
10 maneiras de se dar mal com Scrum e XP
10Henrik Kniberg10
10 maneiras de se dar mal com Scrum e XP
5: ComprometimentoTime é pressionado
Time não senta junto
Time não registra & aprende
Sempre superestimando
Sempre subestimando
Velocidade = 0
Vocês tem que fazer mais!
Velocidade
Estimada
Velocidade
Real
40 30
30 28
30 33
30 30
Tá bom, a gente vai tentar.
11
Velocidade = 0
Não há ”folga”
Henrik Kniberg
30 30
Estimado Real
40 30
40 30
40 30
Estimado Real
40 30
50 30
60 30
6: Dívida técnica
Deixando acumular
Ignorando
Consertando o produto mas não o processo
Re-fazer do zero
Nós não temos tempopara escrever testes
unitários ou refatorar o código!
Vmax
Vreal
Vmax
V
• Código duplicado• Falta de cobertura de testes• Código ilegível
10 maneiras de se dar mal com Scrum e XP
12Henrik Kniberg
velocidade
tempo
velocidade
tempo
Vreal
Ritmo sustentável!
Lidando com dívida técnica
Vmax
Vreal
velocidade
Primeiro passoReduza o ritmo
Pare de acumular dívida técnica!
Segundo passo(se for economicamente viável)
Reduza ainda maisComece a pagar a dívida!
10 maneiras de se dar mal com Scrum e XP
13Henrik Kniberg
velocidade
tempo
Ritmo sustentável
Definição de Done
• .... bla bla ....
• Não há aumento da dívida técnica
Definição de Done
• .... bla bla ....
• Dívida técnica diminui
10 maneiras de se dar mal com Scrum e XP
7: Trabalho de Equipe
Papéis fixos
Backlogs pessoais
Ninguém ajuda ninguém
Política de incentivos pessoais
Bem, pelo menos eu terminei as minhas coisas!
14
pessoais
Tocando as histórias em paralelo
Interferência da gerência
Henrik Kniberg
10 maneiras de se dar mal com Scrum e XP
8: Backlog do Produto & Product Owner / Cliente
PBL não existe
PBL não é visível
Histórias grandes e/ou que nunca acabam
PO sem autoridade e/ou
Eu não tenho tempo de manter esse maldito
backlog!
PO
Ver quem
está logado
100 usuários
simultâneos
5
3
8
8
5
Backlog
15
PO sem autoridade e/ou conhecimento do domínio
Múltiplos POs em conflito
PBL não é mantido pelo PO
PO surpreso na demo do sprint
PO sendo um gargalo
PO não prioriza PBL
Henrik Kniberg
8
3
5
5
5
3
5
5
8
V VV
V
Q32009
Jun2009
Mai2009
2010
2011
Abr2009
10 maneiras de se dar mal com Scrum e XP
16
2010
Q42009
2009
2012
2013
Henrik Kniberg
10 maneiras de se dar mal com Scrum e XP
9: Medo de Merge
não existe um branch ”Done”
não há política de branches
não há integração cedo e freqüente
não assumindo a responsabilidade
se escondendo atrás de branches
Merges são muito dolorosos, então a gente
faz merge o menos possível
17Henrik Kniberg
Me desculpe, mas
Você não consegue se tornar ágil sem
práticas de engenharia ágeis
Vai um XP aí?
Controle de versão – múltiplos times
TrunkRegra:
Só o queestiverPRONTO!
m1
Sprint 1
m2
Release!
Dia 1 Dia 2 Dia 3 Dia 4 Dia 5 Dia 6
Guia
• Nada de lixo no trunk
• Trunk sempre ”lançável”
• Trunk quebrado = pára tudo!
• Merge a partir do trunk todo dia
• Copie para o trunk toda vez que uma
história for completada
http://www.infoq.com/articles/agile-version-control
10 maneiras de se dar mal com Scrum e XP
18
PRONTO!
Tempo
Time ARegra:
Testado unitariamente
a1 a2 a3
Time BRegra:
Testadounitariamente
b1 b2 b3
a4
Henrik Kniberg
10 maneiras de se dar mal com Scrum e XP
10: Backlog do Sprint/ quadro de tarefas
não existe
muito longe do time
muito complicado
não usado na Reunião Diária
não pertence ao time
Ah, você diz aquela coisa que o ScrumMaster fica
mexendo de vez em quando?
19
não pertence ao time
não tem gráfico burndown
não é atualizado diariamente
sinais de alertaignorados
Henrik Kniberg
10 maneiras de se dar mal com Scrum e XP
Burndown
Unplanned items
Not
checked out Done! :o)
W r it e f a il in g t e s t
D A O
D B d e s i g n
In t eg r t es t
M i g r a t i o n
t o o l W ri t e f a i li n g t es t
G U I s p ec
T a p e st r y sp i k eI m p l .
m i g r a t io n
2 d
C od e
c l e a n u p
D e p o si t
2d1 d0.5d
1d
2 d
8d1 d
2d
2d
B ac k of f i c e
Logi n
Ba c k o f f i c e
Us e r a d m i n
W ri t e f a i li n g t es t
3 d
2 d
1 d2 d
Im p l G U I
1 d
In t eg r. wi t h J B o s s
2 d
W ri t e f a i li n g t es t
3 d
Im p l G U I
6d
C l a ri f y req u i re-m en t s
2d
G U I d e s i g n ( C S S )
1 d
F i x m e m o r y l e a k( J I R A 1 2 5 )2d
S a les s u p p o rt
3 d W r i t e w h it e p a p e r
4 d
SPRINT GOAL: Beta-ready release!
Next
W i t hdr awP e r f t e s tW i t h d r a w
checked out
Burndown
Sinais de alerta
20Henrik Kniberg 20
M e e t i ng w i t h
J o e
É isso!
10 maneiras de se dar mal comScrum e XP
21
Ah, espere....
Ainda tem mais um...
Henrik Kniberg 21
11: Preocupando-se demais com as outras 10
Vamos parar com esse negócio de ”agile”, já que a gente tá fazendo tudo
errado mesmo
Problemas são normais/esperados
Nunca pare de procurar pelos problemas
Não entre em pânico nem se desespere
Problema visível = problema tratável
= oportunidade de melhorar!
10 maneiras de se dar mal com Scrum e XP
22Henrik Kniberg
= oportunidade de melhorar!
Priorize e conserte os problemas – um a um!
Olhe para trás de vez em quando ese dê um tapinha nas costas
Quer mais? Tente usar o Scrum Checklisthttp://www.crisp.se/scrum/checklist
10 ways to screw up with Scrum and XP
23Henrik Kniberg 23
Veleje com prazer!
As pedras dão
mais emoção :o)
24Henrik Kniberg 24