Apresentação do PowerPoint - fa7-trabalhos

Download Report

Transcript Apresentação do PowerPoint - fa7-trabalhos

Ciro Coelho

Metodologias Ágeis

Metodologias Ágeis Visão Geral

1/37

Metodologias Ágeis

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.

Ciro Coelho

2/37

Metodologias Ágeis

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 Ciro Coelho

3/37

Metodologias Ágeis

Introdução Surgimento de um novo grupo de metodologias

  

Leves (“lightweight”) Flexíveis Ágeis Ciro Coelho

4/37

Metodologias Ágeis

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 Ciro Coelho

5/37

Metodologias Ágeis

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

6/37

Ciro Coelho

Kent Beck Mike Beedle Arie van Bennekum Alistair Cockburn Ward Cunningham Martin Fowler James Grenning Jim Highsmith

Metodologias Ágeis

A “Aliança Ágil” Andrew Hunt Ron Jeffries Jon Kern Brian Marick Robert Martin Steve Mellor Ken Schwaber Jeff Sutherland Dave Thomas Ciro Coelho

7/37

Metodologias Ágeis

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ções mais 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”

8/37

Ciro Coelho

Metodologias Ágeis

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

Ciro Coelho

9/37

Metodologias Ágeis

Classificação Ciro Coelho

10/37

Metodologias Ágeis

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 Ciro Coelho

11/37

Metodologias Ágeis

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 Ciro Coelho

12/37

Metodologias Ágeis

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 Ciro Coelho

13/37

Metodologias Ágeis

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 Ciro Coelho

14/37

Metodologias Ágeis

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 Ciro Coelho

15/37

Metodologias Ágeis

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 Ciro Coelho

16/37

Metodologias Ágeis

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

17/37

Ciro Coelho

Metodologias ágeis Projetos pouco críticos Equipe experiente Com mudanças constantes Pequena equipe ( ≤ 10 ) Equipe co-localizada Cultura de adaptação

Metodologias Ágeis

Quando usar o quê?

Metodologias preditivas Projetos altamente críticos Equipe iniciante Com poucas mudanças Equipes maiores ( ≥ 20) Equipe distribuída Cultura de controle

18/37

Ciro Coelho

Ciro Coelho

Metodologias Ágeis

Metodologias Ágeis Motivação

19/37

Metodologias Ágeis

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 Ciro Coelho

20/37

Metodologias Ágeis

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

No 31% Yes 69% Ciro Coelho

21/37

Metodologias Ágeis

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

4% 8% 12% 46% 9% 9% 12% <3 Months > 24 Months 3-6 Months Never 6-12 Months Don' Know 12-24 Months Ciro Coelho

22/37

Metodologias Ágeis

Números, números, números Adoção de técnicas ágeis Don't Know When Never > 24 Months 12-24 Months Within Year Currently Doing Agile 28 22 21 57 105 0 100 200 300 400 500 539 600 Ciro Coelho

23/37

Metodologias Ágeis

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

Other Scrum FDD XP DSDM Crystal Clear AUP Agile MSF 26 91 171 216 191 460 502 954 Ciro Coelho

24/37

Metodologias Ágeis

Números, números, números % de sucesso de projetos ágeis 5% 6% 12% 44% 33% 90%+ 75-90% 50-74% 25-49% >25% Ciro Coelho

25/37

Metodologias Ágeis

Números, números, números % de sucesso de projetos ágeis (por distribuição da equipe) >25% 25-49% 50-74% 75-90% 90%+ 0 9,2 24,6 9,5 12,1 21,5 27,7 18,5 20,1 32,7 33,1 10 All 20 Co-Located 30 40 Not Co-Located 44,8 51,7 50 Offshoring 60 Ciro Coelho

26/37

Metodologias Ágeis

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

0%4% 23% 32% Much Lower Somewhat Lower No Change Somewhat Higher Much Higher Don't Know 8% 33% Ciro Coelho

27/37

Metodologias Ágeis

Números, números, números Como as metodologias ágeis afetaram a produtividade? (sem os que não souberam responder) 12% 1% 5% 34% Much Lower Somewhat Lower No Change Somewhat Higher Much Higher 48%

28/37

Ciro Coelho

Metodologias Ágeis

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

21% 32% Much Lower Somewhat Lower No Change Somewhat Higher Much Higher Don't Know 32% Ciro Coelho 13%

29/37

Metodologias Ágeis

Números, números, números Como as metodologias ágeis afetaram a qualidade? (sem os que não souberam responder) 1%2% 19% 31% Much Lower Somewhat Lower No Change Somewhat Higher Much Higher 47%

30/37

Ciro Coelho

Metodologias Ágeis

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

2% 14% 36% 34% Much Higher Somewhat Higher No Change Somewhat Lower Much Lower Don't Know 1% 13% Ciro Coelho

31/37

Metodologias Ágeis

Números, números, números Como as metodologias ágeis afetaram o custo? (sem os que não souberam responder) 2% 3% 20% 22% Much Higher Somewhat Higher No Change Somewhat Lower Much Lower 53% Ciro Coelho

32/37

Metodologias Ágeis

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

35% Ciro Coelho 11% 27% 25% Much Lower Somewhat Lower No Change Somewhat Higher Much Higher Don't Know

33/37

Metodologias Ágeis

Números, números, números Como as metodologias ágeis afetaram a satisfação dos stakeholders? (sem os que não souberam responder) 1%2% 17% 39% Much Lower Somewhat Lower No Change Somewhat Higher Much Higher 41%

34/37

Ciro Coelho

Metodologias Ágeis

Números, números, números Tamanho das iterações (em %) No Iterations > 8 Weeks 7-8 Weeks 5-6 Weeks 4 Weeks 3 Weeks 2 Weeks 1 Week < 1 Week 1,4 1,9 1,9 5 6,6 12,5 17 21 Ciro Coelho 32,6

35/37

Metodologias Ágeis

Números, números, números Tamanho das equipes 200+ 101 to 200 51-100 21 to 50 11 to 20 6 to 10 1 to 5 2 5 3 6 6 11 30 41 0 50 Ciro Coelho 73 90 144 135 135 165 100 Attempt Success 150 200

36/37

Metodologias Ágeis

Referências

AmbySoft

: www.ambysoft.com

Agile Data

: www.agiledata.org

Larman, Craig.

Agile and Iterative Development

. Addison-Wesley, 2003 Ciro Coelho

37/37