Metodologias Ágeis
 e Software Livre
Daniel Wildt -dwildt@gmail.com



 Bacharel em Informática (PUCRS)

 Professor Universitário (FACENSA)

 Mais de 10 anos de experiência em Desenvolvimento de Software, hoje atuando como CIO

 Instrutor de Metodologias Ágeis da TargetTrust

 Atua como Coach para adoção de Metodologias Ágeis desde 2004, focando em Lean
Development, Scrum, eXtreme Programming e Feature Driven Development

 Forte atuação na comunidade de desenvolvimento de software (RSJUG, DUG-RS, JEDI)

  Fundador do XP-RS (Grupo de Usuários de Metodologias Ágeis do RS) e Coordenador do GUMA
(Grupo de Usuários de Metodologias Ágeis) vinculado a SUCESU-RS
Guilherme Lacerda -guilhermeslacerda@gmail.com



 Mestre em Ciência da Computação, área de Engenharia de Software (UFRGS)

 Professor Universitário de Graduação (FACENSA, UniRitter) e Pós-Graduação (UniRitter)

 Coordenador do Curso de Sistemas de Informação (FACENSA)

 Consultor de TI e Engenharia de Software

 Instrutor de Metodologias Ágeis da TargetTrust

  Mais de 14 anos de experiência em desenvolvimento de software, onde atuou por 9 anos como
Diretor de Tecnologia de uma Empresa de Desenvolvimento de Software Livre e Open Source

 Pioneiro em Metodologias Ágeis no Brasil

 Fundador do XP-RS (Grupo de Usuários de Metodologias Ágeis do RS) e Vice-Coordenador do
GUMA (Grupo de Usuários de Metodologias Ágeis) vinculado a SUCESU-RS

 Editor do InfoQ Brasil
Quem faz programa?
Por que 80% a 90% dos projetos de SW
             fracassam?




           Fonte: Standish Group
Principais Problemas




Sistemas entregues com atrasos e/ou orçamento estourado

Não atendem os requisitos de negócio

Clientes descontentes (sem confiança nos desenvolvedores)

Clientes não têm compreensão clara do que é desenvolvido

Clientes não dão suporte correto para o desenvolvimento

Clientes não estão interessados em participar de processos complexos
Principais Problemas



 Desenvolvedores trabalham muitas horas por semana

 Desenvolvedores relaxam na disciplina

 Desenvolvedores perdem o foco

  Processos prescritivos são atrativos para a gerência mas não para os
desenvolvedores
      Baseados no paradigma do comando e controle
      Tenta minimizar o papel do cliente

 Foco em tecnologia e não no negócio
O que é ser Ágil?

Ágil é ser rápido, ligeiro (dicionário)
    Eficaz: produz o resultado esperado
    Eficiente: produz o resultado esperado, mas com qualidade


Características importantes:
    Foco nas necessidades do cliente (resultado!)
    Liderança
    Envolvimento das pessoas
    Melhoria Contínua
    Tomada de decisões baseada em análise de dados e informações
  (controle!)
Direitos do Cliente (Ron Jeffries)

 Planejamento Geral, definindo o que pode ser realizado, quando e a que
custo

 Ver e acompanhar o andamento do projeto e, principalmente, o progresso
do SW, passando por testes definidos em conjunto com a equipe

 Mudar de idéia, substituir funcionalidades, sem pagar custos exorbitantes

  Ser informado de mudanças no cronograma, em tempo de escolher e
reduzir o escopo

  Poder cancelar o projeto a qualquer momento e ainda assim ter um
sistema funcionando, refletindo o investimento realizado até o momento
Direitos do Desenvolvedor (Ron Jeffries)

  Saber o que é necessário, com declarações claras de prioridade


 Produzir trabalho de qualidade o tempo todo


 Pedir e receber ajuda da equipe, superiores e clientes


 Fazer e atualizar suas próprias estimativas


 Aceitar as suas responsabilidades, ao invés de tê-las impostas
Processos de Software
Processos Tradicionais
    ciclos sequenciais, etapas dependentes

Prever o futuro

Temores (mudanças nos requisitos)
Manifesto Ágil
“Estamos evidenciando maneiras melhores de desenvolver software fazendo-
o nós mesmos e ajudando outros a fazê-lo. Através desse trabalho, passamos
a valorizar:
 Interação entre pessoas MAIS QUE processos e ferramentas;
 Software em funcionamento MAIS QUE documentação abrangente;
 Responder a mudanças MAIS QUE seguir um plano.
 Colaboração com o cliente MAIS QUE negociação de contratos;

Ou seja, mesmo tendo valor os itens à direita, valorizamos mais os itens à
esquerda.”
Kent Beck, Robert C. Martin, Scott Ambler, Alistair Cockburn, Ward
Cunningham, Ron Jeffries, Steve Mellor, Mike Beedle, Arie van Bennekum,
Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Brian Marick,
Ken Schwaber, Jeff Shuterland, Dave Thomas

                            Utah – Fev/2001
Pessoas e as Metodologias Ágeis
Princípios
  Satisfazer o cliente, entregando o software em
tempo hábil e continuamente


  Aceitar as mudanças de requisitos, em qualquer
fase do projeto


 Entregar software na menor escala de tempo possível


 Equipe de desenvolvimento e cliente são do mesmo time


  Construir projetos com indivíduos motivados e comprometidos com o
resultado
Princípios
 Usar a comunicação efetiva


 Ter o software em funcionamento é a principal
medida de progresso


 Atenção contínua à excelência técnica


 As melhores arquiteturas, requisitos e projetos provêm de equipes
organizadas


 Refletir sobre como se tornar mais eficaz, ajustando e adaptando o
comportamento da equipe
Metodologias Ágeis
MSF for Agile
http://lab.msdn.microsoft.com/teamsystem/workshop/msfagile/

SCRUM
http://www.controlchaos.com/

FDD
http://www.featuredrivendevelopment.com/

Lean Software Development
http://www.poppendieck.com/

Crystal
http://alistair.cockburn.us/crystal/crystal.html

DSDM
http://www.dsdm.org/

eXtreme Programming
http://www.extremeprogramming.org/
Lean Software Development
SCRUM
XP – eXtreme Programming




Práticas organizacionais
Práticas de equipe

Práticas de pares
Ferramentas de Apoio



      Open QA Selenium
Ferramentas de Apoio
Práticas Ágeis e Software Livre
Práticas Ágeis e Software Livre
Práticas Ágeis e Software Livre
Práticas Ágeis e Software Livre
Práticas Ágeis e Software Livre
Práticas Ágeis e Software Livre
Práticas Ágeis e Software Livre
Agile Coaching – 10/10

           David Hussman
               DevJam



Horário: 14h30min às 18h
Sala 517 da FACIN (PUCRS), Prédio 32

           Evento gratuito!
           Vagas Limitadas!
Exercício de Superação do medo




   Dois voluntários, por favor...
Apoio




http://www.guma-rs.org/

Palestra Métodos Ágeis SERPRO

  • 1.
    Metodologias Ágeis eSoftware Livre
  • 2.
    Daniel Wildt -dwildt@gmail.com Bacharel em Informática (PUCRS) Professor Universitário (FACENSA) Mais de 10 anos de experiência em Desenvolvimento de Software, hoje atuando como CIO Instrutor de Metodologias Ágeis da TargetTrust Atua como Coach para adoção de Metodologias Ágeis desde 2004, focando em Lean Development, Scrum, eXtreme Programming e Feature Driven Development Forte atuação na comunidade de desenvolvimento de software (RSJUG, DUG-RS, JEDI) Fundador do XP-RS (Grupo de Usuários de Metodologias Ágeis do RS) e Coordenador do GUMA (Grupo de Usuários de Metodologias Ágeis) vinculado a SUCESU-RS
  • 3.
    Guilherme Lacerda -guilhermeslacerda@gmail.com Mestre em Ciência da Computação, área de Engenharia de Software (UFRGS) Professor Universitário de Graduação (FACENSA, UniRitter) e Pós-Graduação (UniRitter) Coordenador do Curso de Sistemas de Informação (FACENSA) Consultor de TI e Engenharia de Software Instrutor de Metodologias Ágeis da TargetTrust Mais de 14 anos de experiência em desenvolvimento de software, onde atuou por 9 anos como Diretor de Tecnologia de uma Empresa de Desenvolvimento de Software Livre e Open Source Pioneiro em Metodologias Ágeis no Brasil Fundador do XP-RS (Grupo de Usuários de Metodologias Ágeis do RS) e Vice-Coordenador do GUMA (Grupo de Usuários de Metodologias Ágeis) vinculado a SUCESU-RS Editor do InfoQ Brasil
  • 4.
  • 5.
    Por que 80%a 90% dos projetos de SW fracassam? Fonte: Standish Group
  • 6.
    Principais Problemas Sistemas entreguescom atrasos e/ou orçamento estourado Não atendem os requisitos de negócio Clientes descontentes (sem confiança nos desenvolvedores) Clientes não têm compreensão clara do que é desenvolvido Clientes não dão suporte correto para o desenvolvimento Clientes não estão interessados em participar de processos complexos
  • 7.
    Principais Problemas Desenvolvedorestrabalham muitas horas por semana Desenvolvedores relaxam na disciplina Desenvolvedores perdem o foco Processos prescritivos são atrativos para a gerência mas não para os desenvolvedores Baseados no paradigma do comando e controle Tenta minimizar o papel do cliente Foco em tecnologia e não no negócio
  • 8.
    O que éser Ágil? Ágil é ser rápido, ligeiro (dicionário) Eficaz: produz o resultado esperado Eficiente: produz o resultado esperado, mas com qualidade Características importantes: Foco nas necessidades do cliente (resultado!) Liderança Envolvimento das pessoas Melhoria Contínua Tomada de decisões baseada em análise de dados e informações (controle!)
  • 9.
    Direitos do Cliente(Ron Jeffries) Planejamento Geral, definindo o que pode ser realizado, quando e a que custo Ver e acompanhar o andamento do projeto e, principalmente, o progresso do SW, passando por testes definidos em conjunto com a equipe Mudar de idéia, substituir funcionalidades, sem pagar custos exorbitantes Ser informado de mudanças no cronograma, em tempo de escolher e reduzir o escopo Poder cancelar o projeto a qualquer momento e ainda assim ter um sistema funcionando, refletindo o investimento realizado até o momento
  • 10.
    Direitos do Desenvolvedor(Ron Jeffries) Saber o que é necessário, com declarações claras de prioridade Produzir trabalho de qualidade o tempo todo Pedir e receber ajuda da equipe, superiores e clientes Fazer e atualizar suas próprias estimativas Aceitar as suas responsabilidades, ao invés de tê-las impostas
  • 11.
    Processos de Software ProcessosTradicionais ciclos sequenciais, etapas dependentes Prever o futuro Temores (mudanças nos requisitos)
  • 12.
    Manifesto Ágil “Estamos evidenciandomaneiras melhores de desenvolver software fazendo- o nós mesmos e ajudando outros a fazê-lo. Através desse trabalho, passamos a valorizar: Interação entre pessoas MAIS QUE processos e ferramentas; Software em funcionamento MAIS QUE documentação abrangente; Responder a mudanças MAIS QUE seguir um plano. Colaboração com o cliente MAIS QUE negociação de contratos; Ou seja, mesmo tendo valor os itens à direita, valorizamos mais os itens à esquerda.” Kent Beck, Robert C. Martin, Scott Ambler, Alistair Cockburn, Ward Cunningham, Ron Jeffries, Steve Mellor, Mike Beedle, Arie van Bennekum, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Brian Marick, Ken Schwaber, Jeff Shuterland, Dave Thomas Utah – Fev/2001
  • 13.
    Pessoas e asMetodologias Ágeis
  • 14.
    Princípios Satisfazero cliente, entregando o software em tempo hábil e continuamente Aceitar as mudanças de requisitos, em qualquer fase do projeto Entregar software na menor escala de tempo possível Equipe de desenvolvimento e cliente são do mesmo time Construir projetos com indivíduos motivados e comprometidos com o resultado
  • 15.
    Princípios Usar acomunicação efetiva Ter o software em funcionamento é a principal medida de progresso Atenção contínua à excelência técnica As melhores arquiteturas, requisitos e projetos provêm de equipes organizadas Refletir sobre como se tornar mais eficaz, ajustando e adaptando o comportamento da equipe
  • 16.
    Metodologias Ágeis MSF forAgile http://lab.msdn.microsoft.com/teamsystem/workshop/msfagile/ SCRUM http://www.controlchaos.com/ FDD http://www.featuredrivendevelopment.com/ Lean Software Development http://www.poppendieck.com/ Crystal http://alistair.cockburn.us/crystal/crystal.html DSDM http://www.dsdm.org/ eXtreme Programming http://www.extremeprogramming.org/
  • 17.
  • 18.
  • 19.
    XP – eXtremeProgramming Práticas organizacionais Práticas de equipe Práticas de pares
  • 20.
    Ferramentas de Apoio Open QA Selenium
  • 21.
  • 22.
    Práticas Ágeis eSoftware Livre
  • 23.
    Práticas Ágeis eSoftware Livre
  • 24.
    Práticas Ágeis eSoftware Livre
  • 25.
    Práticas Ágeis eSoftware Livre
  • 26.
    Práticas Ágeis eSoftware Livre
  • 27.
    Práticas Ágeis eSoftware Livre
  • 28.
    Práticas Ágeis eSoftware Livre
  • 29.
    Agile Coaching –10/10 David Hussman DevJam Horário: 14h30min às 18h Sala 517 da FACIN (PUCRS), Prédio 32 Evento gratuito! Vagas Limitadas!
  • 30.
    Exercício de Superaçãodo medo Dois voluntários, por favor...
  • 31.