1. Agile
Eric Cavalcanti
ecavalcanti@gmail.com
@ericoc
2. O Problema
Chaos Report
18%
2004 53%
29%
19%
2006 46% Fracassados
35%
Comprometidos
Bem sucedidos
24%
2009 44%
32%
!"#$%&'(")&*%+,-."/0$12""
3. Principais fatores de
insucesso
requisitos incompletos
falta de envolvimento
de usuários
mudanças de
requisitos e especificações
falta de apoio de negócios
falta de recursos
7. Analista de Requisitos, Analista de Negócios,
Engenheiro de Requisitos, Engenheiro de Qualidade,
Gerente de Configuração, Líder de Projeto...
Programadores
10. Ainda mais...
Código Complexo.
Manutenção difícil.
Baixa produtividade.
Cronograma sempre atrasado.
Insatisfação de todos.
Design degradado.
Documentação defasada, excessiva e ilegível.
Fracasso em grande parte dos projetos.
16. “Desenvolver é como criar uma receita,
enquanto produzir é seguir a receita”
Poppendieck
17. “O desenvolvimento é um processo de
aprendizado, que envolve tentativa e erros”
Larman
18. “Como a manufatura previsível, não pode ser comparada ao
software, dificilmente as práticas e valores enraizados nesse
paradigma trazem algum benefício” Larman
22. 70% dos usuários utilizam as
funcionalidades básicas de um software.
20% utilizam as funcionalidades
intermediárias.
10% utilizam as funcionalidades avançadas.
Microsoft
32. Final da década de 90
eXtreme Programming
Feature Driven Development
Scrum
Adaptive Development
Crystal Clear
Dynamic Systems Development Method
33. 2001
Kent Beck Ron Jeffries
Mike Beedle Jon Kern
Arie van Brian Marick
Bennekum Robert C. Martin
Alistair Cockburn Steve Mellor
Ward Cunningham Ken Schwaber
Martin Fowler Jeff Sutherland
James Grenning
Manifesto Ágil
Dave Thomas
Jim Highsmith
Andrew Hunt
47. Processos ágeis promovem um ambiente
sustentável. Os patrocinadores, desenvolvedores
e usuários, devem ser capazes de manter
indefinidamente, passos constantes.
48. Contínua atenção à excelência
técnica e bom design, aumenta
a agilidade.
49. Simplicidade: a arte de
maximizar a quantidade de
trabalho que não precisou
ser feito
54. STATE OF
AGILE SURVEY
2011
>80% 90%
trabalham em são pelo menos"esclarecido"
organizações que usam sobre técnicas de
práticas de desenvolvimento ágil de
desenvolvimento ágil software
em um certo grau
VersionOne
57. STATE OF
AGILE SURVEY
2011
As razões mais comuns para a adoção ágil gira em torno de
tempo de aceleração para o mercado, gereciamento de
mudanças de prioridade e aumento produtividade
VersionOne
58. STATE OF
AGILE SURVEY
2011
Princípios fundamentais ágeis atualmente em uso são Daily Standup, Iteration
Planning e Unit Testing. O mais notável é o uso crescente de Kanban (24%).
VersionOne
64. Product
Product Owner Determina a visão do produto
Owner Define as funcionalidades
Escolhe as datas de release
Dá o feedback
Gerencia os stakeholders
Aceita ou rejeita os resultados
Prioriza de acordo com o ROI
65. Pequenos (5 a 9 pessoas)
Desenvolve as funcionalidades
Auto-organizável
Auto-gerenciável
Multifuncional
Estima o esforço
Defina as tarefas
O Time Responsável pela qualidade
68. Então ao invés de um grande grupo gastando
um monte de tempo construindo uma grande
coisa, temos uma equipe pequena gastando um
tempo curto construindo uma pequena coisa.
Mas integrando regularmente para ver o todo.
Henrik Kniberg
71. Como um <perfil>,
quero <funcionalidade>,
para <valor de negócio>
Como um agente de viagens, quero reservar lugar,
para facilitar o atendimento dos clientes
corporativos
86. Mude alguma coisa => Saiba como foi => Aprenda com isso
=> Mude alguma coisa novamente. Falando de um modo
geral, você quer o ciclo de feedback o mais rápido possível,
Scrum + XP e ciclos feedbackfeedback
para que seja possa adaptar o processo rapidamente.
Em Scrum, a iteração básica de um
de é o sprint. Há
mais, porém, especialmente se você combinar com o XP
(eXtreme Programm ing):
Quando feito corretamente, Scrum + XP lhe oferece vários
ciclos de feedback extremamente valiosos.
88. O Kanban é baseado numa idéia muito simples. As
atividades em andamento devem ser limitadas. Algo
novo só deve ser iniciado quando uma peça de
trabalho existente é liberada ou quando uma função
automática inicia isso.
89. O princípio do Kanban é que você inicia com o que
estiver fazendo agora.
91. Visualize o fluxo de trabalho
Divida o trabalho em partes,
escreva cada item em um cartão e
coloque na parede
Use colunas nomeadas para
ilustrar onde cada item está no
fluxo de trabalho
92. Limite o trabalho em progresso (WIP
- work in progress)
Associe limites explícitos para quantos itens podem
estar em progresso em cada estado do fluxo de
trabalho
93. Acompanhe o tempo de execução da
tarefa
Tempo médio para completar um item, algumas vezes
chamado de “Lead Time”
Otimize o processo para tornar o tempo de execução o
menor e mais previsível possível.
94.
95.
96. Referências
Lean Software Development: An Agile Toolkit, Mary Poppendieck e Tom Poppendieck, 2003, Addison-
Wesley Professional
Agile Project Management with Scrum, Ken Schwaber, 2004, Microsoft Professional
The Enterprise and Scrum, Ken Schwaber, 2007, Microsoft Press
Kanban e Scrum - obtendo o melhor de ambos, Henrik Kniberg e Mattias Skarin, 2009, C3 Media Inc.
Kanban: Mudança Evolucionária de Sucesso para seu Negócio de Tecnologia, David Anderson,
2011, Blue Hole Press
Agile Estimating and Planning, Mike Cohn, 2005, Prentice Hall
User Stories Applied: For Agile Software Development, Mike Cohn, 2004, Addison-Wesley
Professional
Extreme Programming Explained: Embrace Change (2nd Edition), Kent Beck, 2004, Addison-Wesley
Professional
Test Driven Development, Kent Beck, 2002, Addison-Wesley Professional
Refactoring: Improving the Design of Existing Code, Martin Fowler, Kent Beck, 1999, Addison-Wesley
Professional
97. Obrigado!
Eric Cavalcanti
ecavalcanti@gmail.com
@ericoc