SlideShare ist ein Scribd-Unternehmen logo
1 von 36
Downloaden Sie, um offline zu lesen
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]

Weitere ähnliche Inhalte

Was ist angesagt?

Desenvolvimento Ágil com Scrum e XP
Desenvolvimento Ágil com Scrum e XPDesenvolvimento Ágil com Scrum e XP
Desenvolvimento Ágil com Scrum e XPlucianocoelho
 
Gestao agil de projetos com Scrum
Gestao agil de projetos com ScrumGestao agil de projetos com Scrum
Gestao agil de projetos com ScrumIgor Macaubas
 
Workshop Scrum - 8 horas
Workshop Scrum - 8 horasWorkshop Scrum - 8 horas
Workshop Scrum - 8 horasWise Systems
 
Governança Ágil - Ágiles 2009
Governança Ágil - Ágiles 2009Governança Ágil - Ágiles 2009
Governança Ágil - Ágiles 2009Clavius Tales
 
Iterasys Test Show 2010 - Estratégia Baseada no Scrum
Iterasys Test Show 2010 -  Estratégia Baseada no ScrumIterasys Test Show 2010 -  Estratégia Baseada no Scrum
Iterasys Test Show 2010 - Estratégia Baseada no ScrumJosé Correia
 
Gerenciamento Ágil de Projetos, Uma nova abordagem para os desafio de sempre
Gerenciamento Ágil de Projetos, Uma nova abordagem para os desafio de sempreGerenciamento Ágil de Projetos, Uma nova abordagem para os desafio de sempre
Gerenciamento Ágil de Projetos, Uma nova abordagem para os desafio de sempreLeandro Faria
 
Rio Agile - O Poder da Visualização: atacando a Dívida Técnica e promovendo o...
Rio Agile - O Poder da Visualização: atacando a Dívida Técnica e promovendo o...Rio Agile - O Poder da Visualização: atacando a Dívida Técnica e promovendo o...
Rio Agile - O Poder da Visualização: atacando a Dívida Técnica e promovendo o...Amanda Varella
 
[Webinar] Scrum - Você está fazendo do jeito certo?
[Webinar] Scrum - Você está fazendo do jeito certo?[Webinar] Scrum - Você está fazendo do jeito certo?
[Webinar] Scrum - Você está fazendo do jeito certo?TargetTrust
 

Was ist angesagt? (20)

Scrum na Prática
Scrum na PráticaScrum na Prática
Scrum na Prática
 
Scrum
ScrumScrum
Scrum
 
Desenvolvimento Ágil com Scrum e XP
Desenvolvimento Ágil com Scrum e XPDesenvolvimento Ágil com Scrum e XP
Desenvolvimento Ágil com Scrum e XP
 
Gestao agil de projetos com Scrum
Gestao agil de projetos com ScrumGestao agil de projetos com Scrum
Gestao agil de projetos com Scrum
 
Workshop Scrum - 8 horas
Workshop Scrum - 8 horasWorkshop Scrum - 8 horas
Workshop Scrum - 8 horas
 
Governança Ágil - Ágiles 2009
Governança Ágil - Ágiles 2009Governança Ágil - Ágiles 2009
Governança Ágil - Ágiles 2009
 
MBA em projetos - Gestao Ágil
MBA em projetos - Gestao ÁgilMBA em projetos - Gestao Ágil
MBA em projetos - Gestao Ágil
 
Engenharia de software Lean Kanban
Engenharia de software  Lean KanbanEngenharia de software  Lean Kanban
Engenharia de software Lean Kanban
 
Iterasys Test Show 2010 - Estratégia Baseada no Scrum
Iterasys Test Show 2010 -  Estratégia Baseada no ScrumIterasys Test Show 2010 -  Estratégia Baseada no Scrum
Iterasys Test Show 2010 - Estratégia Baseada no Scrum
 
Teste de software gestao e kaizen
Teste de software gestao e kaizenTeste de software gestao e kaizen
Teste de software gestao e kaizen
 
Gerenciamento Ágil de Projetos, Uma nova abordagem para os desafio de sempre
Gerenciamento Ágil de Projetos, Uma nova abordagem para os desafio de sempreGerenciamento Ágil de Projetos, Uma nova abordagem para os desafio de sempre
Gerenciamento Ágil de Projetos, Uma nova abordagem para os desafio de sempre
 
Teste Ágeis para todo o time
Teste Ágeis para todo o timeTeste Ágeis para todo o time
Teste Ágeis para todo o time
 
Rio Agile - O Poder da Visualização: atacando a Dívida Técnica e promovendo o...
Rio Agile - O Poder da Visualização: atacando a Dívida Técnica e promovendo o...Rio Agile - O Poder da Visualização: atacando a Dívida Técnica e promovendo o...
Rio Agile - O Poder da Visualização: atacando a Dívida Técnica e promovendo o...
 
[Webinar] Scrum - Você está fazendo do jeito certo?
[Webinar] Scrum - Você está fazendo do jeito certo?[Webinar] Scrum - Você está fazendo do jeito certo?
[Webinar] Scrum - Você está fazendo do jeito certo?
 
Requisitos ageis para times sem tempo
Requisitos ageis para times sem tempoRequisitos ageis para times sem tempo
Requisitos ageis para times sem tempo
 
Gerenciamento Ágil de Projetos com Scrum
Gerenciamento Ágil de Projetos com ScrumGerenciamento Ágil de Projetos com Scrum
Gerenciamento Ágil de Projetos com Scrum
 
Lean software
Lean software Lean software
Lean software
 
Papeis Ágeis - uma proposta operacional Scrum
Papeis Ágeis - uma proposta operacional ScrumPapeis Ágeis - uma proposta operacional Scrum
Papeis Ágeis - uma proposta operacional Scrum
 
LEAN x Ágil
LEAN x ÁgilLEAN x Ágil
LEAN x Ágil
 
Metricas (e previsões) acionáveis de projeto
Metricas (e previsões) acionáveis de projetoMetricas (e previsões) acionáveis de projeto
Metricas (e previsões) acionáveis de projeto
 

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

Just Java 2006 - Qualidade em Desenvolvimento Java para todos os gostos - Dan...
Just Java 2006 - Qualidade em Desenvolvimento Java para todos os gostos - Dan...Just Java 2006 - Qualidade em Desenvolvimento Java para todos os gostos - Dan...
Just Java 2006 - Qualidade em Desenvolvimento Java para todos os gostos - Dan...Daniel Wildt
 
Product Design Sprint
Product Design SprintProduct Design Sprint
Product Design SprintRobson Santos
 
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
 
Como a Natura vem diminuindo seu custo de operação total com Drupal - DrupalC...
Como a Natura vem diminuindo seu custo de operação total com Drupal - DrupalC...Como a Natura vem diminuindo seu custo de operação total com Drupal - DrupalC...
Como a Natura vem diminuindo seu custo de operação total com Drupal - DrupalC...Taller Negócio Digitais
 
Trabalho pds libre office 2
Trabalho pds libre office 2Trabalho pds libre office 2
Trabalho pds libre office 2Edinaldo Mendes
 
Introdução às metodologias ágeis
Introdução às metodologias ágeisIntrodução às metodologias ágeis
Introdução às metodologias ágeisComunidade Tá safo!
 
Métodos Ágeis para Desenvolvimento de Software Livre
Métodos Ágeis para Desenvolvimento de Software LivreMétodos Ágeis para Desenvolvimento de Software Livre
Métodos Ágeis para Desenvolvimento de Software LivreDionatan default
 
BPM Ágil – desenvolvimento e implementação de novas funcionalidades
BPM Ágil – desenvolvimento e implementação de novas funcionalidadesBPM Ágil – desenvolvimento e implementação de novas funcionalidades
BPM Ágil – desenvolvimento e implementação de novas funcionalidadesEloGroup
 
Gerenciamento ágil de processos - SCRUM
Gerenciamento ágil de processos - SCRUMGerenciamento ágil de processos - SCRUM
Gerenciamento ágil de processos - SCRUMLucas Vinícius
 
Introdução a Metodologia XP (E Xtreme Programming)
Introdução a Metodologia XP (E Xtreme Programming)Introdução a Metodologia XP (E Xtreme Programming)
Introdução a Metodologia XP (E Xtreme Programming)Rennan Martini
 

Ähnlich wie RSJUG Day - Ferramentas Para Projetos Java Usando Metodologias Ageis - Daniel Wildt (20)

Curso Scrum
Curso ScrumCurso Scrum
Curso Scrum
 
Just Java 2006 - Qualidade em Desenvolvimento Java para todos os gostos - Dan...
Just Java 2006 - Qualidade em Desenvolvimento Java para todos os gostos - Dan...Just Java 2006 - Qualidade em Desenvolvimento Java para todos os gostos - Dan...
Just Java 2006 - Qualidade em Desenvolvimento Java para todos os gostos - Dan...
 
Treinamento Ágil / Scrum
Treinamento Ágil / ScrumTreinamento Ágil / Scrum
Treinamento Ágil / Scrum
 
Desenvolvimento Ágil de Software
Desenvolvimento Ágil de SoftwareDesenvolvimento Ágil de Software
Desenvolvimento Ágil de Software
 
Entregando Software com Valor
Entregando Software com ValorEntregando Software com Valor
Entregando Software com Valor
 
Product Design Sprint
Product Design SprintProduct Design Sprint
Product Design Sprint
 
SMED (Single Minute Exchange of Die) v3
SMED (Single Minute Exchange of Die) v3SMED (Single Minute Exchange of Die) v3
SMED (Single Minute Exchange of Die) v3
 
Processos Ágeis
Processos Ágeis Processos Ágeis
Processos Ágeis
 
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
 
Como a Natura vem diminuindo seu custo de operação total com Drupal - DrupalC...
Como a Natura vem diminuindo seu custo de operação total com Drupal - DrupalC...Como a Natura vem diminuindo seu custo de operação total com Drupal - DrupalC...
Como a Natura vem diminuindo seu custo de operação total com Drupal - DrupalC...
 
Test First, TDD e outros Bichos
Test First, TDD e outros BichosTest First, TDD e outros Bichos
Test First, TDD e outros Bichos
 
Trabalho pds libre office 2
Trabalho pds libre office 2Trabalho pds libre office 2
Trabalho pds libre office 2
 
Introdução às metodologias ágeis
Introdução às metodologias ágeisIntrodução às metodologias ágeis
Introdução às metodologias ágeis
 
Artigo23
Artigo23Artigo23
Artigo23
 
Developer Experience
Developer ExperienceDeveloper Experience
Developer Experience
 
Cultura Lean Agile Weekend
Cultura Lean Agile WeekendCultura Lean Agile Weekend
Cultura Lean Agile Weekend
 
Métodos Ágeis para Desenvolvimento de Software Livre
Métodos Ágeis para Desenvolvimento de Software LivreMétodos Ágeis para Desenvolvimento de Software Livre
Métodos Ágeis para Desenvolvimento de Software Livre
 
BPM Ágil – desenvolvimento e implementação de novas funcionalidades
BPM Ágil – desenvolvimento e implementação de novas funcionalidadesBPM Ágil – desenvolvimento e implementação de novas funcionalidades
BPM Ágil – desenvolvimento e implementação de novas funcionalidades
 
Gerenciamento ágil de processos - SCRUM
Gerenciamento ágil de processos - SCRUMGerenciamento ágil de processos - SCRUM
Gerenciamento ágil de processos - SCRUM
 
Introdução a Metodologia XP (E Xtreme Programming)
Introdução a Metodologia XP (E Xtreme Programming)Introdução a Metodologia XP (E Xtreme Programming)
Introdução a Metodologia XP (E Xtreme Programming)
 

Mehr von Daniel Wildt

Pré-Jogo / Inception - Descobrindo Produtos Viáveis
Pré-Jogo / Inception - Descobrindo Produtos ViáveisPré-Jogo / Inception - Descobrindo Produtos Viáveis
Pré-Jogo / Inception - Descobrindo Produtos ViáveisDaniel Wildt
 
O que é inovação?
O que é inovação?O que é inovação?
O que é inovação?Daniel Wildt
 
GoF Design Patterns - Borland Conference (BorCon) 2004
GoF Design Patterns - Borland Conference (BorCon) 2004GoF Design Patterns - Borland Conference (BorCon) 2004
GoF Design Patterns - Borland Conference (BorCon) 2004Daniel Wildt
 
O potencial Mobile [GUDAY 2016]
O potencial Mobile [GUDAY 2016]O potencial Mobile [GUDAY 2016]
O potencial Mobile [GUDAY 2016]Daniel Wildt
 
O que aprendemos com o eXtreme Programming e com o mundo Ágil | #XPConfBR 2014
O que aprendemos com o eXtreme Programming e com o mundo Ágil | #XPConfBR 2014O que aprendemos com o eXtreme Programming e com o mundo Ágil | #XPConfBR 2014
O que aprendemos com o eXtreme Programming e com o mundo Ágil | #XPConfBR 2014Daniel Wildt
 
Aula: Agile Kickstart - Como criar equipes de alto desempenho?
Aula: Agile Kickstart - Como criar equipes de alto desempenho?Aula: Agile Kickstart - Como criar equipes de alto desempenho?
Aula: Agile Kickstart - Como criar equipes de alto desempenho?Daniel Wildt
 
Causas - Qual é a sua?
Causas - Qual é a sua?Causas - Qual é a sua?
Causas - Qual é a sua?Daniel Wildt
 
[RS on Rails 2013] Construa um produto. Quando? Neste final de semana.
[RS on Rails 2013] Construa um produto. Quando? Neste final de semana.[RS on Rails 2013] Construa um produto. Quando? Neste final de semana.
[RS on Rails 2013] Construa um produto. Quando? Neste final de semana.Daniel Wildt
 
Tarefas! O Que fazer?
Tarefas! O Que fazer?Tarefas! O Que fazer?
Tarefas! O Que fazer?Daniel Wildt
 
#StartupDojo Porto Alegre - Julho/2013 (Nós Coworking)
#StartupDojo Porto Alegre - Julho/2013 (Nós Coworking)#StartupDojo Porto Alegre - Julho/2013 (Nós Coworking)
#StartupDojo Porto Alegre - Julho/2013 (Nós Coworking)Daniel Wildt
 
Mantra das Possibilidades - AgileBrazil 2013
Mantra das Possibilidades - AgileBrazil 2013Mantra das Possibilidades - AgileBrazil 2013
Mantra das Possibilidades - AgileBrazil 2013Daniel Wildt
 
JustJava 2013 - Indo para as nuvens?
JustJava 2013 - Indo para as nuvens?JustJava 2013 - Indo para as nuvens?
JustJava 2013 - Indo para as nuvens?Daniel Wildt
 
Agile KickStart 2 - Escrevendo User Stories
Agile KickStart 2 - Escrevendo User StoriesAgile KickStart 2 - Escrevendo User Stories
Agile KickStart 2 - Escrevendo User StoriesDaniel Wildt
 
Agile KickStart 3 - Planejamento e Dia a Dia de Projeto
Agile KickStart 3 - Planejamento e Dia a Dia de ProjetoAgile KickStart 3 - Planejamento e Dia a Dia de Projeto
Agile KickStart 3 - Planejamento e Dia a Dia de ProjetoDaniel Wildt
 
Agile KickStart 4 - Melhoria Contínua
Agile KickStart 4 - Melhoria ContínuaAgile KickStart 4 - Melhoria Contínua
Agile KickStart 4 - Melhoria ContínuaDaniel Wildt
 
Agile Kickstart 1 - Cultura Ágil
Agile Kickstart 1 - Cultura ÁgilAgile Kickstart 1 - Cultura Ágil
Agile Kickstart 1 - Cultura ÁgilDaniel Wildt
 
Agile Transition. PMBOK knowledge areas and how values, principles and agile ...
Agile Transition. PMBOK knowledge areas and how values, principles and agile ...Agile Transition. PMBOK knowledge areas and how values, principles and agile ...
Agile Transition. PMBOK knowledge areas and how values, principles and agile ...Daniel Wildt
 

Mehr von Daniel Wildt (20)

Não Espere!
Não Espere! Não Espere!
Não Espere!
 
Pré-Jogo / Inception - Descobrindo Produtos Viáveis
Pré-Jogo / Inception - Descobrindo Produtos ViáveisPré-Jogo / Inception - Descobrindo Produtos Viáveis
Pré-Jogo / Inception - Descobrindo Produtos Viáveis
 
O que é inovação?
O que é inovação?O que é inovação?
O que é inovação?
 
GoF Design Patterns - Borland Conference (BorCon) 2004
GoF Design Patterns - Borland Conference (BorCon) 2004GoF Design Patterns - Borland Conference (BorCon) 2004
GoF Design Patterns - Borland Conference (BorCon) 2004
 
O potencial Mobile [GUDAY 2016]
O potencial Mobile [GUDAY 2016]O potencial Mobile [GUDAY 2016]
O potencial Mobile [GUDAY 2016]
 
Lean Canvas
Lean CanvasLean Canvas
Lean Canvas
 
O que aprendemos com o eXtreme Programming e com o mundo Ágil | #XPConfBR 2014
O que aprendemos com o eXtreme Programming e com o mundo Ágil | #XPConfBR 2014O que aprendemos com o eXtreme Programming e com o mundo Ágil | #XPConfBR 2014
O que aprendemos com o eXtreme Programming e com o mundo Ágil | #XPConfBR 2014
 
Aula: Agile Kickstart - Como criar equipes de alto desempenho?
Aula: Agile Kickstart - Como criar equipes de alto desempenho?Aula: Agile Kickstart - Como criar equipes de alto desempenho?
Aula: Agile Kickstart - Como criar equipes de alto desempenho?
 
Causas - Qual é a sua?
Causas - Qual é a sua?Causas - Qual é a sua?
Causas - Qual é a sua?
 
[RS on Rails 2013] Construa um produto. Quando? Neste final de semana.
[RS on Rails 2013] Construa um produto. Quando? Neste final de semana.[RS on Rails 2013] Construa um produto. Quando? Neste final de semana.
[RS on Rails 2013] Construa um produto. Quando? Neste final de semana.
 
Tarefas! O Que fazer?
Tarefas! O Que fazer?Tarefas! O Que fazer?
Tarefas! O Que fazer?
 
#StartupDojo Porto Alegre - Julho/2013 (Nós Coworking)
#StartupDojo Porto Alegre - Julho/2013 (Nós Coworking)#StartupDojo Porto Alegre - Julho/2013 (Nós Coworking)
#StartupDojo Porto Alegre - Julho/2013 (Nós Coworking)
 
Mantra das Possibilidades - AgileBrazil 2013
Mantra das Possibilidades - AgileBrazil 2013Mantra das Possibilidades - AgileBrazil 2013
Mantra das Possibilidades - AgileBrazil 2013
 
JustJava 2013 - Indo para as nuvens?
JustJava 2013 - Indo para as nuvens?JustJava 2013 - Indo para as nuvens?
JustJava 2013 - Indo para as nuvens?
 
Agile KickStart 2 - Escrevendo User Stories
Agile KickStart 2 - Escrevendo User StoriesAgile KickStart 2 - Escrevendo User Stories
Agile KickStart 2 - Escrevendo User Stories
 
Agile KickStart 3 - Planejamento e Dia a Dia de Projeto
Agile KickStart 3 - Planejamento e Dia a Dia de ProjetoAgile KickStart 3 - Planejamento e Dia a Dia de Projeto
Agile KickStart 3 - Planejamento e Dia a Dia de Projeto
 
Agile KickStart 4 - Melhoria Contínua
Agile KickStart 4 - Melhoria ContínuaAgile KickStart 4 - Melhoria Contínua
Agile KickStart 4 - Melhoria Contínua
 
Agile Kickstart 1 - Cultura Ágil
Agile Kickstart 1 - Cultura ÁgilAgile Kickstart 1 - Cultura Ágil
Agile Kickstart 1 - Cultura Ágil
 
Quem é você?
Quem é você?Quem é você?
Quem é você?
 
Agile Transition. PMBOK knowledge areas and how values, principles and agile ...
Agile Transition. PMBOK knowledge areas and how values, principles and agile ...Agile Transition. PMBOK knowledge areas and how values, principles and agile ...
Agile Transition. PMBOK knowledge areas and how values, principles and agile ...
 

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

  • 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. 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. 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. Crença 2: Comunicação é a origem dos problemas! Copyright © 2008 Daniel Wildt [Slide 4]
  • 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. O que é ser ágil? Manifesto ágil? http://www.agilemanifesto.org Copyright © 2008 Daniel Wildt [Slide 6]
  • 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. 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. 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. 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. 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. eXtreme Programming http://www.xprogramming.com/ Copyright © 2008 Daniel Wildt [Slide 12]
  • 13. eXtreme Programming http://www.extremeprogramming.org/rules/iterative.html Copyright © 2008 Daniel Wildt [Slide 13]
  • 14. Scrum http://www.jeffsutherland.com/oopsla/schwapub.pdf Copyright © 2008 Daniel Wildt [Slide 14]
  • 15. Scrum http://www.codeproject.com/gen/design/scrum.asp?print=true Copyright © 2008 Daniel Wildt [Slide 15]
  • 16. Feature Driven Development (FDD) Feature-Driven Development and Extreme Programming MAR 22, 2002 By Stephen Palmer. Copyright © 2008 Daniel Wildt [Slide 16]
  • 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. Feature Driven Development (FDD) Feature-Driven Development and Extreme Programming MAR 22, 2002 By Stephen Palmer. Copyright © 2008 Daniel Wildt [Slide 18]
  • 19. Feature Driven Development (FDD) Feature-Driven Development and Extreme Programming MAR 22, 2002 By Stephen Palmer. Copyright © 2008 Daniel Wildt [Slide 19]
  • 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. 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. 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. 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. 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. Acompanhamento – O gráfico de “burn down” não mente! Copyright © 2008 Daniel Wildt [Slide 25]
  • 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. Testes – Fazer teste de unidade não é o bastante! Selenium IDE JUnit Copyright © 2008 Daniel Wildt [Slide 27]
  • 28. Testes – Exemplos de testes que um time pode usar http://www.ambysoft.com/essays/floot.html Copyright © 2008 Daniel Wildt [Slide 28]
  • 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. 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. 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. 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. 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. 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. Perguntas Daniel Wildt dwildt@gmail.com Copyright © 2008 Daniel Wildt [Slide 35]
  • 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]