• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
RSJUG Day - Ferramentas Para Projetos Java Usando Metodologias Ageis - Daniel Wildt
 

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

on

  • 4,300 views

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 ...

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.

Statistics

Views

Total Views
4,300
Views on SlideShare
3,717
Embed Views
583

Actions

Likes
1
Downloads
79
Comments
0

8 Embeds 583

http://weblogs.java.net 536
https://weblogs.java.net 23
http://infra 12
http://www.slideshare.net 4
http://www.linkedin.com 4
http://javakenai-dev.cognisync.net 2
http://static.slideshare.net 1
https://www.linkedin.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

    • 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]
    • 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]
    • 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]
    • 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 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]
    • O que é ser ágil? Manifesto ágil? http://www.agilemanifesto.org Copyright © 2008 Daniel Wildt [Slide 6]
    • 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]
    • 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]
    • 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]
    • 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]
    • 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]
    • 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 [Slide 13]
    • 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 Palmer. Copyright © 2008 Daniel Wildt [Slide 16]
    • 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]
    • Feature Driven Development (FDD) Feature-Driven Development and Extreme Programming MAR 22, 2002 By Stephen Palmer. Copyright © 2008 Daniel Wildt [Slide 18]
    • Feature Driven Development (FDD) Feature-Driven Development and Extreme Programming MAR 22, 2002 By Stephen Palmer. Copyright © 2008 Daniel Wildt [Slide 19]
    • 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]
    • 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]
    • 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]
    • 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]
    • 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]
    • 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 A equipe troca experiências O time se conhece melhor Copyright © 2008 Daniel Wildt [Slide 26]
    • Testes – Fazer teste de unidade não é o bastante! Selenium IDE JUnit Copyright © 2008 Daniel Wildt [Slide 27]
    • Testes – Exemplos de testes que um time pode usar http://www.ambysoft.com/essays/floot.html Copyright © 2008 Daniel Wildt [Slide 28]
    • 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]
    • 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]
    • 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]
    • 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]
    • 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]
    • 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]
    • 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/ Obrigado! Copyright © 2008 Daniel Wildt [Slide 36]