metodologias Ágeis

37
Ciro Coelho 1/37 Metodologias Ágeis Metodologias Ágeis Visão Geral

Upload: bernadine-wolf

Post on 02-Jan-2016

72 views

Category:

Documents


0 download

DESCRIPTION

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. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Metodologias Ágeis

Ciro Coelho 1/37

Metodologias Ágeis

Metodologias Ágeis

Visão Geral

Page 2: Metodologias Ágeis

Ciro Coelho 2/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.

Page 3: Metodologias Ágeis

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

Page 4: Metodologias Ágeis

Ciro Coelho 4/37

Metodologias Ágeis

Introdução

Surgimento de um novo grupo de metodologias Leves (“lightweight”) Flexíveis Ágeis

Page 5: Metodologias Ágeis

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

Page 6: Metodologias Ágeis

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

Page 7: Metodologias Ágeis

Ciro Coelho 7/37

Metodologias Ágeis

A “Aliança Ágil”

Kent Beck

Mike Beedle

Arie van Bennekum

Alistair Cockburn

Ward Cunningham

Martin Fowler

James Grenning

Jim Highsmith

Andrew HuntRon JeffriesJon KernBrian MarickRobert MartinSteve MellorKen SchwaberJeff SutherlandDave Thomas

Page 8: Metodologias Ágeis

Ciro Coelho 8/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”

Page 9: Metodologias Ágeis

Ciro Coelho 9/37

Metodologias Ágeis

Metolodogias Ágeis - Exemplos

eXtreme Programming (XP)

Scrum

FDD

Agile Modeling

Lean Development

ASD

Crystal Clear

OpenUP

...

Page 10: Metodologias Ágeis

Ciro Coelho 10/37

Metodologias Ágeis

Classificação

Page 11: Metodologias Ágeis

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

Page 12: Metodologias Ágeis

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

Page 13: Metodologias Ágeis

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

Page 14: Metodologias Ágeis

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

Page 15: Metodologias Ágeis

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

Page 16: Metodologias Ágeis

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

Page 17: Metodologias Ágeis

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

Page 18: Metodologias Ágeis

Ciro Coelho 18/37

Metodologias Ágeis

Quando usar o quê?

Metodologias ágeis Metodologias preditivas

Projetos pouco críticos Projetos altamente críticos

Equipe experiente Equipe iniciante

Com mudanças constantes Com poucas mudanças

Pequena equipe (≤ 10 ) Equipes maiores ( ≥ 20)

Equipe co-localizada Equipe distribuída

Cultura de adaptação Cultura de controle

Page 19: Metodologias Ágeis

Ciro Coelho 19/37

Metodologias Ágeis

Metodologias Ágeis

Motivação

Page 20: Metodologias Ágeis

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

Page 21: Metodologias Ágeis

Ciro Coelho 21/37

Metodologias Ágeis

Números, números, números

A sua organização adota uma ou mais técnicas ágeis?

Yes69%

No31%

Page 22: Metodologias Ágeis

Ciro Coelho 22/37

Metodologias Ágeis

Números, números, números

Só para os que não adotaram: quando pretendem adotar?

4% 8%

12%

9%

9%12%

46%

<3 Months 3-6 Months 6-12 Months 12-24 Months

> 24 Months Never Don' Know

Page 23: Metodologias Ágeis

Ciro Coelho 23/37

Metodologias Ágeis

Números, números, números

Adoção de técnicas ágeis

539

57

21

22

28

105

0 100 200 300 400 500 600

Currently Doing Agile

Within Year

12-24 Months

> 24 Months

Never

Don't Know When

Page 24: Metodologias Ágeis

Ciro Coelho 24/37

Metodologias Ágeis

Números, números, números

Qual a metodologia ágil adotada?

191

216

91

26

954

502

460

171

Agile MSF

AUP

Crystal Clear

DSDM

XP

FDD

Scrum

Other

Page 25: Metodologias Ágeis

Ciro Coelho 25/37

Metodologias Ágeis

Números, números, números

% de sucesso de projetos ágeis

44%

33%

12%

5% 6%

90%+ 75-90% 50-74% 25-49% >25%

Page 26: Metodologias Ágeis

Ciro Coelho 26/37

Metodologias Ágeis

Números, números, números

% de sucesso de projetos ágeis (por distribuição da equipe)

44,8

32,7

12,1

4,7

5,7

51,7

30

9,5

4,1

4,8

33,1

29,1

21,5

7,2

9,2

20,1

18,5

27,7

8,5

24,6

0 10 20 30 40 50 60

90%+

75-90%

50-74%

25-49%

>25%

All Co-Located Not Co-Located Offshoring

Page 27: Metodologias Ágeis

Ciro Coelho 27/37

Metodologias Ágeis

Números, números, números

Como as metodologias ágeis afetaram a produtividade?

0%4%

23%

33%

8%

32%

Much Lower

Somewhat Lower

No Change

Somewhat Higher

Much Higher

Don't Know

Page 28: Metodologias Ágeis

Ciro Coelho 28/37

Metodologias Ágeis

Números, números, números

Como as metodologias ágeis afetaram a produtividade? (sem os que não souberam responder)

1% 5%

34%

48%

12%

Much Lower

Somewhat Lower

No Change

Somewhat Higher

Much Higher

Page 29: Metodologias Ágeis

Ciro Coelho 29/37

Metodologias Ágeis

Números, números, números

Como as metodologias ágeis afetaram a qualidade?

0%2%

21%

32%13%

32%

Much Lower

Somewhat Lower

No Change

Somewhat Higher

Much Higher

Don't Know

Page 30: Metodologias Ágeis

Ciro Coelho 30/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%

31%

47%

19%

Much Lower

Somewhat Lower

No Change

Somewhat Higher

Much Higher

Page 31: Metodologias Ágeis

Ciro Coelho 31/37

Metodologias Ágeis

Números, números, números

Como as metodologias ágeis afetaram o custo?

2%

14%

34%

13%

1%

36% Much Higher

Somewhat Higher

No Change

Somewhat Lower

Much Lower

Don't Know

Page 32: Metodologias Ágeis

Ciro Coelho 32/37

Metodologias Ágeis

Números, números, números

Como as metodologias ágeis afetaram o custo? (sem os que não souberam responder)

3%

22%

53%

20%

2%

Much Higher

Somewhat Higher

No Change

Somewhat Lower

Much Lower

Page 33: Metodologias Ágeis

Ciro Coelho 33/37

Metodologias Ágeis

Números, números, números

Como as metodologias ágeis afetaram a satisfação dos stakeholders?

1%1%

25%

27%11%

35%Much Lower

Somewhat Lower

No Change

Somewhat Higher

Much Higher

Don't Know

Page 34: Metodologias Ágeis

Ciro Coelho 34/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%

39%

41%

17%

Much Lower

Somewhat Lower

No Change

Somewhat Higher

Much Higher

Page 35: Metodologias Ágeis

Ciro Coelho 35/37

Metodologias Ágeis

Números, números, números

Tamanho das iterações (em %)

5

17

32,6

12,5

21

6,6

1,9

1,9

1,4

< 1 Week

1 Week

2 Weeks

3 Weeks

4 Weeks

5-6 Weeks

7-8 Weeks

> 8 Weeks

No Iterations

Page 36: Metodologias Ágeis

Ciro Coelho 36/37

Metodologias Ágeis

Números, números, números

Tamanho das equipes

135

135

90

41

11

6

5

165

144

73

30

6

3

2

0 50 100 150 200

1 to 5

6 to 10

11 to 20

21 to 50

51-100

101 to 200

200+

Attempt Success

Page 37: Metodologias Ágeis

Ciro Coelho 37/37

Metodologias Ágeis

AmbySoft: www.ambysoft.com

Agile Data: www.agiledata.org

Larman, Craig. Agile and Iterative Development. Addison-Wesley, 2003

Referências