RSJUG Day
                                                   Porto Alegre, 31/05/2008




                           Ferra...
Agenda

   •    Crenças importantes
   •    Expectativas
   •    Manifesto Ágil
   •    Introdução a Lean, Scrum, XP e FDD...
Crença 1: Métodos ágeis não resolvem todos os problemas!




      Não existe bala de prata!

      Não existe nenhum luga...
Crença 2: Comunicação é a origem dos problemas!




Copyright © 2008 Daniel Wildt   [Slide 4]
Expectativas

   •    Discussão, muita discussão
   •    Ter a participação efetiva da platéia
   •    Perguntas a qualque...
O que é ser ágil? Manifesto ágil?


                                            http://www.agilemanifesto.org




Copyrigh...
O que é ser ágil? Manifesto ágil?

   • Algumas regras:
      • A medida primária de um projeto é software em
        func...
Algumas metodologias ágeis e recursos básicos

   • Agile Alliance
     http://www.agilealliance.org
     http://www.agile...
Quem veio antes? Lean?

   • Lean é um processo cultural de eliminação sistemática de
     desperdícios através de mecanis...
Quem veio antes? Lean?
 •      Elimine o desperdício (tudo que não agregar valor não deve
        entrar no processo)
 •  ...
Quem veio antes? XP, Scrum, Lean? Não! TOYOTA!

   • Taichii Ohno e Shigeo Shingo, responsáveis por termos
     como:
    ...
eXtreme Programming




     http://www.xprogramming.com/
Copyright © 2008 Daniel Wildt       [Slide 12]
eXtreme Programming




     http://www.extremeprogramming.org/rules/iterative.html
Copyright © 2008 Daniel Wildt         ...
Scrum




     http://www.jeffsutherland.com/oopsla/schwapub.pdf
Copyright © 2008 Daniel Wildt         [Slide 14]
Scrum




    http://www.codeproject.com/gen/design/scrum.asp?print=true
Copyright © 2008 Daniel Wildt        [Slide 15]
Feature Driven Development (FDD)




    Feature-Driven Development and Extreme Programming
    MAR 22, 2002 By Stephen Pa...
Feature Driven Development (FDD)




         Divisão das atividades ao desenvolver uma feature




     Feature-Driven De...
Feature Driven Development (FDD)




     Feature-Driven Development and Extreme Programming
     MAR 22, 2002 By Stephen ...
Feature Driven Development (FDD)




     Feature-Driven Development and Extreme Programming
     MAR 22, 2002 By Stephen ...
Confiança no time e Custo do time




      Custo da equipe?
      Número de pessoas da equipe x 8 horas de trabalho x
   ...
Captura / Análise e Gestão de Requisitos – Aprenda os valores que
as práticas trazem para a equipe e não as práticas




 ...
Planejamento




      Planejar release, iteração e o dia. Motivação e realidade
      sempre!

      Velocidade do time (...
Planejamento – Defina o que é necessário. E em pequenas partes!




      Defina o que vai ser feito dentro da janela do p...
Acompanhamento – Estabeleça com a equipe o que quer dizer
“pronto”.




      Pronto?

      Pronto pode indicar que a cod...
Acompanhamento – O gráfico de “burn down” não mente!




Copyright © 2008 Daniel Wildt   [Slide 25]
Desenvolvimento do time – Aproveite o Aprendizado!




      As pessoas vão aprender a fazer certo da primeira vez

      ...
Testes – Fazer teste de unidade não é o bastante!


                                Selenium IDE        JUnit




Copyrigh...
Testes – Exemplos de testes que um time pode usar




     http://www.ambysoft.com/essays/floot.html

Copyright © 2008 Dan...
Métricas e Qualidade




      Adicionar mais recursos em um projeto atrasado não
      resolve o problema!

      Manter ...
Para terminar...
 •      Terceirizar desenvolvimento de software usando
        Metodologias Ágeis?
 •      Distribuição d...
Referências

   • Beck, Kent; Andres, Cynthia. Extreme Programming
     explained: embrace change. 2ª edição. Pearson
    ...
Referências

   • Manifesto Ágil. Disponível na www em
     http://www.agilemanifesto.org
   • Tinkha, Andy; Kaner, Cem. E...
Referências

   • Qualidade em desenvolvimento Java para todos os
     gostos, por Daniel Wildt, apresentada no JustJava
 ...
Apoios

   • FACENSA e Grupo de Estudos Java da FACENSA (FUJA)
      • http://www.facensa.com.br
      • http://fuja.dev.j...
Perguntas




      Daniel Wildt
      dwildt@gmail.com


Copyright © 2008 Daniel Wildt   [Slide 35]
http://www.rs.sucesu.org.br/grupos_usuario/GUMA
            http://tech.groups.yahoo.com/group/xp-rs/

                   ...
Upcoming SlideShare
Loading in …5
×

RSJUG Day - Ferramentas Para Projetos Java Usando Metodologias Ageis - Daniel Wildt

3,243 views

Published on

The use of Agile Methodologies practices can get some help from java tools. In this post I'm talking about a presentation in an event from RSJUG, the Rio Grande do Sul Java Users Group about Tools for Java projects using Agile Methodologies.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,243
On SlideShare
0
From Embeds
0
Number of Embeds
513
Actions
Shares
0
Downloads
81
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

RSJUG Day - Ferramentas Para Projetos Java Usando Metodologias Ageis - Daniel Wildt

  1. 1. RSJUG Day Porto Alegre, 31/05/2008 Ferramentas para projetos Java usando Metodologias Ágeis Criando equipes efetivas para desenvolvimento de software Porto Alegre, 29/09/2004 Daniel Wildt FACENSA / java.net / XP-RS GUMA / DUG-RS / DevMedia / JEDI java.net XP- DUG- Copyright © 2008 Daniel Wildt [Slide 1]
  2. 2. Agenda • Crenças importantes • Expectativas • Manifesto Ágil • Introdução a Lean, Scrum, XP e FDD • Uma passada pelo ciclo de desenvolvimento • Captura / Análise e Gestão de Requisitos • Planejamento • Acompanhamento e Gestão (tracking) • Desenvolvimento e Teste • Qualidade (QA / Métricas) Copyright © 2008 Daniel Wildt [Slide 2]
  3. 3. Crença 1: Métodos ágeis não resolvem todos os problemas! Não existe bala de prata! Não existe nenhum lugar dizendo que você é impedido de usar Metodologias Ágeis quando segue algum modelo de qualidade como CMMI, MPS.BR, UP, PMI ou algo do tipo! Copyright © 2008 Daniel Wildt [Slide 3]
  4. 4. Crença 2: Comunicação é a origem dos problemas! Copyright © 2008 Daniel Wildt [Slide 4]
  5. 5. Expectativas • Discussão, muita discussão • Ter a participação efetiva da platéia • Perguntas a qualquer momento • Discussão, muita discussão (isto não foi um erro ☺) • E O MAIS IMPORTANTE: • Discutir o papel do time na aplicação de Metodologias Ágeis, em cada uma das abordagens apresentadas e verificar que ferramentas podem ser utilizadas para apoiar cada abordagem. • Foco em ferramentas puxando a necessidade de foco em pessoas e processos. Copyright © 2008 Daniel Wildt [Slide 5]
  6. 6. O que é ser ágil? Manifesto ágil? http://www.agilemanifesto.org Copyright © 2008 Daniel Wildt [Slide 6]
  7. 7. O que é ser ágil? Manifesto ágil? • Algumas regras: • A medida primária de um projeto é software em funcionamento • Maior prioridade é a satisfação do cliente e a entrega contínua de software de valor agregado. • Em intervalos regulares o time vai refletir sobre como se tornar mais efetivo • Pessoal da área de negócio e desenvolvimento devem trabalhar unidos. • Construa projetos com profissionais motivados. Dê aos profissionais o ambiente necessário e dê suporte as necessidades da equipe. Principalmente, confie na equipe para ter o trabalho realizado. • Mais em: http://www.agilemanifesto.org/principles.html Copyright © 2008 Daniel Wildt [Slide 7]
  8. 8. Algumas metodologias ágeis e recursos básicos • Agile Alliance http://www.agilealliance.org http://www.agilealliance.org/resources/usergroups http://www.agilealliance.org/articles • Feature Driven Development - FDD http://www.featuredrivendevelopment.com/ • Lean Development http://www.poppendieck.com/ • Scrum http://www.controlchaos.com/ • MSF for Agile http://lab.msdn.microsoft.com/teamsystem/workshop/msfagile/ • Crystal http://alistair.cockburn.us/crystal/crystal.html • DSDM http://www.dsdm.org/ • eXtreme Programming http://www.extremeprogramming.org/ Copyright © 2008 Daniel Wildt [Slide 8]
  9. 9. Quem veio antes? Lean? • Lean é um processo cultural de eliminação sistemática de desperdícios através de mecanismos de melhoria contínua. • Identifica valor na perspectiva do cliente • Disciplina para melhorar o fluxo de trabalho, focando naquilo que o cliente necessita. • Produção enxuta • Princípios importantes: • Eliminar desperdício (eliminate waste) • Construa com qualidade (build quality in) • Crie conhecimento (create knowledge – drive by feedback) Copyright © 2008 Daniel Wildt [Slide 9]
  10. 10. Quem veio antes? Lean? • Elimine o desperdício (tudo que não agregar valor não deve entrar no processo) • Minimize o inventário (exemplo: documentar externamente o código fonte é desnecessário) • Agilize a entrega (quanto mais rápido e mais consistente, melhor) • Desenvolva sob demanda (postergue decisões próprias ou trabalho não solicitado) • Fortaleça seus colaboradores (qualifique-os para exercerem suas atribuições) • Atenda aos requisitos do cliente (envolva o cliente/usuário no processo de desenvolvimento) • Faça certo na primeira vez (feedback) • Desconsidere otimizações locais (foque nos resultados globais da organização) • Mantenha parceria com fornecedores (reuso) • Crie uma cultura de melhoria contínua (desenvolvimento iterativo + Plan/Do/Check/Act) http://www.poppendieck.com Luiz Cláudio Parzianello, 2004 Copyright © 2008 Daniel Wildt [Slide 10]
  11. 11. Quem veio antes? XP, Scrum, Lean? Não! TOYOTA! • Taichii Ohno e Shigeo Shingo, responsáveis por termos como: • Just In Time Production • Stop the Line Culture (Jidoka, Autonomation) • Zero Inspection (mistake-proof) • Toyota Production System (TPS), hoje conhecido como Lean Thinking, Lean Enterprise, Lean Manufacturing, entre outros. • Remover desperdício • Foco no cliente • Agregar valor a linha (Value Stream Mapping) • Muda, Mura e Muri • Mura é regularidade da produção • Muri trata da sobrecarga • Muda trata o despercício. Os 7 Desperdícios do Lean: • Espera, Transporte, Sobrecarga, Estoque, Movimentações, Defeitos e super produção. • Melhoria Contínua: Kaizen Copyright © 2008 Daniel Wildt [Slide 11]
  12. 12. eXtreme Programming http://www.xprogramming.com/ Copyright © 2008 Daniel Wildt [Slide 12]
  13. 13. eXtreme Programming http://www.extremeprogramming.org/rules/iterative.html Copyright © 2008 Daniel Wildt [Slide 13]
  14. 14. Scrum http://www.jeffsutherland.com/oopsla/schwapub.pdf Copyright © 2008 Daniel Wildt [Slide 14]
  15. 15. Scrum http://www.codeproject.com/gen/design/scrum.asp?print=true Copyright © 2008 Daniel Wildt [Slide 15]
  16. 16. Feature Driven Development (FDD) Feature-Driven Development and Extreme Programming MAR 22, 2002 By Stephen Palmer. Copyright © 2008 Daniel Wildt [Slide 16]
  17. 17. Feature Driven Development (FDD) Divisão das atividades ao desenvolver uma feature Feature-Driven Development and Extreme Programming MAR 22, 2002 By Stephen Palmer. Copyright © 2008 Daniel Wildt [Slide 17]
  18. 18. Feature Driven Development (FDD) Feature-Driven Development and Extreme Programming MAR 22, 2002 By Stephen Palmer. Copyright © 2008 Daniel Wildt [Slide 18]
  19. 19. Feature Driven Development (FDD) Feature-Driven Development and Extreme Programming MAR 22, 2002 By Stephen Palmer. Copyright © 2008 Daniel Wildt [Slide 19]
  20. 20. Confiança no time e Custo do time Custo da equipe? Número de pessoas da equipe x 8 horas de trabalho x dias úteis. Copyright © 2008 Daniel Wildt [Slide 20]
  21. 21. Captura / Análise e Gestão de Requisitos – Aprenda os valores que as práticas trazem para a equipe e não as práticas Não force práticas dentro da equipe Tudo o que existe nas metodologias ágeis requer uso de comunicação e princípios de produção enxuta! O cliente deve ser um aliado! Copyright © 2008 Daniel Wildt [Slide 21]
  22. 22. Planejamento Planejar release, iteração e o dia. Motivação e realidade sempre! Velocidade do time (Burn down de horas) e backlog são variáveis que sempre devem ser avaliadas! Tipos? Release (baseado no backlog), Sprint (prioridades do backlog) e Daily (Scrum Meeting). Copyright © 2008 Daniel Wildt [Slide 22]
  23. 23. Planejamento – Defina o que é necessário. E em pequenas partes! Defina o que vai ser feito dentro da janela do projeto! Tarefas menores aumentam a motivação da equipe! Melhor ter 10 tarefas de 4 horas do que 1 tarefa de 40 horas! Estabeleça prioridades e faça aquilo que é necessário. Não tente prever o futuro, e revise as previsões sempre. Copyright © 2008 Daniel Wildt [Slide 23]
  24. 24. Acompanhamento – Estabeleça com a equipe o que quer dizer “pronto”. Pronto? Pronto pode indicar que a codificação foi feita. Pronto pode indicar que a codificação + teste foi feito. Pronto pode indicar que a codificação + teste + integração + regressão foi feita e que a instalação da funcionalidade pode ser realizada quando se desejar. Copyright © 2008 Daniel Wildt [Slide 24]
  25. 25. Acompanhamento – O gráfico de “burn down” não mente! Copyright © 2008 Daniel Wildt [Slide 25]
  26. 26. Desenvolvimento do time – Aproveite o Aprendizado! As pessoas vão aprender a fazer certo da primeira vez A equipe troca experiências O time se conhece melhor Copyright © 2008 Daniel Wildt [Slide 26]
  27. 27. Testes – Fazer teste de unidade não é o bastante! Selenium IDE JUnit Copyright © 2008 Daniel Wildt [Slide 27]
  28. 28. Testes – Exemplos de testes que um time pode usar http://www.ambysoft.com/essays/floot.html Copyright © 2008 Daniel Wildt [Slide 28]
  29. 29. Métricas e Qualidade Adicionar mais recursos em um projeto atrasado não resolve o problema! Manter o ritmo da equipe é necessário! Achar que a velocidade da equipe pode dobrar a produção de uma semana para a outra não tende a se tornar realidade. Copyright © 2008 Daniel Wildt [Slide 29]
  30. 30. Para terminar... • Terceirizar desenvolvimento de software usando Metodologias Ágeis? • Distribuição de times usando Metodologias Ágeis? • Alcançar mps.Br, CMMI ou ISO usando Metodologias Ágeis? Copyright © 2008 Daniel Wildt [Slide 30]
  31. 31. Referências • Beck, Kent; Andres, Cynthia. Extreme Programming explained: embrace change. 2ª edição. Pearson Education, 2005. • Poppendieck, Mary; Poppendieck, Tom. Implementing Lean Software Development: From concept to Cash. Pearson Educatoin, 2007. • Schwaber, Ken. Agile Project Management With Scrum. Microsoft Press, 2004. • Liker, Jeffrey. The Toyota Way. McGraw-Hill, 2004. • Koscianski, André; Soares, Michel dos Santos. Qualidade de Software, São Paulo: Novatec, 2006. • Pressman, Roger S. Engenharia de Software. São Paulo: Makron, 2002. Copyright © 2008 Daniel Wildt [Slide 31]
  32. 32. Referências • Manifesto Ágil. Disponível na www em http://www.agilemanifesto.org • Tinkha, Andy; Kaner, Cem. Exploring Exploratory Testing. Disponível na www em http://www.testingeducation.org/a/explore.pdf • Método FLOOT de Scott Ambler. Disponível na www em http://www.ambysoft.com/essays/floot.html • Complexidade Ciclomática. Disponível na www em http://www.sei.cmu.edu/str/descriptions/cyclomatic_ body.html • Implementing Scrum (BLOG). Disponível na www em http://www.implementingscrum.com/cartoons/ Copyright © 2008 Daniel Wildt [Slide 32]
  33. 33. Referências • Qualidade em desenvolvimento Java para todos os gostos, por Daniel Wildt, apresentada no JustJava 2006. Disponível na Internet: • https://fuja.dev.java.net/files/documents/3136/449 51/FACENSA_JustJava2006.pdf Copyright © 2008 Daniel Wildt [Slide 33]
  34. 34. Apoios • FACENSA e Grupo de Estudos Java da FACENSA (FUJA) • http://www.facensa.com.br • http://fuja.dev.java.net • Grupo de Usuários XP do RS • http://xp-rs.blogspot.com • http://tech.groups.yahoo.com/group/xp-rs/ • SUCESU-RS • http://www.rs.sucesu.org.br/ • http://www.rs.sucesu.org.br/grupos_usuario/GUMA • Java.NET • http://www.java.net • DevMedia • http://www.devmedia.com Copyright © 2008 Daniel Wildt [Slide 34]
  35. 35. Perguntas Daniel Wildt dwildt@gmail.com Copyright © 2008 Daniel Wildt [Slide 35]
  36. 36. http://www.rs.sucesu.org.br/grupos_usuario/GUMA http://tech.groups.yahoo.com/group/xp-rs/ Obrigado! Copyright © 2008 Daniel Wildt [Slide 36]

×