SlideShare uma empresa Scribd logo
1 de 47
Metodologias Ágeis
Uma breve introdução
Achiles Camilo
PMI-ACP, CAPM, CSM, MCTS
Diretor Adjunto de Certificação
Como tudo começou?
Engenharia de Software
• No final dos 50 surgiu o termo Engenharia de

Software;
• Dessa época até meados dos anos 80, foi a

famosa Crise de Software:
• Prazos não cumpridos;

• Hardware caro;

• Orçamentos estourados;

• Não atendiam os requisitos;

• Baixa qualidade;

• E isso quando era entregue!!
There is “No Silver Bullet...”
• Em 86, Brooks lançou a célebre frase, onde
explica um pouco o “segredo” dos softwares;
E a coisa foi ficando séria...
• Ferramentas CASE;

• Modelos de Processo (CMM);
• Início da criação de Métodos;
– Disciplina;
– Profissionalismo!
E chegou a tal da Internet!
• Trocas de emails;
• Fóruns de discussão;
• Disseminação do conhecimento;
Já ouviram falar em cachoeira?
Como assim?
• Sem mais documentação???
• Chega de diagramas???
• Agora é só código???
The Agile Alliance surge!!
• De 11 a 13 de Fevereiro de 2001 um grupo se

intitulado “The Agile Alliance” se reuniram e criaram
algo simples;
• O Agile Manifesto pode ser visto através do site:
http://agilemanifesto.org
Agile Manifesto!!
E se popularizou o/
• Desde então vários evangelistas se espalharam pelo mundo;
• Livros, artigos, fóruns, comunidades e uma infinidade de meios
são utilizados para expor essa 8ª maravilha ao mundo;

• Mas isso nos traz a um pequeno probleminha:
– Cada empresa, cada equipe e cada pessoa entende Agile
como acha conveniente
– E temos empresas/equipes/pessoas ágeis que não são tão
ágeis assim...
Como assim?
• Como ser um verdadeiro “agilista” então?
• Simples!! Basta utilizar as técnicas e métodos ágeis
como eles são...
• Eles são feitos para serem customizados e se
adaptarem

modificados;

a

suas

necessidades,

mas

não
Métodos e Técnicas
• Técnicas ágeis são atividades que buscam maneiras

de colocar na prática o que os princípios ágeis
propõe:
– TDD, Programação em par, Reuniões diárias...
• Um conjunto de técnicas agrupadas para facilitar o
desenvolvimento de Software são os métodos:
– Scrum, XP, Crystal, DSDM, Lean, Kanban...
Técnicas
Post Its!! (CardWall)
• Quem usa Post It pra anotar as coisas?
• Uma das técnicas mais clássicas e mais notadas;

• Gera um efeito visual marcante;
• Motiva a famosa “Gestão a Vista”!
Baklogs
• Backlog nada mais é do que o escopo de trabalho;
• Tudo que tem que ser feito, todos os “requisitos
funcionais” do sistema estão presentes no Backlog;
• Podem ser divididos entre:
– Backlog do Produto;

– Backlog de Sprints;
Iterações
• No

contexto

ágil,

todas

as

iterações

são

“timeboxes”, ou seja, todos são períodos de tempo
pré-determinados;
• Auxiliam na segmentação do trabalho;
• Melhoram a gestão e o controle das entregas;
Entregas Constantes
• No mundo ágil, todas as entregas são funcionais!!
• E devem ser realizadas frequentemente para captar
os feedbacks dos stakeholders sobre o produto;
• Auxiliam para melhor entender as necessidades do
cliente;
Integração Contínua
• Todo desenvolvimento realizado entre os membros

da equipe devem ser testados quanto a integração
com todo o software; (Build Automático)
• Para toda entrega gerada, sempre deve haver uma
preocupação com a Integração com os demais
componentes do Sistema;
TDD (Desenvolvimento Orientado a Teste)
• Teste primeiro!!
• Vai escrever um método? O teste unitário dele já
está pronto?
• Antes de qualquer linha de código, deve haver uma
muitas linhas de testes;
Stand Up (Reuniões em pé)
• Reuniões em pé contendo os membros da equipe;
• Geralmente

duram

15

minutos

e

devem

ser

discutidos os problemas que impedem o avanço da

equipe;
• A frequência é determinada pela equipe;
Pair Programming (Programação em par)
• Por que em par???
• Auxilia nos testes (TDD, lembra?);

• Evita cometer pequenos erros;
• Evita o tédio/ócio, e aumenta a produtividade;
Estimativas
• Medidas:

– Pontos de História (Sequencia Fibonacci);
– Velocidade do Time;
• Técnicas:
– Planning Poker;
– Técnica Delphi;
– Comparação;
Conceito de “Done” (Pronto)
• Só pode ser considerado “Pronto” se for testado e

aprovado!
• Já testou? Não... Então não está pronto!
• Cliente aceitou? Não... Então não está pronto!
Histórias de Usuário
• 3 C’s

• INVEST

– Cartão

– Independente

– Conversa

– Negociável

– Confirmação

– Estimável

– Pequena
– Testável
Histórias de Usuário
Refactoring (Refatoração)
• Princípio básico de Melhoria Contínua aplicada ao

código;
• Após um método ser testado com êxito, ele está apto

a ser refatorado, ou seja, ele deverá ser melhorado,
porém, sem perder a funcionalidade;

• Recomendação: Código Limpo, Robert Martin!
Equipes Auto Gerenciáveis
• Com a equipe em comum acordo sobre o backlog a

ser trabalhado, assume-se que todos sabem seus
papéis;
• Em uma equipe ágil madura, os “líderes” resolvem os
impedimentos da equipe, pois a distribuição de
atividades e relacionamento interno são resolvidos
pelos próprios membros;
Métodos
Scrum
• Metodologia ágil mais famosa;
• Baseada em Sprints de 2 a 4 semanas;

• Possui 2 papéis críticos, além da equipe do projeto:
– Scrum Master;
– Product Owner;
Scrum
• Utiliza as técnicas:

– Backlog
• Produto;
• Sprint;
– Reunião em pé diária;
• O que foi feito?
• O que vou fazer?
• Quais os problemas?
– Gráficos de Burndown;
Scrum
• Possui 3 reuniões chaves:

– Sprint Planning (Planejamento do Sprint)
• Planejamento do o backlog do Sprint;
– Sprint Review (Revisão do Sprint)
• Valida as entregas;
• Avalia-se a continuidade do projeto;
– Sprint Retrospective (Retrospecita do Sprint)
• Coleta-se as lições aprendidas durante o
Sprint;
XP (eXtreme Programming)
• 5 Valores:

• 4 Práticas:

– Comunicação;

– Codificar;

– Coragem;

– Testar;

– Feedbacks;

– Escutar;

– Respeito;

– “Modelar”;

– Simplicidade;
XP (eXtreme Programming)
• 12 Princípios:
– Feedbacks rápidos;

– Experimentos concretos;

– Simplicidade assumida;

– Comunicação honesta;

– Mudanças incrementais;

– Responsabilidade;

– Abraçar mudanças;

– Adaptação ao local de
trabalho;

– Qualidade de trabalho;
– Investimentos iniciais
baixos;

– Poucas “viagens”;
– Indicadores honestos;
XP (eXtreme Programming)
• 12 Práticas:
– Jogo do Planejamento;

– Programação em par;

– Pequenas entregas;

– Posse coletiva;

– Metáforas;

– Integração contínua;

– Modelagens simples;

– 40 h/semana;

– Testes;

– Clientes presentes;

– Refatorações;

– Padrões de código;
Lean
• Baseado totalmente no modelo Toyota de Produção,

é uma adaptação do “Lean Manufacturing” para
software;
• Possui 22 técnicas recomendadas para uso;
• Altamente escalável e pode ser “acoplada” a outras

metodologias;
Lean
• 7 Princípios:

– Eliminar o desperdício;
– Amplificar o aprendizado;
– Decidir o mais tarde possível;
– Entregar o mais cedo possível;
– Fortalecer o time;
– Construir integrações;
– Ver sempre como um todo;
Kanban
• Também originado de processos industrias, tem

como foco Gerir a Demanda de trabalho;
Kanban
• 4 Princípios:
– Comece com o que você faz hoje;
– Faça mudanças evolutivamente;
– Respeite o processo, os papéis, as responsabilidades
e os títulos;
– Encoraje atos de liderança em todos os níveis;
Kanban
• 6 Práticas:
– Visualize;
– Limite o WIP (Trabalho em Processo);
– Gerencie o fluxo;
– Tenha políticas explícitas;
– Implemente ciclos de feedback;
– Melhore colaborativamente, evolua experimentalmente;
Gestão de Projetos
Ágeis
Gerenciamento de Projetos é mais fácil do
que parece
• Em processos ad hoc, temos a Execução;
• Por necessidade, “descobriram” que era interessante termos
um Monitoramento e Controle do projeto;

• Com o passar do tempo, aprendemos a Planejar e a Iniciar o
projeto consultando uma base histórica
• E tudo isso se Encerra no final;
Integrando o PMBoK com o Agile
Monitoramento
& Controle

Iniciação

Planejamento

Encerramento

Execução
E o Gerente de Projeto... Como que fica?
• Existe sim lugar para o Gerente de Projeto em um projeto ágil;
• Existem vários papéis de lideranças (Coachs, Scrum Masters
ou qualquer outro), e as ações desempenhadas para o sucesso
do projeto são praticamente as mesmas;
• Mas se partimos do princípio que a equipe deve escolher o seu
“líder”, ainda assim esse papel pode coexistir com o GP;
Saibam... nós não estamos sozinhos ;)
• O PMI possui a Agile Community of Practice
• Há também a Agile Alliance

• Comunidade Ágil do InfoQ
• Comunidades específicas

– Scrum Alliance / Lean Community / Scum.org...
Dúvidas?
http://br.linkedin.com/in/achilescamilo
achiles.camilo@pmigo.org.br

Achiles Camilo
PMI-ACP, CAPM, CSM, MCTS
Diretor Adjunto de Certificação

Mais conteúdo relacionado

Mais procurados

Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...Marcio Miyamoto
 
Métricas Em Fabricas De Software
Métricas Em Fabricas De SoftwareMétricas Em Fabricas De Software
Métricas Em Fabricas De SoftwareLuiz Borba
 
Testes de software
Testes de softwareTestes de software
Testes de softwareVitor Castro
 
Cornucópia – um agile game para facilitar a codificação segura - Agile Trends...
Cornucópia – um agile game para facilitar a codificação segura - Agile Trends...Cornucópia – um agile game para facilitar a codificação segura - Agile Trends...
Cornucópia – um agile game para facilitar a codificação segura - Agile Trends...Wagner Mendes Voltz Fusca
 
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MGModelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MGNeubio Ferreira
 
Muita gestão e pouca engenharia, por onde anda o XP?
Muita gestão e pouca engenharia, por onde anda o XP?Muita gestão e pouca engenharia, por onde anda o XP?
Muita gestão e pouca engenharia, por onde anda o XP?Cristiano Schwening
 
Metodologias Ágeis para o Desenvolvimento de Software
Metodologias Ágeis para o Desenvolvimento de SoftwareMetodologias Ágeis para o Desenvolvimento de Software
Metodologias Ágeis para o Desenvolvimento de SoftwareAdolfo Neto
 
Gerenciamento de equipes no desenvolvimento de software
Gerenciamento de equipes no desenvolvimento de softwareGerenciamento de equipes no desenvolvimento de software
Gerenciamento de equipes no desenvolvimento de softwareRoberto Brandini
 
Workshop Scrum Product Owner, Delírios de PO em Dia de Verão v6
Workshop Scrum Product Owner, Delírios de PO em Dia de Verão v6Workshop Scrum Product Owner, Delírios de PO em Dia de Verão v6
Workshop Scrum Product Owner, Delírios de PO em Dia de Verão v6Rildo (@rildosan) Santos
 
PARE, entenda seu contexto e contribua de maneira efetiva como QA
PARE, entenda seu contexto e contribua de maneira efetiva como QAPARE, entenda seu contexto e contribua de maneira efetiva como QA
PARE, entenda seu contexto e contribua de maneira efetiva como QAFrederico Augusto Do Carmo Moreira
 
Notification e result pattern
Notification e result patternNotification e result pattern
Notification e result patternAna Manzan
 
Conceitos Básicos Sobre Metodologias Ágeis para Desenvolvimento de Software
Conceitos Básicos Sobre Metodologias Ágeis para Desenvolvimento de SoftwareConceitos Básicos Sobre Metodologias Ágeis para Desenvolvimento de Software
Conceitos Básicos Sobre Metodologias Ágeis para Desenvolvimento de SoftwareFelizardo Charles
 
Extreme Programming (XP) e Scrum
Extreme Programming (XP) e ScrumExtreme Programming (XP) e Scrum
Extreme Programming (XP) e ScrumRafael Souza
 
12 passos para um código melhor
12 passos para um código melhor12 passos para um código melhor
12 passos para um código melhorGilmar Pupo
 
Agile, mudando o foco
Agile, mudando o focoAgile, mudando o foco
Agile, mudando o focoewerttonbravo
 
TDC2018FLN | Trilha Agile - Agilidade e para desenvolvedores?
TDC2018FLN | Trilha Agile - Agilidade e para desenvolvedores?TDC2018FLN | Trilha Agile - Agilidade e para desenvolvedores?
TDC2018FLN | Trilha Agile - Agilidade e para desenvolvedores?tdc-globalcode
 
Métodos Ágeis - Manifesto Ágil, Scrum e XP
Métodos Ágeis - Manifesto Ágil, Scrum e XPMétodos Ágeis - Manifesto Ágil, Scrum e XP
Métodos Ágeis - Manifesto Ágil, Scrum e XPJoaquim Lopes Júnior
 
Pesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de SoftwarePesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de SoftwareAdolfo Neto
 

Mais procurados (20)

Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
 
Métricas Em Fabricas De Software
Métricas Em Fabricas De SoftwareMétricas Em Fabricas De Software
Métricas Em Fabricas De Software
 
Testes de software
Testes de softwareTestes de software
Testes de software
 
Cornucópia – um agile game para facilitar a codificação segura - Agile Trends...
Cornucópia – um agile game para facilitar a codificação segura - Agile Trends...Cornucópia – um agile game para facilitar a codificação segura - Agile Trends...
Cornucópia – um agile game para facilitar a codificação segura - Agile Trends...
 
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MGModelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
 
Muita gestão e pouca engenharia, por onde anda o XP?
Muita gestão e pouca engenharia, por onde anda o XP?Muita gestão e pouca engenharia, por onde anda o XP?
Muita gestão e pouca engenharia, por onde anda o XP?
 
Metodologias Ágeis para o Desenvolvimento de Software
Metodologias Ágeis para o Desenvolvimento de SoftwareMetodologias Ágeis para o Desenvolvimento de Software
Metodologias Ágeis para o Desenvolvimento de Software
 
Gerenciamento de equipes no desenvolvimento de software
Gerenciamento de equipes no desenvolvimento de softwareGerenciamento de equipes no desenvolvimento de software
Gerenciamento de equipes no desenvolvimento de software
 
Workshop Scrum Product Owner, Delírios de PO em Dia de Verão v6
Workshop Scrum Product Owner, Delírios de PO em Dia de Verão v6Workshop Scrum Product Owner, Delírios de PO em Dia de Verão v6
Workshop Scrum Product Owner, Delírios de PO em Dia de Verão v6
 
PARE, entenda seu contexto e contribua de maneira efetiva como QA
PARE, entenda seu contexto e contribua de maneira efetiva como QAPARE, entenda seu contexto e contribua de maneira efetiva como QA
PARE, entenda seu contexto e contribua de maneira efetiva como QA
 
Notification e result pattern
Notification e result patternNotification e result pattern
Notification e result pattern
 
Conceitos Básicos Sobre Metodologias Ágeis para Desenvolvimento de Software
Conceitos Básicos Sobre Metodologias Ágeis para Desenvolvimento de SoftwareConceitos Básicos Sobre Metodologias Ágeis para Desenvolvimento de Software
Conceitos Básicos Sobre Metodologias Ágeis para Desenvolvimento de Software
 
Métodos Ágeis - Aula02
Métodos Ágeis - Aula02Métodos Ágeis - Aula02
Métodos Ágeis - Aula02
 
Extreme Programming (XP) e Scrum
Extreme Programming (XP) e ScrumExtreme Programming (XP) e Scrum
Extreme Programming (XP) e Scrum
 
12 passos para um código melhor
12 passos para um código melhor12 passos para um código melhor
12 passos para um código melhor
 
Agile, mudando o foco
Agile, mudando o focoAgile, mudando o foco
Agile, mudando o foco
 
TDC2018FLN | Trilha Agile - Agilidade e para desenvolvedores?
TDC2018FLN | Trilha Agile - Agilidade e para desenvolvedores?TDC2018FLN | Trilha Agile - Agilidade e para desenvolvedores?
TDC2018FLN | Trilha Agile - Agilidade e para desenvolvedores?
 
Carreira2 0
Carreira2 0Carreira2 0
Carreira2 0
 
Métodos Ágeis - Manifesto Ágil, Scrum e XP
Métodos Ágeis - Manifesto Ágil, Scrum e XPMétodos Ágeis - Manifesto Ágil, Scrum e XP
Métodos Ágeis - Manifesto Ágil, Scrum e XP
 
Pesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de SoftwarePesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de Software
 

Semelhante a Metodologias Ágeis: Uma breve introdução

Palestra sobre Fundamentos do Scrum e Kanban.
Palestra sobre Fundamentos do Scrum e Kanban.Palestra sobre Fundamentos do Scrum e Kanban.
Palestra sobre Fundamentos do Scrum e Kanban.Rafael de Oliveira
 
Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - Kanban
Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - KanbanMetodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - Kanban
Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - KanbanMatheus Costa
 
Introdução às Metodologias Ágeis de Desenvolvimento
Introdução às Metodologias Ágeis de DesenvolvimentoIntrodução às Metodologias Ágeis de Desenvolvimento
Introdução às Metodologias Ágeis de DesenvolvimentoJerry Medeiros
 
Delphi Conference 2012 - Qualidade no Código
Delphi Conference 2012 - Qualidade no CódigoDelphi Conference 2012 - Qualidade no Código
Delphi Conference 2012 - Qualidade no CódigoJosé Araújo
 
Gestão Ágil de Projetos com Scrum
Gestão Ágil de Projetos com ScrumGestão Ágil de Projetos com Scrum
Gestão Ágil de Projetos com ScrumNoaldo Sales
 
Introdução ao desenvolvimento ágil com Scrum
Introdução ao desenvolvimento ágil com ScrumIntrodução ao desenvolvimento ágil com Scrum
Introdução ao desenvolvimento ágil com ScrumInove
 
Desenvolvimento ágil com Scrum e TFS 11 - Microsoft TechDay Sorocaba 2012
Desenvolvimento ágil com Scrum e TFS 11 - Microsoft TechDay Sorocaba 2012Desenvolvimento ágil com Scrum e TFS 11 - Microsoft TechDay Sorocaba 2012
Desenvolvimento ágil com Scrum e TFS 11 - Microsoft TechDay Sorocaba 2012Igor Abade
 
Minicurso: Uma Introdução ao Desenvolvimento de Software Lean
Minicurso: Uma Introdução ao Desenvolvimento de Software LeanMinicurso: Uma Introdução ao Desenvolvimento de Software Lean
Minicurso: Uma Introdução ao Desenvolvimento de Software LeanClaudia Melo
 
Implementing lean software development
Implementing lean software developmentImplementing lean software development
Implementing lean software developmentLuiz Faias Junior
 

Semelhante a Metodologias Ágeis: Uma breve introdução (20)

Palestra sobre Fundamentos do Scrum e Kanban.
Palestra sobre Fundamentos do Scrum e Kanban.Palestra sobre Fundamentos do Scrum e Kanban.
Palestra sobre Fundamentos do Scrum e Kanban.
 
Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - Kanban
Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - KanbanMetodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - Kanban
Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - Kanban
 
Introdução às Metodologias Ágeis de Desenvolvimento
Introdução às Metodologias Ágeis de DesenvolvimentoIntrodução às Metodologias Ágeis de Desenvolvimento
Introdução às Metodologias Ágeis de Desenvolvimento
 
Delphi Conference 2012 - Qualidade no Código
Delphi Conference 2012 - Qualidade no CódigoDelphi Conference 2012 - Qualidade no Código
Delphi Conference 2012 - Qualidade no Código
 
Introdução ao XP
Introdução ao XPIntrodução ao XP
Introdução ao XP
 
Gestão Ágil de Projetos com Scrum
Gestão Ágil de Projetos com ScrumGestão Ágil de Projetos com Scrum
Gestão Ágil de Projetos com Scrum
 
Introdução ao desenvolvimento ágil com Scrum
Introdução ao desenvolvimento ágil com ScrumIntrodução ao desenvolvimento ágil com Scrum
Introdução ao desenvolvimento ágil com Scrum
 
Scrum trainning
Scrum trainningScrum trainning
Scrum trainning
 
Desenvolvimento ágil com Scrum e TFS 11 - Microsoft TechDay Sorocaba 2012
Desenvolvimento ágil com Scrum e TFS 11 - Microsoft TechDay Sorocaba 2012Desenvolvimento ágil com Scrum e TFS 11 - Microsoft TechDay Sorocaba 2012
Desenvolvimento ágil com Scrum e TFS 11 - Microsoft TechDay Sorocaba 2012
 
DDD + BDD + TDD + Scrum
DDD + BDD + TDD + ScrumDDD + BDD + TDD + Scrum
DDD + BDD + TDD + Scrum
 
Scrum
ScrumScrum
Scrum
 
Palestra scrum
Palestra scrumPalestra scrum
Palestra scrum
 
Minicurso: Uma Introdução ao Desenvolvimento de Software Lean
Minicurso: Uma Introdução ao Desenvolvimento de Software LeanMinicurso: Uma Introdução ao Desenvolvimento de Software Lean
Minicurso: Uma Introdução ao Desenvolvimento de Software Lean
 
Métodos ágeis
Métodos ágeisMétodos ágeis
Métodos ágeis
 
Implementing lean software development
Implementing lean software developmentImplementing lean software development
Implementing lean software development
 
Scrum
ScrumScrum
Scrum
 
SCRUM - Aula1
SCRUM - Aula1SCRUM - Aula1
SCRUM - Aula1
 
Metodologias Ágeis
Metodologias ÁgeisMetodologias Ágeis
Metodologias Ágeis
 
Scrum workshop
Scrum   workshopScrum   workshop
Scrum workshop
 
SCRUM.pptx
SCRUM.pptxSCRUM.pptx
SCRUM.pptx
 

Metodologias Ágeis: Uma breve introdução

  • 1. Metodologias Ágeis Uma breve introdução Achiles Camilo PMI-ACP, CAPM, CSM, MCTS Diretor Adjunto de Certificação
  • 3. Engenharia de Software • No final dos 50 surgiu o termo Engenharia de Software; • Dessa época até meados dos anos 80, foi a famosa Crise de Software: • Prazos não cumpridos; • Hardware caro; • Orçamentos estourados; • Não atendiam os requisitos; • Baixa qualidade; • E isso quando era entregue!!
  • 4. There is “No Silver Bullet...” • Em 86, Brooks lançou a célebre frase, onde explica um pouco o “segredo” dos softwares;
  • 5. E a coisa foi ficando séria... • Ferramentas CASE; • Modelos de Processo (CMM); • Início da criação de Métodos; – Disciplina; – Profissionalismo!
  • 6. E chegou a tal da Internet! • Trocas de emails; • Fóruns de discussão; • Disseminação do conhecimento;
  • 7. Já ouviram falar em cachoeira?
  • 8.
  • 9. Como assim? • Sem mais documentação??? • Chega de diagramas??? • Agora é só código???
  • 10. The Agile Alliance surge!! • De 11 a 13 de Fevereiro de 2001 um grupo se intitulado “The Agile Alliance” se reuniram e criaram algo simples; • O Agile Manifesto pode ser visto através do site: http://agilemanifesto.org
  • 12. E se popularizou o/ • Desde então vários evangelistas se espalharam pelo mundo; • Livros, artigos, fóruns, comunidades e uma infinidade de meios são utilizados para expor essa 8ª maravilha ao mundo; • Mas isso nos traz a um pequeno probleminha: – Cada empresa, cada equipe e cada pessoa entende Agile como acha conveniente – E temos empresas/equipes/pessoas ágeis que não são tão ágeis assim...
  • 13. Como assim? • Como ser um verdadeiro “agilista” então? • Simples!! Basta utilizar as técnicas e métodos ágeis como eles são... • Eles são feitos para serem customizados e se adaptarem modificados; a suas necessidades, mas não
  • 14. Métodos e Técnicas • Técnicas ágeis são atividades que buscam maneiras de colocar na prática o que os princípios ágeis propõe: – TDD, Programação em par, Reuniões diárias... • Um conjunto de técnicas agrupadas para facilitar o desenvolvimento de Software são os métodos: – Scrum, XP, Crystal, DSDM, Lean, Kanban...
  • 16. Post Its!! (CardWall) • Quem usa Post It pra anotar as coisas? • Uma das técnicas mais clássicas e mais notadas; • Gera um efeito visual marcante; • Motiva a famosa “Gestão a Vista”!
  • 17. Baklogs • Backlog nada mais é do que o escopo de trabalho; • Tudo que tem que ser feito, todos os “requisitos funcionais” do sistema estão presentes no Backlog; • Podem ser divididos entre: – Backlog do Produto; – Backlog de Sprints;
  • 18. Iterações • No contexto ágil, todas as iterações são “timeboxes”, ou seja, todos são períodos de tempo pré-determinados; • Auxiliam na segmentação do trabalho; • Melhoram a gestão e o controle das entregas;
  • 19. Entregas Constantes • No mundo ágil, todas as entregas são funcionais!! • E devem ser realizadas frequentemente para captar os feedbacks dos stakeholders sobre o produto; • Auxiliam para melhor entender as necessidades do cliente;
  • 20. Integração Contínua • Todo desenvolvimento realizado entre os membros da equipe devem ser testados quanto a integração com todo o software; (Build Automático) • Para toda entrega gerada, sempre deve haver uma preocupação com a Integração com os demais componentes do Sistema;
  • 21. TDD (Desenvolvimento Orientado a Teste) • Teste primeiro!! • Vai escrever um método? O teste unitário dele já está pronto? • Antes de qualquer linha de código, deve haver uma muitas linhas de testes;
  • 22. Stand Up (Reuniões em pé) • Reuniões em pé contendo os membros da equipe; • Geralmente duram 15 minutos e devem ser discutidos os problemas que impedem o avanço da equipe; • A frequência é determinada pela equipe;
  • 23. Pair Programming (Programação em par) • Por que em par??? • Auxilia nos testes (TDD, lembra?); • Evita cometer pequenos erros; • Evita o tédio/ócio, e aumenta a produtividade;
  • 24. Estimativas • Medidas: – Pontos de História (Sequencia Fibonacci); – Velocidade do Time; • Técnicas: – Planning Poker; – Técnica Delphi; – Comparação;
  • 25. Conceito de “Done” (Pronto) • Só pode ser considerado “Pronto” se for testado e aprovado! • Já testou? Não... Então não está pronto! • Cliente aceitou? Não... Então não está pronto!
  • 26. Histórias de Usuário • 3 C’s • INVEST – Cartão – Independente – Conversa – Negociável – Confirmação – Estimável – Pequena – Testável
  • 28. Refactoring (Refatoração) • Princípio básico de Melhoria Contínua aplicada ao código; • Após um método ser testado com êxito, ele está apto a ser refatorado, ou seja, ele deverá ser melhorado, porém, sem perder a funcionalidade; • Recomendação: Código Limpo, Robert Martin!
  • 29. Equipes Auto Gerenciáveis • Com a equipe em comum acordo sobre o backlog a ser trabalhado, assume-se que todos sabem seus papéis; • Em uma equipe ágil madura, os “líderes” resolvem os impedimentos da equipe, pois a distribuição de atividades e relacionamento interno são resolvidos pelos próprios membros;
  • 31. Scrum • Metodologia ágil mais famosa; • Baseada em Sprints de 2 a 4 semanas; • Possui 2 papéis críticos, além da equipe do projeto: – Scrum Master; – Product Owner;
  • 32. Scrum • Utiliza as técnicas: – Backlog • Produto; • Sprint; – Reunião em pé diária; • O que foi feito? • O que vou fazer? • Quais os problemas? – Gráficos de Burndown;
  • 33. Scrum • Possui 3 reuniões chaves: – Sprint Planning (Planejamento do Sprint) • Planejamento do o backlog do Sprint; – Sprint Review (Revisão do Sprint) • Valida as entregas; • Avalia-se a continuidade do projeto; – Sprint Retrospective (Retrospecita do Sprint) • Coleta-se as lições aprendidas durante o Sprint;
  • 34. XP (eXtreme Programming) • 5 Valores: • 4 Práticas: – Comunicação; – Codificar; – Coragem; – Testar; – Feedbacks; – Escutar; – Respeito; – “Modelar”; – Simplicidade;
  • 35. XP (eXtreme Programming) • 12 Princípios: – Feedbacks rápidos; – Experimentos concretos; – Simplicidade assumida; – Comunicação honesta; – Mudanças incrementais; – Responsabilidade; – Abraçar mudanças; – Adaptação ao local de trabalho; – Qualidade de trabalho; – Investimentos iniciais baixos; – Poucas “viagens”; – Indicadores honestos;
  • 36. XP (eXtreme Programming) • 12 Práticas: – Jogo do Planejamento; – Programação em par; – Pequenas entregas; – Posse coletiva; – Metáforas; – Integração contínua; – Modelagens simples; – 40 h/semana; – Testes; – Clientes presentes; – Refatorações; – Padrões de código;
  • 37. Lean • Baseado totalmente no modelo Toyota de Produção, é uma adaptação do “Lean Manufacturing” para software; • Possui 22 técnicas recomendadas para uso; • Altamente escalável e pode ser “acoplada” a outras metodologias;
  • 38. Lean • 7 Princípios: – Eliminar o desperdício; – Amplificar o aprendizado; – Decidir o mais tarde possível; – Entregar o mais cedo possível; – Fortalecer o time; – Construir integrações; – Ver sempre como um todo;
  • 39. Kanban • Também originado de processos industrias, tem como foco Gerir a Demanda de trabalho;
  • 40. Kanban • 4 Princípios: – Comece com o que você faz hoje; – Faça mudanças evolutivamente; – Respeite o processo, os papéis, as responsabilidades e os títulos; – Encoraje atos de liderança em todos os níveis;
  • 41. Kanban • 6 Práticas: – Visualize; – Limite o WIP (Trabalho em Processo); – Gerencie o fluxo; – Tenha políticas explícitas; – Implemente ciclos de feedback; – Melhore colaborativamente, evolua experimentalmente;
  • 43. Gerenciamento de Projetos é mais fácil do que parece • Em processos ad hoc, temos a Execução; • Por necessidade, “descobriram” que era interessante termos um Monitoramento e Controle do projeto; • Com o passar do tempo, aprendemos a Planejar e a Iniciar o projeto consultando uma base histórica • E tudo isso se Encerra no final;
  • 44. Integrando o PMBoK com o Agile Monitoramento & Controle Iniciação Planejamento Encerramento Execução
  • 45. E o Gerente de Projeto... Como que fica? • Existe sim lugar para o Gerente de Projeto em um projeto ágil; • Existem vários papéis de lideranças (Coachs, Scrum Masters ou qualquer outro), e as ações desempenhadas para o sucesso do projeto são praticamente as mesmas; • Mas se partimos do princípio que a equipe deve escolher o seu “líder”, ainda assim esse papel pode coexistir com o GP;
  • 46. Saibam... nós não estamos sozinhos ;) • O PMI possui a Agile Community of Practice • Há também a Agile Alliance • Comunidade Ágil do InfoQ • Comunidades específicas – Scrum Alliance / Lean Community / Scum.org...

Notas do Editor

  1. Good afternoon! I am Gene Bounds, and I’m very pleased to be here representing PMI’s Board of Directors.