O documento discute o desenvolvimento ágil de software, comparando seus resultados com metodologias tradicionais e apresentando princípios e práticas ágeis como Scrum e eXtreme Programming. Uma pesquisa mostra que 82% das empresas que adotaram métodos ágeis melhoraram sua produtividade e 77% sua qualidade. O desenvolvimento ágil tem se mostrado uma abordagem efetiva para entregar valor ao cliente.
3. Desenvolvimento Ágil
Estamos melhorando?
• Em 1994 - 16% de sucesso
• Em 2009 - 32% de sucesso
• Melhora de 1,06% ao ano
• Nesse ritmo 50% dos projetos
terão sucesso em ~ 2028
Slide 3 17º Dia D
4. Desenvolvimento Ágil
Estamos melhorando?
• Em 1994 - 31% foram cancelados
• Em 2009 - 24% foram cancelados
• Melhora de 0,46%
• Grande oscilação!
Slide 4 17º Dia D
5. Desenvolvimento Ágil
Metodologia de Desenvolvimento
• 1968 - Engenharia de Software
• 1987 - CMM (Capability and Maturity Model)
• 2001 - Agile Manifesto
Slide 5 17º Dia D
6. Desenvolvimento Ágil
Manifesto Ágil?
• De 11 a 13 de Fevereiro de 2001, em uma
estação de Esqui em Utah, 17 pessoas se
encontraram para conversar, esquiar, relaxar, e
tentar encontrar um senso comum - e claro,
COMER!
• Do resultado desse encontro surgiu...
Slide 6 17º Dia D
7.
8. Desenvolvimento Ágil
Princípios
• Por trás do Manifesto Ágil, foi criada uma lista
de 12 princípios que são seguidos...
Slide 8 17º Dia D
9. Desenvolvimento Ágil
1º Princípio
Nossa maior
prioridade é
satisfazer o
cliente,
através da
entrega
adiantada e
contínua de
software de
Slide 9 17º Dia D
10. Desenvolvimento Ágil
2º Princípio
Aceitar
mudanças de
requisitos,
mesmo no fim do
desenvolvimento
. Processos ágeis
se adequam a
mudanças, para
que o cliente
possa tirar
vantagens
competitivas.
Slide 10 17º Dia D
11. Desenvolvimento Ágil
3º Princípio
Entregar
software
funcionando
com
freqüencia, na
escala de
semanas até
meses, com
preferência aos
períodos mais
Slide 11
curtos. 17º Dia D
12. Desenvolvimento Ágil
4º Princípio
Pessoas
relacionadas à
negócios e
desenvolvedores
devem trabalhar
em conjunto e
diariamente,
durante todo o
Slide 12
curso do projeto.
17º Dia D
13. Desenvolvimento Ágil
5º Princípio
Construir
projetos ao
redor de
indivíduos
motivados.
Dando a eles o
ambiente e
suporte
necessário, e
confiar que farão
Slide 13
seu trabalho.
17º Dia D
14. Desenvolvimento Ágil
6º Princípio
O Método mais
eficiente e eficaz
de transmitir
informações
para, e por
dentro de um
time de
desenvolvimento,
é através de uma
conversa cara a
Slide 14
cara.
17º Dia D
15. Desenvolvimento Ágil
7º Princípio
Software
funcional é a
medida primária
de progresso.
Slide 15 17º Dia D
16. Desenvolvimento Ágil
8º Princípio
Processos ágeis
promovem um
ambiente
sustentável. Os
patrocinadores,
desenvolvedores e
usuários, devem
ser capazes de
manter
indefinidamente,
Slide 16
passos constantes.
17º Dia D
17. Desenvolvimento Ágil
9º Princípio
Contínua atenção
à excelência
técnica e bom
design, aumenta a
Slide 17
agilidade.
17º Dia D
18. Desenvolvimento Ágil
10º Princípio
Simplicidade: a
arte de maximizar
a quantidade de
trabalho que não
Slide 18
precisou ser feito.
17º Dia D
19. Desenvolvimento Ágil
11º Princípio
As melhores
arquiteturas,
requisitos e
designs emergem
de times auto-
Slide 19
organizáveis.
17º Dia D
20. Desenvolvimento Ágil
12º Princípio
Em intervalos
regulares, o time
reflete em como
ficar mais
efetivo, então, se
ajustam e
otimizam seu
comportamento
Slide 20
de acordo. 17º Dia D
21. Desenvolvimento Ágil
Métodos Ágeis
• Ciclo de Vida Iterativo
• Planejamento Adaptivo
• Iterações Curtas com Duração Fixa
• Alguns exemplos: eXtreme Programming,
SCRUM, ICONIX, Agile UP, Open UP
Slide 21 17º Dia D
22. Desenvolvimento Ágil
Adoção Ágil
Sua empresa adotou uma
ou mais técnicas ágeis?
16%
Em um ou mais projetos
15% Previsto para ano que vem
Nenhum projeto
69%
Agile Adoption Survey 2008
Slide 22 17º Dia D
23. Desenvolvimento Ágil
Adoção Ágil
De qual método ágil adotado
você mais se aproxima?
29%
Scrum
49% Híbrido XP/Scrum
Outros
22%
Agile Adoption Survey 2008
Slide 23 17º Dia D
25. Desenvolvimento Ágil
Práticas Ágeis
Individual
Refatoração
Design Simples
Desenvovimento
Dirigido por Testes
Slide 24 17º Dia D
26. Desenvolvimento Ágil
Práticas Ágeis
Time
Programação Retrospectivas
em Pares Individual Daily
Métricas Refatoração Stand-ups
de Velocidade
Iterações
Design Simples
Histórias Ritmo
do Usuário Sustentável
Desenvovimento
Histórias Dirigido por Testes Kick-off
na Parede da Iteração
Slide 24 17º Dia D
27. Desenvolvimento Ágil
Práticas Ágeis
Organização
Deploy Releases
Automatizado
Time Curtos
Programação Retrospectivas
Teste
em Pares Individual Daily Propriedade
Automatizado Métricas Refatoração Stand-ups Coletiva
de Velocidade
Iterações
Design Simples
Histórias Ritmo
Padrão de do Usuário Equipe
Código Desenvovimento Sustentável co-localizada
Histórias Dirigido por Testes Kick-off
na Parede da Iteração
Integração Cliente
Contínua co-localizado
Slide 24 17º Dia D
28. Desenvolvimento Ágil
Scrum?
• SCRUM não é um processo;
• SCRUM não é uma metodologia;
• SCRUM é um framework;
• SCRUM confia em um time auto-
organizado e multi-disciplinar.
Slide 25 17º Dia D
29.
30. Desenvolvimento Ágil
eXtreme Programming (XP)
• Valores
• Comunicação: diálogos presenciais
• Coragem: mudanças são bem vindas
• Feedback: descobrir problemas cedo
• Respeito: ouvir e compreender
• Simplicidade: fazer o que é necessário
Slide 27 17º Dia D
31. Desenvolvimento Ágil
eXtreme Programming (XP)
• Princípios • Melhoria
• Oportunidade
• Auto-semelhança
• Passos de Bebê
• Benefício Mútuo
• Qualidade
• Diversidade
• Redundância
• Economia
• Reflexão
• Falha
• Responsabilidade
• Fluidez
Aceita
• Humanismo
Slide 28 17º Dia D
32. Desenvolvimento Ágil
eXtreme Programming (XP)
• Papéis
• Analistas de Teste • Gerentes de
Produto
• Arquitetos
• Programadores
• Designers de
Interação • Recursos Humanos
• Executivos • Redatores Técnicos
• Gerentes de • Usuários
Projeto
Slide 29 17º Dia D
33. Desenvolvimento Ágil
eXtreme Programming (XP)
• Práticas Primárias
• Ambiente Informativo • Folga
• Build de Dez Minutos • Histórias
• Ciclo Semanal • Integração Contínua
• Ciclo Trimestral • Programação em
Par
• Desenvolvimento
Orientado a Testes • Sentar-se Junto
• Design Incremental • Trabalho Energizado
• Equipe Integral
Slide 30 17º Dia D
34. Desenvolvimento Ágil
eXtreme Programming (XP)
• Práticas Corolárias
• Análise da Raiz do • Envolvimento do
Problema Cliente Real
• Base de Código • Equipes que
Unificada Encolhem
• Código Coletivo • Implantação Diária
• Código e Testes • Implantação
Incremental
• Continuidade da Equipe
• Pagar por Uso
• Contrato de Escopo
Negociável
Slide 31 17º Dia D
35. Desenvolvimento Ágil
Resultados
82% melhoraram em produtividade
77% melhoraram em qualidade
78% melhoraram em satisfação do cliente
37% reduziram em custos
Agile Adoption Survey 2008
Slide 32 17º Dia D
36. Desenvolvimento Ágil
Produtividade
1%4%
22% 13%
Muito menor
Algo menor
Sem alteração
Algo maior
Muito maior
60%
Slide 17º Dia D
37. Desenvolvimento Ágil
Qualidade
3% 6%
29%
14%
Muito menor
Algo menor
Sem alteração
Algo maior
Muito maior
48%
Slide 17º Dia D
38. Desenvolvimento Ágil
Satisfação do cliente
3% 4%
31% 15%
Muito menor
Algo menor
Sem alteração
Algo maior
Muito maior
47%
Slide 17º Dia D
39. Desenvolvimento Ágil
Custo
5% 5%
18%
Muito maior
32% Algo maior
Sem alteração
Algo menor
Muito menor
40%
Slide 17º Dia D
40. Desenvolvimento Ágil
Conclusões
• Aplicado da forma correta, métodos ágeis
trazem excelentes resultados;
• Tive a oportunidade de acompanhar programas
de imersão ágil em duas empresas de Campo
Grande:
• Agence
• CASSEMS
Slide 37 17º Dia D
41. Desenvolvimento Ágil
Obrigado!
• Saulo Arruda (sauloarruda@gmail.com)
• Meu Blog: http://sauloarruda.eti.br
• Linkedin: http://br.linkedin.com/in/sauloarruda
• Twitter: http://twitter.com/sauloarruda
• Jera: http://jera.com.br
Slide 38 17º Dia D
42. Desenvolvimento Ágil
Licença
Você pode:
copiar, distribuir, exibir e executar a obra
criar obras derivadas
Sob as seguintes condições:
Atribuição. Você deve dar crédito ao
autor original, da forma especificada
pelo autor ou licenciante.
Slide 39 17º Dia D