Introdução a Métodos Ágeis de Desenvolvimento de Software
1. Introdução a Métodos Ágeis de Desenvolvimento de Software Daniel Cukier (AgilCoop) twitter.com/danicuki Prof. Dr. Rafael Prikladnicki (PUCRS) twitter.com/rafaelpri
12. Contexto e experiência na PUCRS www.inf.pucrs.br/munddos Criado em 2001 Registrado no CNPq em 2004 Livros publicados em 2007, 2009 e 2010 2 pesquisadores Formou 11 mestres, 1 doutor Possui 6 mestrandos, 2 doutorandos
13. Implantação de práticas de DDS nas empresas Desenvolvimento de ferramentas para apoiar DDS Integração de DDS com métodos ágeis Estudo de maneiras de usar Follow-the-Sun (FTS) Formação de profissionais e alunos em DDS Estudo do papel do Brasil no mercado global de TI www.inf.pucrs.br/munddos Contexto e experiência na PUCRS
20. Tenho como produzir 100 aviões em 10 minutos? E se produzirmos um pouco a cada 2 minutos? E se melhorarmos a cada ciclo? E se o cliente fornecer feedback a cada ciclo? E se a equipe encontrar a melhor forma de trabalhar? Quantos aviões 10 pessoas produzem em 10 minutos?
41. Interface Cliente Servidor BD C Iterativo = não espere ter tudo correto na primeira vez Incremental = construa em ”pedaços” verticais ( features ) ao invés de horizontais (camadas) Desenvolvimento monolítico Desenvolvimento incremental Talvez não seja necessário construir o resto C Interface Cliente Servidor BD Iterativo e Incremental Ref: Henrik Kniberg 1 2 3 4 1 2 3
43. O que muda? Custo da mudança Intensidade e stress Tempo Tempo Tempo Entrega de valor Transparência Envolvimento do cliente Tempo Ref: Henrik Kniberg Tradicional Ágil
44. Metodologias ágeis são uma tentativa de refinar as metodologias iterativas, tirando o foco do processo em si e dando mais ênfase para a contribuição das pessoas
45.
46. Evitar incerteza x Gerenciar para incerteza Ref: Luiz Cláudio Parzianello
47.
48.
49.
50.
51.
52.
53.
54. Fonte: Mah 2008. Agile projects are 16% more productive at a statistically significant level of confidence. Métodos ágeis funcionam?
68. Ref.: 3rd Annual ”State of Agile Development” Survey June-July 2008 3061 respondentes, 80 países Quem usa Scrum?
69. Requisitos Longe de um acordo Perto de um acordo Tecnologia Perto 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. Mesmo que o produto seja complexo... ... Tente manter uma iteração simples Como resolver
70. Adaptativo E C D A Planejado Tradicional Ágil B C D A B D A B A B Sem 1 Sem 2 Sem 3 Sem 4 Sem 1 Sem 2 Sem 3 Sem 4 Sem 5 Sem 6 Sem 7 Sem 8 Sem 1 Sem 2 Sem 3 Sem 4 Sem 5 Sem 6 Sem 7 Sem 8
82. Calibrando a velocidade Início da sprint 8 5 3 5 5 5 3 5 5 8 Backlog do produto 8 5 3 5 5 Backlog da sprint Final da sprint 8 5 3 5 5 Feito! Feito! Feito! Quase Nem iniciamos Velocidade real = 18 Backlog da sprint Velocidade estimada = 26
83. Administrate users Register new user Edit existing user Delete user Find user 100 simultaneous users Operations manual As a helpdesk operator I want to see who is logged in View Invoice in HTML, PDF, or Excel format 100 simultaneous users Operations manual As a helpdesk operator I want to see who is logged in View Invoice in HTML, PDF, or Excel format Register new user Edit existing user Delete user Find user 100 simultaneous users Operations manual As a helpdesk operator I want to see who is logged in View Invoice in HTML, PDF, or Excel format Dividindo user stories
84. Dividindo user stories Administrate users Register new user Edit existing user Delete user Find user User admin User admin User admin User admin Do GUI design Write failing test Do integration test Create DB schema Write server-side logic Write form validation Dividir Quebrar em tarefas durante a reunião de sprint planning 13 5 3 8 2 Ref: Henrik Kniberg Como priorizar itens do backlog? Como planejar as tarefas?
85.
86. O Gráfico de Burndown 5 10 15 20 Trabalho que resta na sprint (pontos de user story) Dias da sprint 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Gráfico de Burndown de uma Sprint de duas semanas Vamos terminar antes
87. O Gráfico de Burndown 5 10 15 20 Trabalho que resta na sprint (pontos de user story) Dias da sprint 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Gráfico de Burndown de uma Sprint de duas semanas Não vamos conseguir cumprir a meta desta sprint
88. O Gráfico de Burndown 5 10 15 20 Trabalho que resta na sprint (pontos de user story) Dias da sprint 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Não estamos atualizando o gráfico de burndown Gráfico de Burndown de uma Sprint de duas semanas
89. O Gráfico de Burndown 100 200 300 400 Trabalho que resta no projeto (pontos de user story) Nro de sprints 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 O projeto vai terminar entre os sprints 14 e 16 Gráfico de Burndown da release ou do projeto
90.
91.
92.
93.
94. Sprint 2-4 semanas ??? Objetivo do Sprint Produto a ser entregue (ou seu incremento) Backlog do produto Cupons Embrulho 24 horas Fluxo do Scrum Cancel Gift wrap Return Backlog da Sprint Cupons Cancelar Sprint Planning 1 Sprint Planning 2 Daily Scrum Sprint Review Retrospectiva