Desenvolvendo Software com Qualidade e Agilidade Hugo Corbucci AgilCoop DCC - IME - USP

Slides:



Advertisements
Apresentações semelhantes
GUG Porto Alegre/Brasil Desenvolvimento em GeneXus, Métodos Ágeis e Scrum.
Advertisements

um processo ágil de desenvolvimento de software
Comparação e Avaliação de Métodos Ágeis de Software
Técnicas e Projeto de Sistemas
Implantando SCRUM na Simplestec Equipe Tributária
Engenharia de Software
SCRUM Metodologia para o Desenvolvimento Ágil de Software Rafael Rodrigues, Rafael Rost.
Métodos Ágeis e Programação Extrema (XP)
Desenvolvendo Software com Qualidade e Agilidade Prof. Dr. Fabio Kon Departamento de Ciência da Computação IME - USP
Testes de Interface de Usuário AgilCoop – Cursos de Verão 2010 Mariana Bravo IME/USP.
Por que desenvolver para o Projeto Debian?. A. Meu perfil de desenvolvedor é alinhado com a cultura do Projeto Debian? B. Me sentirei integrado e satisfeito.
Planejamento Módulo 10 ● A decisão pela adoção do protocolo IPv6 gera muitas questões ● IPv6 é realmente necessário? ● Quando o IPv6 será necessário?
Introdução a Testes Automatizados AgilCoop – Cursos de Verão 2010 Mariana Bravo IME/USP.
Verão Ágil ’2009Copyleft by AgilCoop Introdução a Métodos Ágeis de Desenvolvimento de Software Curso de Verão Centro de Competência em Software Livre Departamento.
Padrões de Testes Automatizados Curso de Verão IME/USP Hugo Corbucci
Desenvolvimento de Software Lean Curso de Verão IME/USP Hugo Corbucci.
1 SIMG Sistema Integrado de Monitoramento Global SANERG Solutions.
FERRAMENTA PARA CONTROLE E MONITORAMENTO DE SERVIÇOS NA ÁREA DE TI Rafael Antonio Pires Orientador: Francisco Adell Péricas.
EA976 – Engenharia de Software AULA 4 Desenvolvimento Ágil.
Refatoração: Melhorando código existente AgilCoop – Cursos de Verão 2010 Mariana Bravo IME/USP.
Modelagem Orientada a Objetos com UML Cursos para a CTI - IME/USP Dairton Bassi, Hugo Corbucci e Mariana Bravo Departamento de Ciência.
Tracking – Acompanhamento de Projetos Ágeis Curso de Verão 2007 – IME/USP Danilo Sato & Mariana Bravo.
MEIOS DE COMUNICAÇÃO REVISÃO Certo e Errado! Missão e visão! (O QUE É?) Aonde quero chegar? (OBJETIVO) Qual caminho trilhar? (ESCOLHA DO PERCURSO) Excelência.
Introdução à Programação eXtrema (XP) Cursos de Verão IME/USP Mariana Bravo e Hugo Corbucci Departamento de Ciência da Computação.
Análise de Sistemas ll Profª Andrea Padovan Jubileu Daiane Oliveira Daniele Pires Izabele Messias.
GESTÃO DE PROJETOS. 2. Guia PMBOK ® 2.1. Guia PMBOK ®. Histórico. Processo Elaboração e Revisões. Conteúdo e Estruturação (Áreas de conhecimento, Processos.
Testes de Unidade Curso de Verão IME/USP Hugo Corbucci
Ferramenta para gestão ágil de projetos de software Robson Ricardo Giacomozzi Orientador: Everaldo Artur Grahl.
.com Modelagem de Requisitos de Software (MRS) Aula 4.
Engenharia de Software Definição: Estabelecimento e uso de sólidos princípios de engenharia para que se possa obter economicamente um software que seja.
Unidade Plena de Bacabeira. Resumo versus Resenha RESUMO : Extrai-se os fatos mais importantes de um texto ou documento. RESENHA: Resume-se e avalia-se.
Gestão de Projetos Aula 1 Esp. Luciene de Oliveira Vieira.
Administração de Empresas
Interface Homem-Computador
Família Crystal e Iconix
Olá sou Willian Marques, natural de Minas Gerais que atualmente mora na cidade São Paulo. Programador.
Desenvolvimento Ágil de Software
Valéria Maria Lauande Março/2010
Disciplina: Sistemas de Informação
RUP(Rational Unified Process)
Planejamento do Projeto Exemplo
PEF3111 – EMPREENDEDORISMO E MODELAGEM DE NEGÓCIOS
Componentes: Erivelton Costa, Reijilene Bomfim, Rodrigo Costa,
Introdução a Gestão de Projetos de TI
Metodologia otimizada
Gustavo Trauttmann, Willian Jardim e Jean Stragalinos.
Linguagens de Programação Conceitos e Técnicas
Gerenciamento Financeiro
O PROCESSO DE MEDIÇÃO.
NEGOCIAÇÃO E TOMADA DE DECISAO
Introdução ao Módulo Arthur Albertin
Conhecimentos em Gestão de Projetos
ADMINISTAÇÃO DA PRODUÇÃO
Modelagem de Sistemas I Aula 1 – Introdução à UML
COMUNICAÇÃO E TRABALHO EM EQUIPE
Desenvolvimento de Software de Qualidade através de Testes Automatizados 09/02/2009 Verão h.
Gerência de Projeto - Estrutura analítica de trabalho
GSI030 – engenharia de software
Participantes: Governança em Ti Carine Santos Cássio Garrido
SCRUM
Desenvolvimento de Software com Metodologia AGILE
Post-mortem do [nome do projeto]
GERÊNCIA DE PROJETOS DE SOFTWARE
MPRIME Capa da apresentação Thiago Fernandes –
Alexandre Xavier / Fernanda Matzenbacher
Jean Carlo Cainelli Estratégia de Produto Jean Carlo Cainelli
LES Finanças Aplicadas ao Agronegócio
Métricas Estimando o esforço de desenvolvimento de software.
O segredo para um marketing de resultados
Transcrição da apresentação:

Desenvolvendo Software com Qualidade e Agilidade Hugo Corbucci AgilCoop DCC - IME - USP

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

3 Copyleft Agilcoop 2008 CHAOS Report Projetos não concluídos % Projetos bem sucedidos % Estouro médio de custo > 180% Estouro médio de prazo > 164% Projetos não concluídos % Projetos bem sucedidos % Estouro médio de custo % Estouro médio de prazo %

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

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

6 Copyleft Agilcoop 2008 Jacobson, agosto/2007

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

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

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

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

11 Copyleft 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 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 Copyleft Agilcoop 2008 Comunicação “Telefone sem fio” “Documento sem fio” A B A?

13 Copyleft 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

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

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

16 Copyleft Agilcoop 2008 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 Copyleft Agilcoop 2008 Fazer o software certo Voilá! Mas eu sou vegetariana!!

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

19 Copyleft Agilcoop 2008 É preciso gerenciar riscos Software é arriscado

20 Copyleft Agilcoop 2008 Feedback Por enquanto tudo bem

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

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

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

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

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

26 Copyleft 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. – Quanto de lucro teremos mês que vem? – Quanto tempo demora para pedalar de casa até o trabalho?

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

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

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

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

31 Copyleft Agilcoop 2008 Como planejar o que fazer? Precisamos de duas informações: – Prioridade: o que é importante de ser feito – Estimativa: o quanto demora para fazer

32 Copyleft Agilcoop 2008 Requisito ≠ Obrigação Planos por priorização:

33 Copyleft Agilcoop 2008 Estimativas - Quiz Qual a vazão média das Cataratas do Iguaçu? Qual a área do Brasil? Que dia foi a Tomada da Bastilha? Quando foi a primeira transmissão em cores no Brasil? Qual a altura do Cristo Redentor? Qual a distância média da Terra à Lua?

34 Copyleft Agilcoop 2008 Estimativas - Quiz Qual a vazão média das Cataratas do Iguaçu? m3/s Qual a área do Brasil? km2 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? km

35 Copyleft Agilcoop 2008 Somos péssimos estimadores

36 Copyleft Agilcoop 2008 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

37 Copyleft Agilcoop 2008 Boas estimativas Tamanho ≠ Duração Total = 58

38 Copyleft 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

39 Copyleft Agilcoop 2008 Métodos ágeis Programação Extrema (XP) Scrum Crystal (Clear, Web, Yellow, etc...) Lean E outros como ASD, FDD, etc...

40 Copyleft Agilcoop 2008 Programação Extrema (XP)

41 Copyleft Agilcoop 2008 Scrum

42 Copyleft Agilcoop 2008 Crystal Re d C6C20 C40 C80 D6D20D40 D80 E6E20E40 E80 Clear Yellow Orange L6L20L40 L80 Número de pessoas envolvidas Criticalidade (defeitos causam perdas de...) Conforto (C) Dinheiro Essencial (E) Vida (L) Dinheiro Disponível (D) “Código genético”: Entregas freqüentes Melhorias através de reflexão Comunicação osmótica

43 Copyleft Agilcoop 2008 Lean “Inspecionar para previnir defeitos é bom; Inspecionar para encontrar defeitos é desperdício” -- Shigeo Shingo, “The Toyota Production System” Eliminar os 7 desperdícios do desenvolvimento de software: Parcialmente feito Processos extra Funcionalidades extra Mudança de tarefa Espera Movimento Defeitos

44 Copyleft Agilcoop 2008 Dúvidas? ? (artigos + agilcast)