1 / 37

Metodologias Ágeis

Metodologias Ágeis. Visão Geral. Introdução. Primórdios do desenvolvimento de software: “code and fix”. A primeira alternativa: Processo disciplinado e detalhado Desenvolvimento de software predizível e eficiente Inspirado em outras disciplinas da área de engenharia. Introdução.

Download Presentation

Metodologias Ágeis

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Metodologias Ágeis Visão Geral

  2. Introdução • Primórdios do desenvolvimento de software: “code and fix”. • A primeira alternativa: • Processo disciplinado e detalhado • Desenvolvimento de software predizível e eficiente • Inspirado em outras disciplinas da área de engenharia.

  3. Introdução • Críticas freqüentes • Burocráticas • Não populares por imporem padrões rígidos • Não serem tão bem sucedidas como deveriam • Metodologias “heavyweight” ou pesadas

  4. Introdução • Surgimento de um novo grupo de metodologias • Leves (“lightweight”) • Flexíveis • Ágeis

  5. Métodos Preditivos vs. Adaptativos • Preditivos • Enfatiza o planejamento de ações em detalhe • A equipe pode saber que funcionalidade e tarefas farão nas etapas seguintes no processo de desenvolvimento • Mudanças podem obrigar a refazer todo o planejamento • Adaptativos • Enfatiza as mudanças e suas conseqüentes adaptações • A equipe não sabe o que irá fazer a médio e longo prazo • Problemas são encarados a medida que eles chegam

  6. A “Aliança Ágil” • http://www.agilealliance.org • Organização sem fins lucrativos que ajuda indivíduos e organizações que utilizam abordagens ágeis para desenvolvimento de software • Fundada por 17 consultores e especialistas em desenvolvimento de software • Assinaram o “Manifesto Ágil” em 2001

  7. Kent Beck Mike Beedle Arie van Bennekum Alistair Cockburn Ward Cunningham Martin Fowler James Grenning Jim Highsmith Andrew Hunt Ron Jeffries Jon Kern Brian Marick Robert Martin Steve Mellor Ken Schwaber Jeff Sutherland Dave Thomas A “Aliança Ágil”

  8. O “Manifesto Ágil” • http://www.agilemanifesto.org • “Estamos descobrindo melhores maneiras de se desenvolver software, fazendo isto e ajudando os outros a fazer isto. Através deste trabalho, nós passamos a valorizar: • Indivíduos e interaçõesmais que processos e ferramentas; • Software funcionando mais que documentação abrangente; • Colaboração com o cliente mais que negociação de contratos; • Responder à mudança mais que seguir um plano. • Ou seja, apesar de existir valor nos itens à direita, valorizamos mais os itens à esquerda”

  9. eXtreme Programming (XP) Scrum FDD Agile Modeling Lean Development ASD Crystal Clear OpenUP ... Metolodogias Ágeis - Exemplos

  10. Classificação

  11. Características Gerais • Ciclo de vida iterativo e incremental • Mais adequadas a pequenas equipes • Comunicação constante e informal • Planejamento de curto prazo • Práticas devem ser seguidas de forma rigorosa

  12. Características Gerais • Procuram minimizar riscos desenvolvendo software em pequenos espaços de tempo (iterações) • Cada iteração é como um pequeno projeto • Planejamento, requisitos, projeto, codificação, testes... • Objetivo de cada iteração • Produzir componentes de software • Arquitetura vai sendo desenhada a partir da refatoração dos componentes • Enfatizam comunicação “cara a cara” em relação à documentação

  13. Características específicas • Scrum • Ênfase no gerenciamento de projetos • Times auto-gerenciáveis • Medição diária de progresso • Evita seguir passos pré-definidos • Reuniões diárias • Demonstração do sistema ao final de cada iteração • XP • Ênfase em práticas de desenvolvimento • Ênfase na colaboração • Criação de software o mais rapidamente possível • Valores: comunicação, feedback, simplicidade e coragem • 12 práticas-chave

  14. Características específicas • Crystal • Criado por Alistair Cockburn • Família de métodos. Escolha baseada na criticidade do sistema e número de pessoas na equipe • Ênfase nas pessoas e comunicação entre elas • Agile Modeling • Criado por Scott Ambler • Princípios e práticas para modelagem e análise de requisitos • “Low-tech, high-touch”:modelos despojados com foco em entendimento e comunicação, ao invés de documentação • Práticas encorajam velocidade, simplicidade e fluxo criativo

  15. Características específicas • ASD - Adaptive Software Development • Criado por Jim Highsmith • Inspirado pelas área de sistemas adaptativos e RAD (Rapid Application Development) • DSDM- Dynamic Solutions Delivery Method • Criado por 16 especialistas em RAD • Mantido por um consórcio • FDD – Feature Driven Development • Criado por Jeff De Luca, com colaboração de Peter Coad • Ênfase em requisitos

  16. Características específicas • Lean Development • Criado por Mary e Tom Poppendieck • Baseado em técnicas “lean” adotadas por outras indústrias • Ênfase na redução do desperdício • Pragmatic Programming • Criado por Andy Hunt e Dave Thomas • Conjunto de práticas de desenvolvimento • OpenUP • Versão ágil e gratuita do RUP

  17. Críticas • Não provê documentação necessária • Dificuldades “após o projeto” • Funciona apenas para equipes experientes • Práticas disciplinadas e rigorosas • Pouca atenção ao projeto de software (arquitetura) • Em geral, a arquitetura é definida “de baixo pra cima” • Requer uma grande mudança cultural na organização para ser adotado • Ex.1: necessidade do cliente fazer parte da equipe • Ex.2: Patrocinadores do projeto querem saber exatamente o que será feito e quando

  18. Quando usar o quê?

  19. Metodologias Ágeis Motivação

  20. Números, números, números • Pesquisas realizadas em 2006 e 2007 por Scott Ambler mostram que: • Métodos ágeis estão sendo muito utilizados • Métodos ágeis estão sendo utilizados com sucesso

  21. Números, números, números • A sua organização adota uma ou mais técnicas ágeis?

  22. Números, números, números • Só para os que não adotaram: quando pretendem adotar?

  23. Números, números, números • Adoção de técnicas ágeis

  24. Números, números, números • Qual a metodologia ágil adotada?

  25. Números, números, números • % de sucesso de projetos ágeis

  26. Números, números, números • % de sucesso de projetos ágeis (por distribuição da equipe)

  27. Números, números, números • Como as metodologias ágeis afetaram a produtividade?

  28. Números, números, números • Como as metodologias ágeis afetaram a produtividade? (sem os que não souberam responder)

  29. Números, números, números • Como as metodologias ágeis afetaram a qualidade?

  30. Números, números, números • Como as metodologias ágeis afetaram a qualidade? (sem os que não souberam responder)

  31. Números, números, números • Como as metodologias ágeis afetaram o custo?

  32. Números, números, números • Como as metodologias ágeis afetaram o custo? (sem os que não souberam responder)

  33. Números, números, números • Como as metodologias ágeis afetaram a satisfação dos stakeholders?

  34. Números, números, números • Como as metodologias ágeis afetaram a satisfação dos stakeholders? (sem os que não souberam responder)

  35. Números, números, números • Tamanho das iterações (em %)

  36. Números, números, números • Tamanho das equipes

  37. Referências • AmbySoft: www.ambysoft.com • Agile Data: www.agiledata.org • Larman, Craig. Agile and Iterative Development. Addison-Wesley, 2003

More Related