A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Desenvolvendo Software com Qualidade e Agilidade Prof. Dr. Fabio Kon Departamento de Ciência da Computação IME - USP www.agilcoop.org.br.

Apresentações semelhantes


Apresentação em tema: "Desenvolvendo Software com Qualidade e Agilidade Prof. Dr. Fabio Kon Departamento de Ciência da Computação IME - USP www.agilcoop.org.br."— Transcrição da apresentação:

1 Desenvolvendo Software com Qualidade e Agilidade Prof. Dr. Fabio Kon Departamento de Ciência da Computação IME - USP www.agilcoop.org.br

2 2 Copyleft Agilcoop 2007 CHAOS Report Resultado dos projetos (2004): 18% 29% 53% com problemas sucesso falham

3 3 Copyleft Agilcoop 2007 CHAOS Report 19942004 Projetos não concluídos ------------ 31% Projetos bem sucedidos ----- 16% Estouro médio de custo -----------------------> 180% Estouro médio de prazo -----------------------> 164% Projetos não concluídos ------- 18% Projetos bem sucedidos ----------- 29% Estouro médio de custo ----------------- 56% Estouro médio de prazo ------------------------- 84%

4 4 Copyleft Agilcoop 2007 Qual software? 64% Funcionalidades nunca ou raramente utilizadas Jim Johnson, 2000

5 5 Copyleft Agilcoop 2007 A grande mentira Requisitos Análise Implementação Arquitetura e Design Testes Produção

6 6 Copyleft Agilcoop 2007 Jacobson, agosto/2007

7 7 Copyleft Agilcoop 2007 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$

8 8 Copyleft Agilcoop 2007 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$

9 9 Copyleft Agilcoop 2007 Processos tradicionais: Valor = software funcionando O que é valor?

10 10 Copyleft Agilcoop 2007 Ou seja... Software funcionando é mais importante que documentação abrangente

11 11 Copyleft Agilcoop 2007 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 poder rastrear tais decisões para descobrir o que deu errado. Além disso, um documento é escrito numa linguagem muito mais formal e, portanto, mais correta, evitando ambigüidades de sentido. É importante manter toda a documentação sincronizada com o resto do projeto. Por exemplo, um documento de design ou arquitetura do sistema precisa refletir a realidade implementada. Outro tipo de documentação comumente escrita ao desenvolver software como um produto, é um manual técnico ou guia de uso para o usuário final. No entanto, é preciso lembrar que produzir documentação é uma tarefa que exige esforço e, portanto, toma tempo da equipe. A quantidade de tempo gasta produzindo documentação desnecessária é desperdício para o projeto e para o cliente. A equipe deve colaborar com o cliente para determinar o real valor da produção de um documento, levando em conta pontos como custo, benefício, precisão, manutenção e linguagem utilizada... Entenderam?

12 12 Copyleft Agilcoop 2007 Comunicação “Telefone sem fio” “Documento sem fio” A B A?

13 13 Copyleft Agilcoop 2007 Documente o necessário Bom senso: –O que a equipe julgar necessário –O que o “dono” do projeto exige Tratada como funcionalidade

14 14 Copyleft Agilcoop 2007 Então... Indivíduos e interações são mais importantes que processos e ferramentas

15 15 Copyleft Agilcoop 2007 Então não usa processos e ferramentas?

16 16 Copyleft Agilcoop 2007 Fazer certo o software Carne assada e vagem com bacon, uma delícia. Seguindo a receita vai ficar muito gostoso! Sem dúvida vai ser um sucesso!!

17 17 Copyleft Agilcoop 2007 Fazer o software certo Voilá! Mas eu sou vegetariana!!

18 18 Copyleft Agilcoop 2007 E como fazer o software certo? Investindo na bolsa:

19 19 Copyleft Agilcoop 2007 É preciso gerenciar riscos Software é arriscado

20 20 Copyleft Agilcoop 2007 Feedback Por enquanto tudo bem

21 21 Copyleft Agilcoop 2007 Isto é... Colaboração com o cliente é mais importante que negociação de contratos

22 22 Copyleft Agilcoop 2007 Então não tem contrato? Contratos “tradicionais”incentivam comportamentos não produtivos Faça um contrato de benefício mútuo

23 23 Copyleft Agilcoop 2007 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

24 24 Copyleft Agilcoop 2007 Se não houver interação... Perguntas: –Faça sua lista de compras de 2008 –Seu investimento vai render quanto em 2010? –Quanto tempo demora para pedalar até o RJ? Somos ruins para planejar a longo prazo!

25 25 Copyleft Agilcoop 2007 Portanto... Adaptação a mudanças é mais importante que seguir um plano

26 26 Copyleft Agilcoop 2007 Então não planejamos? Mudando um pouco a história: –Faça a lista de compras para mês/semana que vem. –Quanto de lucro teremos mês que vem? –Quanto tempo demora para pedalar de casa até o trabalho?

27 27 Copyleft Agilcoop 2007 Pelo contrário... Planejamos SEMPRE

28 28 Copyleft Agilcoop 2007 Planejamos para o curto, médio e longo prazos Planejamento Ágil

29 29 Copyleft Agilcoop 2007 Pêndulo do Planejamento No mundo não-Ágil: Nenhum Plano Excesso de Planos Planejar sempre, em ciclos pequenos

30 30 Copyleft Agilcoop 2007 Ciclos pequenos Dia Iteração Release W S A O R F E T A

31 31 Copyleft Agilcoop 2007 Retrospectivas

32 32 Copyleft Agilcoop 2007 Guiado por Feedback

33 33 Copyleft Agilcoop 2007 Estimativas - Quiz Qual a vazão média das Cataratas do Iguaçu? –1.500 m 3 /s Qual a área do Brasil? –8.514.877 km 2 Que dia foi a Tomada da Bastilha? –14/Jul/1789 Quando foi a primeira transmissão em cores no Brasil? –31/Mar/1972 Qual a altura do Cristo Redentor? –38 m Qual a distância média da Terra à Lua? –384.403 km

34 34 Copyleft Agilcoop 2007 Somos péssimos estimadores

35 35 Copyleft Agilcoop 2007 Estimar é difícil Como um projeto atrasa 2 anos? 80% pronto Estimativas não são compromissos! Já está chegando em casa? Faltam só 2 quarteirões

36 36 Copyleft Agilcoop 2007 Boas estimativas Tamanho ≠ Duração 1 1 2 2 2 2 4 4 4 4 8 16 2 Total = 58

37 37 Copyleft Agilcoop 2007 Acompanhamento Velocidade = Pontos Entregues / Iteração

38 38 Copyleft Agilcoop 2007 Área de Trabalho Informativa

39 39 Copyleft Agilcoop 2007 Área de Trabalho Informativa

40 40 Copyleft Agilcoop 2007 Requisito ≠ Obrigação Planos por priorização:

41 41 Copyleft Agilcoop 2007 Novo conceito: Pronto Seu quarto está pronto! ? ? ?

42 42 Copyleft Agilcoop 2007 Equipe completa

43 43 Copyleft Agilcoop 2007 Indo para o lado técnico… Visão do Sistema Decomposição por especialidade

44 44 Copyleft Agilcoop 2007 Integração Tardia

45 45 Copyleft Agilcoop 2007 Integração Contínua

46 46 Copyleft Agilcoop 2007 Criando Conhecimento Código Compartilhado Programação Pareada Padronização de Código

47 47 Copyleft Agilcoop 2007 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!

48 48 Copyleft Agilcoop 2007 Previnindo defeitos Auto-inspeção (mistake proof) Testes são a especificação!

49 49 Copyleft Agilcoop 2007 Testes automatizados Testes de unidade –Programadores Testes de aceitação –Clientes

50 50 Copyleft Agilcoop 2007 Constante manutenção Evitando débito técnico: –Refatoração e Design Simples Complexidade é o inimigo invisível!

51 51 Copyleft Agilcoop 2007 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

52 52 Copyleft Agilcoop 2007 Metodologias Scrum: –Planejamento ágil –Ciclos pequenos –Retrospectiva –Equipe completa –…

53 53 Copyleft Agilcoop 2007 Metodologias Scrum + XP: –Integração Contínua –Testes Automatizados –Refatoração e Design Simples –Área de Trabalho Informativa –Programação Pareada –…

54 54 Copyleft Agilcoop 2007 Metodologias A melhor metodologia é a sua metodologia

55 55 Copyleft Agilcoop 2007 Ser Ágil = Vencer medos Escrever código Mudar de idéia Ir em frente sem saber tudo sobre o futuro Confiar em outras pessoas Mudar a arquitetura de um sistema em funcionamento Escrever testes

56 56 Copyleft Agilcoop 2007 Onde começar? Comece onde está Use Retrospectivas Procure desperdícios

57 57 Copyleft Agilcoop 2007 Dúvidas? agilcoop@agilcoop.org.br ? www.agilcoop.org.br (artigos + agilcast)


Carregar ppt "Desenvolvendo Software com Qualidade e Agilidade Prof. Dr. Fabio Kon Departamento de Ciência da Computação IME - USP www.agilcoop.org.br."

Apresentações semelhantes


Anúncios Google