Weitere ähnliche Inhalte
Ähnlich wie Aula - Metodologias Ágeis (20)
Mehr von Mauricio Cesar Santos da Purificação (20)
Aula - Metodologias Ágeis
- 2. Desenvolvimento de Software
Métodos Àgeis de Tradicional
Desenvolvimento de
• Problemas do Desenvolvimento
Software
Tradicional
Métodos Ágeis de Desenvolvimento
• Manifesto Àgil
• Princípios
Práticas Ágeis
XP
Scrum
Outras Metoologias
16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 2
- 3. http://www.agilcoop.org.br/curso_de_verao_2010
http://www.scrumalliance.org/
http://www.extremeprogramming.org/
http://improveit.com.br/scrum
http://visaoagil.wordpress.com/
http://amagno.blogspot.com/
http://www.infoq.com/br/
16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 3
- 5. Sociedade demanda
• Grande quantidade de sistemas/aplicações
• Software complexo, distribuído, heterogêneo
• Requisitos mutantes(todo ano, todo mês, toda
semana, todo dia)
16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 5
- 6. 16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 6
- 7. 16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 7
- 8. 16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 8
- 9. 16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 9
- 10. Supõem que é possivel prever o futuro.
Pouca interação com os clientes.
Ênfase em burocracias.
• (documentos, formulários, processos, controles
rígidos, etc...)
Avaliação do progresso baseado na evolução
da burocracia e não do código
Grande quantidade de erros
Falta de flexibilidade no software
desenvolvido
16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 10
- 11. Melhores tecnologias
• Padrões de projeto (reutilização de idéias)
• Componentes (reutilização de código)
• Middleware/frameworks (aumenta a abstração)
Melhores metodologias
• Métodos Àgeis
16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 11
- 13. Movimento iniciado por programadores
experientes e consultores em desenvolvimento de
software.
Questionam e se opõem a uma série de mitos
práticas adotadas em abordagens tradicionais de
Engenharia de Software e Gerência de Projetos.
Manifesto Ágil: Assinado por 17 desenvolvedores
em Utah em fevereiro/2001.
• http://agilemanifesto.org
16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 13
- 14. Indivíduos e interações são mais importantes do
que processos e ferramentas
Software funcionando é mais importante do que
documentação detalhada
Colaboração com o cliente é mais importante do
que negociação de contratos
Adaptação às mudanças é mais importante do que
seguir um plano inicial
16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 14
- 15. Prioridade máxima: satisfazer o usuário através de
entrega rápida e contínua de software com valor.
Receber bem requisitos mutantes, mesmo tarde no
desenvolvimento. Processos ágeis aguentam
mudanças para a vantagem competitiva do
consumidor.
Entregar software em funcionamento com
frequência, de algumas semanas a alguns meses,
dando preferência à menor periodicidade.
16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 15
- 16. Pessoas de negócio e desenvolvedores devem
trabalhar diariamente durante o projeto.
Construa projetos em volta de indivíduos
motivados. Dê a eles o ambiente e o suporte de que
eles precisam, e confie que eles farão o serviço.
O método mais eficiente de passar informação para
e entre uma equipe de desenvolvimento é conversa
cara-a-cara.
16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 16
- 17. Software rodando é a principal medida de
progresso.
Processos ágeis precisam de desenvolvimento
sustentável. Patrocinadores, desenvolvedores e
usuários devem aguentar manter um ritmo
constante indefinidamente.
Atenção contínua à excelência técnica e bom
projeto melhora a agilidade.
16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 17
- 18. Simplicidade -- a arte de maximizar a quantidade
de trabalho não realizado -- é essencial.
As melhores arquiteturas, requisitos e projetos
emergem de equipes auto-organizadas.
Em intervalos regulares, a equipe reflete sobre
como se tornar mais eficiente, e deve ajustar seu
comportamento de acordo.
16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 18
- 20. Comunicação
Negociação
Ciclo de Vida Iterativo
Gerenciamento Ágil
Modelagem Ágil
Visibilidade do Projeto
16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 20
- 21. 16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 21
- 22. Evitar telefone sem fio
Desenvolvedores diretamente com o cliente
16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 22
- 23. 4 variáveis do desenvolvimento de Software
Escop Prazo Custo Qualidade
o
Fixo Variável
Abordagem tradicional
16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 23
- 24. 4 variáveis do desenvolvimento de Software
Escop Prazo Custo Qualidade
o
Variável Fixo
Abordagem Ágil
16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 24
- 25. 16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 25
- 26. 16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 26
- 27. 16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 27
- 28. 16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 28
- 29. 16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 29
- 30. 16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 30
- 31. 16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 31
- 32. 16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 32
- 33. 16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 33
- 34. 16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 34
- 37. Kent Beck Estados Unidos 1999
XP é leve
XP é focado no
desenvolvimento de
software
XP funciona em times de
qualquer tamanho
XP se adapta bem a requisitos
vagos e que mudam
16/9/2012
rapidamente
©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 37
- 38. 16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 38
- 39. 16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 39
- 40. Ciclo Trimestral Releases
Ciclo Semanal Iterações
16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 40
- 41. Cliente escreve estórias Jogo do
Planejamento
Retrospectiva
Desenvolvedores Estimam
Cliente aprova o resultado
Cliente Prioriza as estórias
Desenvolvedores constroem
Desenvolvedores Implementam
tarefas
16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 41
- 42. Estórias exprimem o comportamento de uma
funcionalidade geral
Estórias são escritas na linguagem natural
Formato: Who – What - Why
Ex:
• No papel de administrador do sistema eu quero
realizar o cadastro de usuários, para armazenar
informações de contato: nome, telefone e e-mail.
16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 42
- 43. Objetivo: Estimar custo de desenvolvimento
das estórias.
Características:
Cartas
Todos fazem estimativas para
todas as estórias
As estimativas são individuais
Tempo (horas/dias)
16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 43
- 44. Responsabilidade nas mãos do cliente
“Aguarde e Confie”
Conceito Chave no XP
Limite máximo
16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 44
- 45. Ex:
• Estória: No papel de administrador do sistema eu quero
realizar o cadastro de usuários, para armazenar
informações de contato: nome, telefone e e-mail.
• Tarefas:
▪ Modelagem do banco de dados
▪ Criar Interface
▪ Implementar cadastro
16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 45
- 46. Programação em par
• Todo o código
• Um digita, outro revisa
• Redução de bugs
• Disseminação do conhecimento
• Pressão do par
• Simplicidade
• Velocidade
16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 46
- 47. Desenvolvimento dirigido a testes
Propriedade coletiva do código
Base de código unificada
Sentar-se junto
Refatoração
16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 47
- 48. “Se você não tiver um ambiente razoável para trabalhar, seu projeto não terá
sucesso” (Kent Beck)
Quadro(s) brancos
Post-it
Cadeiras giratórias
Jogos
Comida e café
Folhas em branco
Privacidade
16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 48
- 49. 16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 49
- 50. 16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 50
- 51. 16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 51
- 52. 16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 52
- 53. •Comunicação
•Simplicidade
•Coragem
Valores •Feedback
•Respeito
Princípios
Práticas
16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 53
- 54. •Auto-semelhança (Self-Similarity)
• Benefício Mútuo (Mutal Benefit)
Valores •Diversidade (Diversity)
•Economia (Economics)
• Falha (Failure)
• Fluidez (Flow)
• Humanismo (Humanity)
Princípios • Melhoria (Improvement)
•Oportunidade (Opportunity)
•Passos de Bebê (Baby Steps)
•Qualidade (Quality)
• Redundância (Redundancy)
Práticas • Reflexão (Reflection)
•Responsabilidade Aceita (Accepted Responsa
16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 54
- 55. Práticas Primárias
•Ambiente Informativo (Informative workspace)
Valores •Build de dez minutos (Ten-MinuteBuild)
•Ciclo Semanal (Weekly Cycle)
•Ciclo Trimestral (Quarterly Cycle)
•Desenvolvimento Orientado a Testes
(Test-First Programming)
Princípios •Design Incremental (Incremental Desing)
•Equipe Integral (Whole Team)
•Folga (Slack)
•Histórias (Stories)
•Integração Contínua (Continuous Integration)
Práticas •Programação em Par (Pair Programming)
•Sentar-se junto (Sit together)
•Trabalho Energizado (Energized Work)
16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 55
- 56. Práticas Corolárias
• Análise da Raiz do Problema (Root-Cause Analysis)
• Base de Código Unificada (Single Code Base)
Valores • Código Coletivo (Shared Code)
• Código e testes (Code and Tests)
• Continuidade da equipe (Team Continuity)
• Contrato de Escopo Negociável
(Negotiated12 Scope Contract)
Princípios • Envolvimento do cliente Real
(Real Custumer Involvement)
• Equipes que encolhem (Shrinking Teams)
• Implantação diária (Daily Deployment)
• Implantação incremental (Incremental Deployment)
Práticas • Pagar por uso (Pay-Per-Use)
16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 56
- 58. • Pequenos ciclos de pedidos
• Escopo limitado
• Implementação das características prioritárias ao
negócio primeiro
16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 58
- 59. • XP pede ao cliente que escolha a funcionalidade
que faça maior diferença economicamente.
16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 59
- 60. • Muitos testes são feitos
▪ Desenvolvedores testam função por função
▪ Clientes testam funcionalidade por funcionalidade
16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 60
- 61. • O cliente vira parte integral do time
16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 61
- 62. • Implementação em ciclos
16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 62
- 64. 16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 64
- 65. 16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 65
- 66. 16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 66
- 67. 16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 67
- 68. 16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 68
- 69. 16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 69
- 71. FDD – Feature Driven Development
Crystal Family
DSDM (Dynamic Systems Development
Method)
ASD (Adaptative Software Development)
16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 71
- 73. Estória 0:
No papel de administrador do sistema eu quero realizar o cadastro de
usuários, para armazenar informações de contato: nome, telefone e
e-mail.
Estória 1:
• O sistema deverá permitir aos usuários cadastrarem notícias. A
notícia deve ter manchete, descrição e conteúdo. O sistema deverá
listar todas as notícias.
Estória 2:
• A partir da listagem das notícias, o sistema deverá permitir ao usuário
enviar uma notícia para o e-mail de um usuário cadastrado.
16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 73
- 74. 16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 74
- 76. Seus princípios e práticas proporcionam um
equilíbrio entre as filosofias tradicionais e as
mais extremas, proporcionando uma
transição mais suave para organizações mais
conservadoras, e a retomada da
responsabilidade para as organizações que se
desiludiram com as propostas mais radicais.
16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 76
- 77. 1997-1998, Singapura
Contexto: Desenvolvimento de um grande sistema de
empréstimos para um banco internacional
Anteriormente, após 2 anos de consultoria, 3.500
páginas de casos de (in)uso e um modelo de objetos
com centenas de classes, foi avaliado como
impossível
Decisão: Implantação das metodologias de OOAD de
Peter Coad e de gerência de projetos de Jeff De Luca
Resultado: 15 meses após a contratação da dupla,
2.000 features entregues por uma equipe de 50
pessoas
16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 77
- 78. 16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 78
- 79. Característica ou funcionalidade
Pequena o suficiente para ser implementada no
máximo em 2 semanas
Oferece valor para o cliente
Mapeia passos em uma atividade de negócio
Pode ser um passo de um caso de uso
Às vezes pode ser o próprio caso de uso
Conceito muito próximo ao de um requisito
funcional
Modelo: <ação> <resultado> <objeto>
Calcular o total de uma venda
Autorizar uma transação com cartão de um cliente
16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 79
- 80. Desenvolver um Modelo Abrangente
Modelagem dos Processos de Negócio (BPM)
Análise Orientada por Objetos (OOA)
Construir a Lista de Features
Decomposição Funcional
Planejar por Feature
Plano de Desenvolvimento
Prioridade, Dependência, Distribuição de Trabalho
Detalhar por Feature
Projeto OO (OOD), Estudo Detalhado
Construir por Feature
Programação OO (OOP)
Inspeção, Testes, Integração
©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 80
- 86. 16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 86
- 87. 16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 87
- 88. 16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 88
- 89. 16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 89
- 90. 16/9/2012 ©2010 | Mauricio Cesar Santos da Purificação | Grupo DW-UFBA 90