Académique Documents
Professionnel Documents
Culture Documents
Assunto apaixonante
Assunto polmico
Quebra de paradigmas
Termos
No se desespere
Arrogncia x Respeito
Horrio intervalo?
4
ntroduo
ntroduo
5
Motivao Mtodos geis
Motivao Mtodos geis
Metodologias apropriadas a essa nova cincia: a
engenharia de software
O que tem de to interessante:
Processos iterativos,
Orientado a pessoas,
Times multidisciplinares,
nspeo/adaptao,
Time-box
Alta produtividade (4 a 10 vezes maior)
Satisfao de todos: clientes, usurios, gerentes e
desenvolvedores
6
Motivao Mtodos geis
Motivao Mtodos geis
Mudanas de paradigma
7
Motivao
Motivao
Responder interativamente
Desenvolvedor
Gerente de T
Cliente
Usurio
8
O que
O que
Mtodo gil
Mtodo gil
?
?
um processo?
No
Talvez
Sim
Provavelmente
9
Motivao Auto-ajuda
Motivao Auto-ajuda
1. ndependente da situao, voc sempre
pode melhorar.
2. Voc sempre pode comear a melhorar
por voc mesmo.
3. Voc sempre pode comear hoje.
X
Kent Beck
(XP
10
Termos
Termos
Mtodos geis:
Se contrapem s metodologias de engenharia clssica, usualmente aplicados ao
desenvolvimento de software.
Ex: XP, Scrum, Crystal, Lean, (RUP?), DSDM , FDD, Evo ...
!tera"#o:
Etapas curtas (1 a 4 semanas) de planejamento/desenvolvimento.
Se contrapem ao processo em cascata.
$da%ta"#o:
Opo verdadeira natureza imprevisvel do desenvolvimento de software.
Troca-se o par planejamento/controle por inspeo/adaptao.
$&to'organi(a"#o:
As pessoas so responsveis pelo seu prprio trabalho.
(orientado a pessoas X orientado a processos).
)ime'*o+:
Todas as etapas devem estar contidas no seu tempo.
sso mais importante que a completude do escopo.
Prazo fixo, escopo varivel.
11
Um pouco de histria do
Um pouco de histria do
desenvolvimento de software
desenvolvimento de software
12
Motivao Caos
Motivao Caos
Desenvolvimento catico
Pontos negativos:
mprevisvel
"Dono do cdigo
Baixo reuso
Dificuldade de manuteno
...
13
Motivao - Engenharia
Motivao - Engenharia
Metodologias de engenharias
Benefcios:
Reuso possvel
Metodologias de engenharias
Questionamentos:
previsvel ?
Pontos negativos:
Software no prdio
Perda de flexibilidade
Falsas verdades
Motivao - Engenharia
Motivao - Engenharia
15
Motivao - Engenharia
Motivao - Engenharia
Construir software NO
igual a construir prdio
1999, Jarzombek
DOD:
75% de fracasso
2001, Thomas
Sistemas em UK:
87% de fracasso
19
Motivao - Engenharia
Motivao - Engenharia
Previsibilidade
Processos criativos no so fceis de planejar
((A engenharia de software ao mesmo tempo uma cincia
precisa/matemtica e um exerccio criativo/humano))
Pior ainda: Fingir que previsvel
Documentos que no so lidos
Documentos para descrever como algo ser feito escritos depois desse
algo feito
Anos 80 (qualidade)
Nonaka e Takeuchi:
Lenda ou fato?
Qualidade comeou nos anos 70 com um americano *
Anos 2000
Grande divulgao
2001
Agile Manifesto
Agile Alliance
ltimos anos
Planejamento/controle nspeo/adaptao
Melhoria contnua
Desenvolvimento:
orientado a camadas orientado a fatias
32
Camadas x Fatias
Camadas x Fatias
5 Valores
~14 Princpios
~24 Prticas
VALUES
Comunicao
Feedback
Simplicidade
Coragem
Respeito
35
XP Valores (1/2)
XP Valores (1/2)
Comunicao:
Compreenso do projeto
Reaproveitamento de solues
Noo de time
Simplicidade:
Respeito:
Feedback:
Coragem:
Encorajar o time
Diversidade
equipes multidisciplinares
Fluxo contnuo
Falhar
Qualidade (robustez)
no pode ser uma varivel
faa o melhor possvel dentro do contexto
Outros:
Primrias
Melhoria imediata
Derivadas (corolrias)
((antes ou depois do Scrum ?))
39
XP Prticas (primrias)
XP Prticas (primrias)
(como SCRUM)
Trabalho energizado
Comprometimento (Slac+)
Evitar o'ercommitting
Evitar underdeli'ering
40
XP Prticas (primrias)
XP Prticas (primrias)
Story
Diferente de requisito
Estimativa do esforo
Ciclo semanal
Ciclo quinzenal
mpedimentos
Design ncremental
Dirio (para aquele dia)
Adaptao
42
Pair programming
Pair programming
Esclarecer pequenas dvidas de concepo
Motivao mtua (+ foco, - interrupes)
Padronizao
codificao, design, testes, comportamentos.
Nivela por cima
Aprendizado (inclusive de detalhes), cro""-training
Aprimorao de quem ensina
Maior compreenso coletiva da soluo ((cro""-functional))
Reduo de bugs (um debugger do outro) (escalas =)
,aurie #illiam"- .Pair Programming $lluminated.- /001
15% menos bug, 15% mais lento
Ateno:
trocar pares, variando (experiente-inexperiente; exp-exp; inexp-inexp)
cuidado com a invaso de espao (cultural: bubble "pace2
No faz sentindo para trabalhos braais
Dicas:
Ping-pong programming (test and code)
No Scrum, acontece naturalmente, mas deve ser induzido
43
XP Prticas (
XP Prticas (
7orollar4
7orollar4
)
)
Envolvimento do cliente
No Scrum um pouco diferente
Continuidade do time
Metaprocesso (framework)
Adaptvel
Software robusto
Vamos ver:
Primeiros conceitos
Personagens
Artefatos
Meetings (cerimnias)
Sprint:
Sprint dirio:
Product backlog:
Selected backlog:
Apenas trs
Product Owner
Scrum Master
8acilitador
Protege o time
Time
Multidisciplinar
Auto-gerenciado
De 5 a 9 pessoas
Comunicao constante
transparncia e dilogo
56
57
58
Scrum - Comprometimento
Scrum - Comprometimento
Comprometimento x Envolvimento
Porcos e galinhas
- 3orco, estava pensando que poder+amos abrir um restaurante !untos.
- 0 qual seria o nome7
- 8ue tal 93resunto com ovos:7
- 0nt5o n5o, porque eu estaria comprometido e voc2 apenas envolvido;
s vezes somos porcos, s vezes galinhas
59
Scrum - Artefatos
Scrum - Artefatos
60
Scrum Artefatos
Scrum Artefatos
Campos:
D, Ttulo (ou descrio sucinta)
Valor
Valor medido pelo product owner (business value)
e / ou
valores relativos sem significado absoluto (apenas para priorizar)
Story point"
Esforo medido pelo time
Descrio mais detalhada
Suficiente para compreenso de time
Pode conter uma descrio da interao com o usurio
ou uma prvia da li"ta de tarefa" ou ...
"Me <name>, as <&ser role>, would like to <feature>, so that <value>
)este de aceita"#o
Outros possveis campos:
Nmero da sprint de realizao
Roteiro de demonstrao
NVEST
61
Scrum Artefatos
Scrum Artefatos
Siviep (Excel)
62
Scrum Artefatos
Scrum Artefatos
Story Points
Tarefas
Sprint Backlog
Task Board
66
Scrum Artefatos
Scrum Artefatos
Task Board
Conceito de D?50
Reviewed
Burn-down chart
Outros contedos:
Post-it chart
Limbo
mpediments
Notcias
Mesa retrtil
67
Scrum Artefatos
Scrum Artefatos
Burn-down Chart
So dois:
Por sprint
Produto completo / Release
Contagem de pontos
Pontos parciais das stories
Video
Outro (Sovis):
http://www.youtube.com/v/APQwN9iS--o&hl=pt-br&fs=1
68
Scrum Artefatos
Scrum Artefatos
Burn-down Chart
da relea"e ou do produto:
Normalmente segue um padro
Tem que pontuar tudo no Prod. Backlog
Burn-up Chart
Linha de escopo e linha de realizado
Desacopla /O de stories da realizao
Funciona em projetos sem prazo fixo
Ex: manuteno, desenvolvimento interno
Mais stories novas
do que realizadas
Stories
removidas
69
Scrum Artefatos
Scrum Artefatos
Burn-up Chart da release o& do %rod&to:
Previso de trmino:
Projetar horizontalmente a linha do escopo
Projetar linha de realizao segundo histrico
Data de fim provvel no cruzamento
Projeo da linha de realizao:
Mdia geral, mdia das 3 ltimas sprints, mdias sem extremos, mdia exceto as 3
primeiras, etc... (vide Mike Cohn)
Projetos sem prazo fixo:
A distncia entre as linhas indica o horizonte do product backlog
70
Scrum Artefatos
Scrum Artefatos
- )5o foi isso o que eu quis di(er sobre 9burn$down correction:;
- O pro!eto est<
indo ladeira
abai&o;;;
71
Scrum Artefatos
Scrum Artefatos
Quebrando Stories:
Diferena entre stories
e tarefas:
Story: sempre agrega
algum valor
So 6 diferentes meetings
Obs: !o permitidos observadores e"ternos #mas galinhas n!o tem vo$%.
&"ce'!o: (etrospective #e"iste e"ce'!o da e"ce'!o%
M00)!5GS
Sprint i Sprint i +1
;;; ;;;
Review
Retrospective
Daily meetings Daily meetings
Sprint Planning 2
Sprint Planning 1
Estimation
(planning poker)
Estimation
(planning poker)
74
Scrum - Meetings
Scrum - Meetings
Planning Poker ou
stimation meeting
Freqncia:
poucas vezes ao longo da sprint
"inevitavelmente junto com a sprint planning 1
75
Scrum Meetings:
Scrum Meetings:
Planning Poker
Procedimento (exemplo):
1. dentificar no product backlog o item que o time julga ser o
de menor esforo e determinar como 2 pontos.
Para cada item (ou story):
2. Verificamos se a story est bem compreendida por todos.
3. Fazemos uma rodada de PP entre os membros do time.
4. Os membros que tiverem dado menor e maior valores fazem
uma breve defesa do porqu.
Repetimos itens 3 e 4 at convergir
Obs: Por que Fibonacci?
76
Pont&a"#o:
Complexidade E s foro Incerteza
Complexidade
E s foro
Incerteza
Complexidade
E s foro
Incerteza
Complexidade
E s foro
Incerteza
5
5
13
http://event.on24.com/event/15/97/99/rt/1/documents/slidepdf/releaseplanningwebinar_wnotes.pdf
Story 1
Story 2
Story 3
77
Scrum - Meetings
Scrum - Meetings
Sprint Planning !
Material:
Product backlog atualizado, priorizado e estimado
nformaes prticas sobre prxima sprint
pessoas, tempo de sprint, etc
Sprint Planning !
Procedimento:
Material:
Objetivo:
#aily meetings ou
Stand-up meetings ou
Scrum meetings
Freqncia: diria
Objetivo:
Comunicar progresso (status dirio)
dentificar obstculos
Manter foco
Noo de time
Comprometimento individual
82
Scrum - Meetings
Scrum - Meetings
Stand-up meetings
Procedimento:
De p, mximo de 15 minutos, no para discutir problemas
3 perguntas atualizando o Ta"+ )oard:
Sincronizao de conhecimento
$t&ali(a"#o do *&rn'down
$e%iew
Material:
Participantes:
Objetivo:
Freqncia:
$e%iew
Procedimento:
$etrospecti%e
Material:
nformaes do painel de tarefas j organizados.
Post-its e flip-chart
$m*iente seg&ro
Participantes:
Time, scrum master
Objetivo:
Rediscutir o processo de desenvolvimento (visando a sua
melhora)
MELHORA CONTNUA
$etrospecti%e
Procedimento:
$etrospecti%e
Minha experincia:
Comeando por:
"ndependente do que ser discutido, ns entendemos e acreditamos que
todos fizeram o seu melhor, dado o que sabiam naquele momento, suas
habilidades e competncias, os recursos disponveis e as circunstncias
da situao (*)
WWWs
Planning 1
Planning 2
Retrospective
Review
no se esqueam que bom um lanchinho.
89
Scrum
Scrum
Flow
Flow
B:eview
Meetings
Sprint i Sprint i +1
Review
Retrospective
Daily meetings Daily meetings
Planning 2
Planning 1
$da%ta"Ces S!>!0P
D da4
Planning Poker
Pontos positivos:
Participao do Prod. Owner em 1
nico dia
Apenas 1 dia sem produo
Pode-se preparar a review com o time
Pode-se discutir impedimentos
Apresentar melhorias do processo
Ponto negativo:
Retrospective sem informaes da
review
Meetings
Sprint i Sprint i +1
... ...
Review
Retrospective
Daily meetings Daily meetings
Sprint Planning 2
Sprint Planning 1
Planning Poker Planning Poker
D da4 D da4
0ta%as S7:EM
91
Jogo das bolas
Jogo das bolas
Um nico time
4 iteraes
m)"ima*
nossa velocidade
+oc, tem certe$a -ue . isso -ue ele -uis di$er sobre a
/0
10
20
30
40
F=G<DH
50
60 70
80
92
Dinmica Quem faz o que.
Dinmica Quem faz o que.
Quem .?
1. Responsvel por proteger o time:
2. Responsvel pelo design:
3. Atribuidor de tarefas:
4. Participa como galinha na sprint-planning 2:
5. No deve estar na retrospectiva:
6. Responsvel por manter Scrum funcionando:
7. Responsvel pelo Product Backlog:
8. Atribui pontos s stories (planning poker):
9. Aceita ou rejeita o que foi produzido:
10. Participam do stand-up meeting:
93
Scrum - Princpios
Scrum - Princpios
94
Scrum - Princpios
Scrum - Princpios
Processo iterativo e incremental (DIJ
Modelo Tradicional
Modelo gil
NA TEORA NA PRTCA
95
Scrum - Princpios
Scrum - Princpios
Processo iterativo e incremental (DIJ
Benefcios:
Confiabilidade do software
Motivao do time
Melhoria contnua
Todos os meetings
tm tempo fixo:
Daily-meeting
Sprint Planning
Etc...
Qualidade
Tempo Escopo
Fixos
custo/esforo
nico que
pode alterar
100
Scrum - Princpios
Scrum - Princpios
Menos %laneAamento- mais a"#o (FIJ
Retardar decises
No h conflito com:
Um ao e outro planejamento
Planejamento ceberg
Escala progressiva
Acompanhamento mensal
Sprint, um resumo
terao de 2 a 4 semanas
Total de pontos
Selected backlog
Boto Vermelho
106
Scrum - DONE
Scrum - DONE
!e"ign
Codificao
Teste unitrio
Reviso de cdigo
7efactoring
Comentado
Comitado
(integrao, testes .)
Documentado
Jeff Sutherland
(Viso do projeto)
Anlise de desempenho
Group programming
Retrospective
Times de 7 2 pessoas
Scrum of Scrum
Ken Schwaber
Mike Cohn
mplementou para mais de 1000
(segundo Mike, em 2007 havia pelo menos 3 no mundo)
Faz uso genrico do Scrum (alm de des. de sw)
Exemplos:
Google AdSense
Como?
Multi-plataforma
Realidade Virtual
Renderizao distribuda
nterao com dispositivos 3D
Suporte a grafo de cena
Som 3D
Cluster
Colaborativo
Arquitetura de componentes
Sistema de Plug-in's
Open source
Plataforma de desenvolvimento para outras universidades
Browser 3D
119
Poos
Plataforma (PNA-) Plataforma (PNA-)
Reservatrio
Falhas da Superfcie
120
121
2008
2008
122
2009
2009
123
Exemplo Prtico v3o2
Exemplo Prtico v3o2
E&P
15 sprints realizadas
Em nov/08, 1 time de 9
124
possvel ser mais produtivo?
possvel ser mais produtivo?
Sistema Lean/Kanban
0ntrega A&st'in'time
No h iteraes
Fluxo contnuo de entrega
Backlog sem%re %ode ser alterado
Backlog Kanban dividido em duas reas
7 cartes de maior prioridade
Cartes a serem trabalhados nos prximos 30 dias
01&i%e de atendimento ao cliente
Recebe cartes que finalizaram no desenvolvimento
0stimativa:
T-shirt sizing: P, M, G
Qualquer um pode estimar
Pode-se trocar o tamanho ao longo do processo
8onte: Alisson Vale
www.phidelis.com.br/blogs/alissonvale/post/A-Historia-de-um-Sistema-Kanban.aspx
www.agilemanagement.net/Articles/Weblog/KanbaninAction.html
www.infoq.com/br/news/2009/01/brasil-representacao-conferencia
http://www.alissonvale.com/englishblog/post/System-Thinking-at-Agile-Brazil-2009-Conference.aspx
125
Lean e Scrum-Ban
Lean e Scrum-Ban
Lean = Lean Thinking = TPS = Toyota way
Construindo profissionais (building people)
Melhoria contnua
"Eliminar desperdcios [,ean Thin+ing 1996]
Scrum-ban
Trabalho em andamento limitado (limited #$P)
Mais colunas (pronto, reviso, teste, entrega etc...)
Combinao de ambos
Quebra das quebras de paradigmas
Time-box Fluxo contnuo (pontos por sprint tempo de entrega)
Escopo totalmente aberto (no fechado nem durante a sprint)
Desacopla frequncia de planejamento da frequncia de entrega
Permite times de especialistas
Ateno!!!!
Dificilmente um ponto de partida ( mais um ponto a se chegar)
Cuidado para no voltar ao modelo cascata
Referncias (veja tambm: David Anderson)
http://leansoftwareengineering.com/ksse/scrum-ban/
http://www.infoq.com/minibooks/kanban-scrum-minibook (making the most of both)
http://www.leanprimer.com/downloads/lean_primer.pdf
www.limitedwipsociety.org www.kanban101.com
126
Scrum Concluses
Scrum Concluses
O que scrum para vocs?
No business-oriented
Listar:
Stand-up meetings
Pair-programming
134
Pontos frgeis dos Mtodos geis
Pontos frgeis dos Mtodos geis
Pay-per-use
Melhor opo
Se levado ao extremo:
Cada story tem por objetivo aumentar o uso
Modelo de Subscrio:
Sw comprado (ou alugado) mensalmente
PF
138
Mtodos geis aplicados no mundo
Mtodos geis aplicados no mundo
Empresas
Globo.com
Ago 2008: 17 times geis
Dez 2009: http://gc.blog.br/2009/12/04/2-anos-de-scrum-e-agile-na-globo-com-e-
algumas-coisas-que-eu-aprendi/
Tecgraf
Desde incio de 2007
Conceito de "done
1.Retrospectiva
2.SCRUM
Product backlog
Meetings
etc
9urndown charts facilitaram
a visuali(a/5o do progresso e
nos deu um senso de satis$
fa/5o e reali(a/5o;:
&ngenheiro de software
9@evou um tempo at* eu ter
confian/a no urndown e
aceitar o questionamento sobre
o meu feeling de quando uma
funcionalidade estaria pronta;:
9:der t.cnico
143
Por onde comear?
Por onde comear?
Verifique a melhoria
(Bottom-up)
Scruming:
P.O. bem definido (uma nica pessoa)?
Existe um Product Backlog (P.B.) priorizado?
O P.B. est estimado pelo time?
H um burn-down chart ao longo da sprint ?
A equipe auto-organizada (no h a presena de autoridade)?
147
ntroduzindo Mtodos geis
ntroduzindo Mtodos geis
Projeto complexo
Time interessado
O mnimo:
Primeiros passos:
Product backlog aproximado
Alguns story points
(Quanto tempo para fazer isso?)
Selected backlog
Stand-up meeting
"Criar o task-board"
Desenvolvimento :
Software, Hardware e PEOPLEWARE
TMCE 2008:
"Agile PDM-implementation, Jrg Feldhusen, Frederik Bungert,
Manuel Lwer
Caso de uso na engenharia mecnica
Em silncio
WWW
What went well?
Discutir em conjunto (agrupando post-it)
De graa na nternet
"Scrum and XP from the trenches
Experincia de uso do Scrum em uma empresa na Sucia
Recomendvel para quem est comeando com o Scrum
Verso brasileira:
http://www.infoq.com/br/minibooks/scrum-xp-from-the-trenches
"Agile Project Management
Sobre liderana gil
"The new Methodology, Martin Fowler
Jeff-Sutherland-7-Ways-To-Fail-With-Scrum.pdf
http://www.crisp.se/henrik.kniberg/presentations/agile2008/10-
ways-to-screw-up-with-scrum-and-xp.pdf
Outras:
Nonaka e Takeuchi:
Jeff Sutherland:
"Scrum and CMM Level 5: The Magic Potion for Code
Warriors, 2008
"Agile development: lessons learned from the first scrum, 2004
Sobre implementao do Scrum em 1993
Viso gil
www;%isaoagil;com
Alexandre Magno
Primeiro Certified Scrum Trainer brasileiro
http://amagno.blogspot.com/
Alisson Vale
http://www.phidelis.com.br/blogs/alissonvale/
Vincius Teles
http://www.improveit.com.br/empresa/vinicius
mprove it
http://www.improveit.com.br
Teamware
http://www.teamware.com.br/
159
Videos online (1/2)
Videos online (1/2)
Jeff Sutherland
(2007)
http://www.infoq.com/interviews/jeff-sutherland-scrum-rules
(2006)
http://www.infoq.com/presentations/The-Roots-of-Scrum
(google tech talks)
http://www.youtube.com/watch?v=9y10Jvruc_Q
http://www.youtube.com/watch?v=Ht2xcJrAXo
Ken Schwaber
(Google tech talks)
http://www.youtube.com/watch?v=yNPeTn8fpo#
http://www.infoq.com/presentations/agile-quality-canary-coalmine
Mike Cohn
http://www.youtube.com/watch?v=FkWglejhJZM
http://www.youtube.com/watch?v=fb9Rzyi8b90
http://www.infoq.com/presentations/prioritizing-your-product-backlog-mike-cohn
David Anderson (Futuro dos MA, Lean/Kanban, CMM)
http://www.infoq.com/presentations/Agile-Directions-David-Anderson
160
Videos online (2/2)
Videos online (2/2)
Agile testing (Google tech talks)
http://www.youtube.com/watch?v=bqrOnECCSg&feature=related
Scott Ambler
http://www.infoq.com/news/2007/05/ambler-role-of-testing
http://www.infoq.com/presentations/Agile-in-Practice-Scott-Ambler
Mtodos geis em larga escala
http://www.infoq.com/presentations/5-Success-Factors-Michael-Mah
Modelagem gil na TDC 2008
so 5 vdeos em portugus
(em especial XP do Vinicius Teles)
http://visaoagil.wordpress.com/author/vmteles/
Tese de mestrado na USP
http://agileandart.blogspot.com/2009/05/master-thesis-defense-video.html
Dica de padres de como introduzir novos conceitos em empresas
161
Agradecimentos
Agradecimentos
Petrobras
smael e Luciano
PUC-Rio
CCE
Departamento de nformtica
Outros SM
Pessoais.