49
Introduç Introduç ão a ão a Métodos Ágeis Métodos Ágeis Curso de Verão 2008 - IME/USP www . agilcoop .org. br Danilo Sato Mariana Bravo

Introdução a Métodos Ágeis - CCSLccsl.ime.usp.br/agilcoop/files/AgilCoop-Verao08-Introducao.pdf · •Crystal •FDD •… Copyleft Agilcoop 2008 47 Metodologias A melhor metodologia

  • Upload
    lediep

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introdução a Métodos Ágeis - CCSLccsl.ime.usp.br/agilcoop/files/AgilCoop-Verao08-Introducao.pdf · •Crystal •FDD •… Copyleft Agilcoop 2008 47 Metodologias A melhor metodologia

IntroduçIntrodução aão aMétodos ÁgeisMétodos Ágeis

Curso de Verão 2008 - IME/USPwww.agilcoop.org.br

Danilo Sato Mariana Bravo

Page 2: Introdução a Métodos Ágeis - CCSLccsl.ime.usp.br/agilcoop/files/AgilCoop-Verao08-Introducao.pdf · •Crystal •FDD •… Copyleft Agilcoop 2008 47 Metodologias A melhor metodologia

2Copyleft Agilcoop 2008

Tradicional ou Ágil?

Page 3: Introdução a Métodos Ágeis - CCSLccsl.ime.usp.br/agilcoop/files/AgilCoop-Verao08-Introducao.pdf · •Crystal •FDD •… Copyleft Agilcoop 2008 47 Metodologias A melhor metodologia

3Copyleft Agilcoop 2008

Tradicional ou Ágil?

Forecast-drivenvs

Feedback-driven

Page 4: Introdução a Métodos Ágeis - CCSLccsl.ime.usp.br/agilcoop/files/AgilCoop-Verao08-Introducao.pdf · •Crystal •FDD •… Copyleft Agilcoop 2008 47 Metodologias A melhor metodologia

4Copyleft Agilcoop 2008

O Que é Sucesso?

Praz

o Escopo

Orçamento

Page 5: Introdução a Métodos Ágeis - CCSLccsl.ime.usp.br/agilcoop/files/AgilCoop-Verao08-Introducao.pdf · •Crystal •FDD •… Copyleft Agilcoop 2008 47 Metodologias A melhor metodologia

5Copyleft Agilcoop 2008

CHAOS Report

• Resultado dos projetos (2003):

15%

34%51%com

problemas

sucesso

falham

Page 6: Introdução a Métodos Ágeis - CCSLccsl.ime.usp.br/agilcoop/files/AgilCoop-Verao08-Introducao.pdf · •Crystal •FDD •… Copyleft Agilcoop 2008 47 Metodologias A melhor metodologia

6Copyleft Agilcoop 2008

Qual software?

64%Funcionalidades

nunca ouraramente

utilizadas

Jim Johnson, 2000

Page 7: Introdução a Métodos Ágeis - CCSLccsl.ime.usp.br/agilcoop/files/AgilCoop-Verao08-Introducao.pdf · •Crystal •FDD •… Copyleft Agilcoop 2008 47 Metodologias A melhor metodologia

7Copyleft Agilcoop 2008

O Que é Sucesso?

Praz

o Escopo

Orçamento

Ser Realista?

?Retorno de Investimento?

Atendernecessidades?

Qualidade?Equipe??

??

Page 8: Introdução a Métodos Ágeis - CCSLccsl.ime.usp.br/agilcoop/files/AgilCoop-Verao08-Introducao.pdf · •Crystal •FDD •… Copyleft Agilcoop 2008 47 Metodologias A melhor metodologia

8Copyleft Agilcoop 2008

Um pouco de história…

Requisitos

Análise

Construção

Arquitetura eDesign

Testes

Produção

1970

Page 9: Introdução a Métodos Ágeis - CCSLccsl.ime.usp.br/agilcoop/files/AgilCoop-Verao08-Introducao.pdf · •Crystal •FDD •… Copyleft Agilcoop 2008 47 Metodologias A melhor metodologia

9Copyleft Agilcoop 2008

Analogias…

Engenharia de Software ≠ Engenharia CivilC

usto

da

mud

ança

Manutenção Constante!

Page 10: Introdução a Métodos Ágeis - CCSLccsl.ime.usp.br/agilcoop/files/AgilCoop-Verao08-Introducao.pdf · •Crystal •FDD •… Copyleft Agilcoop 2008 47 Metodologias A melhor metodologia

10Copyleft Agilcoop 2008

Analogias…

Engenharia de Software ≠ Engenharia Civil

Programar é fazer Design!

Page 11: Introdução a Métodos Ágeis - CCSLccsl.ime.usp.br/agilcoop/files/AgilCoop-Verao08-Introducao.pdf · •Crystal •FDD •… Copyleft Agilcoop 2008 47 Metodologias A melhor metodologia

11Copyleft Agilcoop 2008

E o RUP?

“Ninguém segue o modelo cascata”

Incepção

Elaboração

Transição

Construção

Page 12: Introdução a Métodos Ágeis - CCSLccsl.ime.usp.br/agilcoop/files/AgilCoop-Verao08-Introducao.pdf · •Crystal •FDD •… Copyleft Agilcoop 2008 47 Metodologias A melhor metodologia

12Copyleft Agilcoop 2008

Jacobson, agosto/2007

Page 13: Introdução a Métodos Ágeis - CCSLccsl.ime.usp.br/agilcoop/files/AgilCoop-Verao08-Introducao.pdf · •Crystal •FDD •… Copyleft Agilcoop 2008 47 Metodologias A melhor metodologia

13Copyleft Agilcoop 2008

Como extrair valor de TI?

• Processos tradicionais:

tempo-$$?

+$???

Gasto: -30$ 0$ 0$ 0$ 0$ 0$

Lucro: 0$ 0$ 0$ 0$ 0$ 20$

Saldo: -30$ -30$ -30$ -30$ -30$ -10$

Page 14: Introdução a Métodos Ágeis - CCSLccsl.ime.usp.br/agilcoop/files/AgilCoop-Verao08-Introducao.pdf · •Crystal •FDD •… Copyleft Agilcoop 2008 47 Metodologias A melhor metodologia

14Copyleft Agilcoop 2008

Como extrair valor de TI?

• Métodos Ágeis:

tempo

Gasto: -5$ -5$ -5$ -5$ -5$ -5$

Lucro: 0$ 2$ 4$ 9$ 15$ 20$

Saldo: -5$ -8$ -9$ -5$ 5$ 20$

Page 15: Introdução a Métodos Ágeis - CCSLccsl.ime.usp.br/agilcoop/files/AgilCoop-Verao08-Introducao.pdf · •Crystal •FDD •… Copyleft Agilcoop 2008 47 Metodologias A melhor metodologia

15Copyleft Agilcoop 2008

Processos tradicionais:

Valor = software funcionando

O que é valor?

Page 16: Introdução a Métodos Ágeis - CCSLccsl.ime.usp.br/agilcoop/files/AgilCoop-Verao08-Introducao.pdf · •Crystal •FDD •… Copyleft Agilcoop 2008 47 Metodologias A melhor metodologia

16Copyleft Agilcoop 2008

Ou seja...

Software funcionandoé mais importante que

documentação abrangente

Page 17: Introdução a Métodos Ágeis - CCSLccsl.ime.usp.br/agilcoop/files/AgilCoop-Verao08-Introducao.pdf · •Crystal •FDD •… Copyleft Agilcoop 2008 47 Metodologias A melhor metodologia

17Copyleft Agilcoop 2008

Então não documenta?• Documentação é uma excelente forma de armazenar o histórico de

decisões de um projeto. Quando algo dá errado, é importante poderrastrear tais decisões para descobrir o que deu errado. Além disso, umdocumento é escrito numa linguagem muito mais formal e, portanto, maiscorreta, evitando ambigüidades de sentido. É importante manter toda adocumentação sincronizada com o resto do projeto. Por exemplo, umdocumento de design ou arquitetura do sistema precisa refletir arealidade implementada. Outro tipo de documentação comumente escritaao desenvolver software como um produto, é um manual técnico ou guiade uso para o usuário final. No entanto, é preciso lembrar que produzirdocumentação é uma tarefa que exige esforço e, portanto, toma tempoda equipe. A quantidade de tempo gasta produzindo documentaçãodesnecessária é desperdício para o projeto e para o cliente. A equipedeve colaborar com o cliente para determinar o real valor da produção deum documento, levando em conta pontos como custo, benefício,precisão, manutenção e linguagem utilizada...

Entenderam?

Page 18: Introdução a Métodos Ágeis - CCSLccsl.ime.usp.br/agilcoop/files/AgilCoop-Verao08-Introducao.pdf · •Crystal •FDD •… Copyleft Agilcoop 2008 47 Metodologias A melhor metodologia

18Copyleft Agilcoop 2008

Comunicação

• “Telefone sem fio”

• “Documento sem fio”

A B

A ?

Page 19: Introdução a Métodos Ágeis - CCSLccsl.ime.usp.br/agilcoop/files/AgilCoop-Verao08-Introducao.pdf · •Crystal •FDD •… Copyleft Agilcoop 2008 47 Metodologias A melhor metodologia

19Copyleft Agilcoop 2008

Documente o necessário

• Bom senso:

– O que a equipe julgar necessário

– O que o “dono” do projeto exige

• Tratada como funcionalidade

Page 20: Introdução a Métodos Ágeis - CCSLccsl.ime.usp.br/agilcoop/files/AgilCoop-Verao08-Introducao.pdf · •Crystal •FDD •… Copyleft Agilcoop 2008 47 Metodologias A melhor metodologia

20Copyleft Agilcoop 2008

Então...

Indivíduos e interaçõessão mais importantes queprocessos e ferramentas

Page 21: Introdução a Métodos Ágeis - CCSLccsl.ime.usp.br/agilcoop/files/AgilCoop-Verao08-Introducao.pdf · •Crystal •FDD •… Copyleft Agilcoop 2008 47 Metodologias A melhor metodologia

21Copyleft Agilcoop 2008

Então não usa processos eferramentas?

Page 22: Introdução a Métodos Ágeis - CCSLccsl.ime.usp.br/agilcoop/files/AgilCoop-Verao08-Introducao.pdf · •Crystal •FDD •… Copyleft Agilcoop 2008 47 Metodologias A melhor metodologia

22Copyleft Agilcoop 2008

Fazer certo o software

Carne assada evagem com bacon,

uma delícia.Seguindo a receita vai

ficar muito gostoso!

Sem dúvida vai serum sucesso!!

Page 23: Introdução a Métodos Ágeis - CCSLccsl.ime.usp.br/agilcoop/files/AgilCoop-Verao08-Introducao.pdf · •Crystal •FDD •… Copyleft Agilcoop 2008 47 Metodologias A melhor metodologia

23Copyleft Agilcoop 2008

Fazer o software certo

Voilá!Mas eu sou

vegetariana!!

Page 24: Introdução a Métodos Ágeis - CCSLccsl.ime.usp.br/agilcoop/files/AgilCoop-Verao08-Introducao.pdf · •Crystal •FDD •… Copyleft Agilcoop 2008 47 Metodologias A melhor metodologia

24Copyleft Agilcoop 2008

E como fazer o software certo?

Enxergue pelos olhos do cliente!

Page 25: Introdução a Métodos Ágeis - CCSLccsl.ime.usp.br/agilcoop/files/AgilCoop-Verao08-Introducao.pdf · •Crystal •FDD •… Copyleft Agilcoop 2008 47 Metodologias A melhor metodologia

25Copyleft Agilcoop 2008

Falta de Feedback

Por enquantotudo bem

Page 26: Introdução a Métodos Ágeis - CCSLccsl.ime.usp.br/agilcoop/files/AgilCoop-Verao08-Introducao.pdf · •Crystal •FDD •… Copyleft Agilcoop 2008 47 Metodologias A melhor metodologia

26Copyleft Agilcoop 2008

Isto é...

Colaboração com o clienteé mais importante que

negociação de contratos

Page 27: Introdução a Métodos Ágeis - CCSLccsl.ime.usp.br/agilcoop/files/AgilCoop-Verao08-Introducao.pdf · •Crystal •FDD •… Copyleft Agilcoop 2008 47 Metodologias A melhor metodologia

27Copyleft Agilcoop 2008

Então não tem contrato?

• Contratos “tradicionais” incentivamcomportamentos indesejados

• Faça um contrato de benefício mútuo

Page 28: Introdução a Métodos Ágeis - CCSLccsl.ime.usp.br/agilcoop/files/AgilCoop-Verao08-Introducao.pdf · •Crystal •FDD •… Copyleft Agilcoop 2008 47 Metodologias A melhor metodologia

28Copyleft Agilcoop 2008

Contrato de Escopo Negociável

• Cliente:– Tem a oportunidade de mudar de idéia– Pode interromper o desenvolvimento a

qualquer momento– Custo e Prazo fixos

• Desenvolvedores:– Motivados a produzir o melhor sistema– Receita previsível

Page 29: Introdução a Métodos Ágeis - CCSLccsl.ime.usp.br/agilcoop/files/AgilCoop-Verao08-Introducao.pdf · •Crystal •FDD •… Copyleft Agilcoop 2008 47 Metodologias A melhor metodologia

29Copyleft Agilcoop 2008

Se não houver interação...

• Perguntas:– Faça sua lista de compras de 2009– Quem vai ganhar o campeonato de 2010?– Quanto tempo demora para pedalar até o RJ?

• Somos ruins para planejar a longo prazo!

Page 30: Introdução a Métodos Ágeis - CCSLccsl.ime.usp.br/agilcoop/files/AgilCoop-Verao08-Introducao.pdf · •Crystal •FDD •… Copyleft Agilcoop 2008 47 Metodologias A melhor metodologia

30Copyleft Agilcoop 2008

Portanto...

Adaptação a mudançasé mais importante que

seguir um plano

Page 31: Introdução a Métodos Ágeis - CCSLccsl.ime.usp.br/agilcoop/files/AgilCoop-Verao08-Introducao.pdf · •Crystal •FDD •… Copyleft Agilcoop 2008 47 Metodologias A melhor metodologia

31Copyleft Agilcoop 2008

Então não planejamos?

• Mudando um pouco a história:– Faça a lista de compras para mês/semana

que vem.– Quem vai ganhar o jogo do fim de semana?– Quanto tempo demora para pedalar de casa

até o trabalho?

Page 32: Introdução a Métodos Ágeis - CCSLccsl.ime.usp.br/agilcoop/files/AgilCoop-Verao08-Introducao.pdf · •Crystal •FDD •… Copyleft Agilcoop 2008 47 Metodologias A melhor metodologia

32Copyleft Agilcoop 2008

Pelo contrário...

Planejamos

SEMPRE

Page 33: Introdução a Métodos Ágeis - CCSLccsl.ime.usp.br/agilcoop/files/AgilCoop-Verao08-Introducao.pdf · •Crystal •FDD •… Copyleft Agilcoop 2008 47 Metodologias A melhor metodologia

33Copyleft Agilcoop 2008

Pêndulo do Planejamento

• No mundo não-Ágil:

NenhumPlano

Excesso dePlanos

Planejar sempre, em ciclos pequenos

Page 34: Introdução a Métodos Ágeis - CCSLccsl.ime.usp.br/agilcoop/files/AgilCoop-Verao08-Introducao.pdf · •Crystal •FDD •… Copyleft Agilcoop 2008 47 Metodologias A melhor metodologia

34Copyleft Agilcoop 2008

Planejamento em Ciclos

Dia

Iteração

Release W

S

A

O

R

F

E

T

A

Page 35: Introdução a Métodos Ágeis - CCSLccsl.ime.usp.br/agilcoop/files/AgilCoop-Verao08-Introducao.pdf · •Crystal •FDD •… Copyleft Agilcoop 2008 47 Metodologias A melhor metodologia

35Copyleft Agilcoop 2008

Novo conceito: Pronto

Seu quartoestá pronto!

? ? ?

Page 36: Introdução a Métodos Ágeis - CCSLccsl.ime.usp.br/agilcoop/files/AgilCoop-Verao08-Introducao.pdf · •Crystal •FDD •… Copyleft Agilcoop 2008 47 Metodologias A melhor metodologia

36Copyleft Agilcoop 2008

Guiado por Feedback

Page 37: Introdução a Métodos Ágeis - CCSLccsl.ime.usp.br/agilcoop/files/AgilCoop-Verao08-Introducao.pdf · •Crystal •FDD •… Copyleft Agilcoop 2008 47 Metodologias A melhor metodologia

37Copyleft Agilcoop 2008

Retrospectivas

Page 38: Introdução a Métodos Ágeis - CCSLccsl.ime.usp.br/agilcoop/files/AgilCoop-Verao08-Introducao.pdf · •Crystal •FDD •… Copyleft Agilcoop 2008 47 Metodologias A melhor metodologia

38Copyleft Agilcoop 2008

Como o projeto atrasou 2 anos?

• 80% pronto

Estimativas não são compromissos!

Já está chegandoem casa?

Faltam só 2 quarteirões

Page 39: Introdução a Métodos Ágeis - CCSLccsl.ime.usp.br/agilcoop/files/AgilCoop-Verao08-Introducao.pdf · •Crystal •FDD •… Copyleft Agilcoop 2008 47 Metodologias A melhor metodologia

39Copyleft Agilcoop 2008

Área de Trabalho Informativa

Page 40: Introdução a Métodos Ágeis - CCSLccsl.ime.usp.br/agilcoop/files/AgilCoop-Verao08-Introducao.pdf · •Crystal •FDD •… Copyleft Agilcoop 2008 47 Metodologias A melhor metodologia

40Copyleft Agilcoop 2008

Qualidade leva à agilidade

“Work smarter, not harder”-- Tom de Marco, “Slack”

“Inspecionar para previnir defeitos é bom;Inspecionar para encontrar defeitos édesperdício”-- Shigeo Shingo, “The Toyota Production System”

Qualidade é sempre alta!

Page 41: Introdução a Métodos Ágeis - CCSLccsl.ime.usp.br/agilcoop/files/AgilCoop-Verao08-Introducao.pdf · •Crystal •FDD •… Copyleft Agilcoop 2008 47 Metodologias A melhor metodologia

41Copyleft Agilcoop 2008

Prevenindo defeitos

• Auto-inspeção (mistake proof)

Testes são a especificação!

Page 42: Introdução a Métodos Ágeis - CCSLccsl.ime.usp.br/agilcoop/files/AgilCoop-Verao08-Introducao.pdf · •Crystal •FDD •… Copyleft Agilcoop 2008 47 Metodologias A melhor metodologia

42Copyleft Agilcoop 2008

Constante manutenção

• Evitando débito técnico:– Refatoração e Design Simples

Complexidade é o inimigo invisível!

Page 43: Introdução a Métodos Ágeis - CCSLccsl.ime.usp.br/agilcoop/files/AgilCoop-Verao08-Introducao.pdf · •Crystal •FDD •… Copyleft Agilcoop 2008 47 Metodologias A melhor metodologia

43Copyleft Agilcoop 2008

Quando não refatora….

Page 44: Introdução a Métodos Ágeis - CCSLccsl.ime.usp.br/agilcoop/files/AgilCoop-Verao08-Introducao.pdf · •Crystal •FDD •… Copyleft Agilcoop 2008 47 Metodologias A melhor metodologia

44Copyleft Agilcoop 2008

Onde começar?

• Comece onde está• Use Retrospectivas• Procure desperdícios

Page 45: Introdução a Métodos Ágeis - CCSLccsl.ime.usp.br/agilcoop/files/AgilCoop-Verao08-Introducao.pdf · •Crystal •FDD •… Copyleft Agilcoop 2008 47 Metodologias A melhor metodologia

45Copyleft Agilcoop 2008

Recapitulando…

• Manifesto Ágil:– Indivíduos e interações são mais

importantes que processos e ferramentas– Software funcionando é mais importante

que documentação completa e detalhada– Colaboração com o cliente é mais

importante que negociação de contratos– Adaptação a mudanças é mais importante

que seguir um plano

Page 46: Introdução a Métodos Ágeis - CCSLccsl.ime.usp.br/agilcoop/files/AgilCoop-Verao08-Introducao.pdf · •Crystal •FDD •… Copyleft Agilcoop 2008 47 Metodologias A melhor metodologia

46Copyleft Agilcoop 2008

Metodologias

• XP• Scrum• Lean• Crystal• FDD• …

Page 47: Introdução a Métodos Ágeis - CCSLccsl.ime.usp.br/agilcoop/files/AgilCoop-Verao08-Introducao.pdf · •Crystal •FDD •… Copyleft Agilcoop 2008 47 Metodologias A melhor metodologia

47Copyleft Agilcoop 2008

Metodologias

A melhor metodologia é asua metodologia

Page 48: Introdução a Métodos Ágeis - CCSLccsl.ime.usp.br/agilcoop/files/AgilCoop-Verao08-Introducao.pdf · •Crystal •FDD •… Copyleft Agilcoop 2008 47 Metodologias A melhor metodologia

48Copyleft Agilcoop 2008

Conclusão

Não seja um Lemming!

Page 49: Introdução a Métodos Ágeis - CCSLccsl.ime.usp.br/agilcoop/files/AgilCoop-Verao08-Introducao.pdf · •Crystal •FDD •… Copyleft Agilcoop 2008 47 Metodologias A melhor metodologia

49Copyleft Agilcoop 2008

Dúvidas?

[email protected]

?www.agilcoop.org.br