Desenvolvimento de Software Lean

Documentos relacionados
Desenvolvimento de Software Lean

Desenvolvimento de Software Lean

Agile Methods for the Traditional Guy

A Evolução de XP segundo Kent Beck Parte 2

XP extreme Programming, uma metodologia ágil para desenvolvimento de software. Equipe WEB Cercomp

Teresa Maciel MSC, PhD Candidate. Docente UFRPE

Desenvolvimento Ágil de Software

Métodos Ágeis para Desenvolvimento de Software Livre

Fábrica de Software 29/04/2015

Tecnologia da Informação: Otimizando Produtividade e Manutenção Industrial

ENGENHARIA DE SOFTWARE I

Jonas de Souza H2W SYSTEMS

Por Sergio Crespo

Artigo Lean Seis Sigma e Benchmarking

Aumente sua velocidade e flexibilidade com a implantação da nuvem gerenciada de software da SAP

Scrum Guia Prático. Raphael Rayro Louback Saliba Certified Scrum Master. Os papéis, eventos, artefatos e as regras do Scrum. Solutions.

Tópicos. Métodos Ágeis. Histórico; Valores; Métodos Ágeis x Modelos Tradicionais; Exemplo: Referências Bibliográficas.

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

METODOLOGIA LEAN DE DESENVOLVIMENTO DE SOFTWARE: UMA VISÃO GERAL

Planejamento Ágil de Projetos

Curso ITIL Foundation. Introdução a ITIL. ITIL Introduction. Instrutor: Fernando Palma fernando.palma@gmail.com

Desenvolvendo Software Livre com Programação extrema

Por que Lean & Six Sigma?

Planejamento Ágil de Projetos

SISTEMAS DE INFORMAÇÃO, ORGANIZAÇÕES, ADMINISTRAÇÃO E ESTRATÉGIA

ágeis para projetos desenvolvidos por fábrica de software

Gestão da Qualidade Políticas. Elementos chaves da Qualidade 19/04/2009

Software - Cargo Express. Sistema de Alocação de Volumes em Compartimentos de Carga

Artigo Os 6 Mitos Do Seis Sigma

Corporativo. Transformar dados em informações claras e objetivas que. Star Soft.

Capítulo 1. Extreme Programming: visão geral

Programação Extrema. Luis Fernando Machado. Engenharia de Software

Introdução a Métodos Ágeis de Desenvolvimento de Software

Governança Corporativa. A importância da Governança de TI e Segurança da Informação na estratégia empresarial.

ESCRITÓRIO RIO DE PROJETOS

Agilidade -foco no. por Yóris Linhares

VERIFIQUE SE SEUS SITES ESTÃO PRONTOS PARA O BLACK FRIDAY 11 MANEIRAS DE ACABAR COM OS PROBLEMAS DE DESEMPENHO

22 DICAS para REDUZIR O TMA DO CALL CENTER. em Clínicas de Imagem

DISCIPLINA ENGENHARIA DE SOFTWARE Aula 03 Desenvolvimento Ágil Modelos Ágeis. Profª Esp.: Maysa de Moura Gonzaga

CONHEÇA. nosso. processo. Para você lançar sua Startup. Semana de descoberta. Semana de desenvolvimento. E depois de tudo pronto?

ERP. Enterprise Resource Planning. Planejamento de recursos empresariais

Gerenciamento de Equipes com Scrum

Fundamentos em Teste de Software. Vinicius V. Pessoni

DEFINIÇÃO DE LEAN MANUFACTURING

Fundamentos de Teste de Software

WMS e TMS. A integração entre os sistemas de gerenciamento de armazéns e transportes é fundamental para a otimização dos fluxos de trabalho

Engª de Produção Prof.: Jesiel Brito. Sistemas Integrados de Produção ERP. Enterprise Resources Planning

Programa do Curso de Pós-Graduação Lato Sensu MBA em Engenharia de Software Orientada a Serviços (SOA)

O Processo Unificado

Trilha Agile TDD e 20 coisas que você precisa saber

PEDRO HENRIQUE DE OLIVEIRA E SILVA MESTRE EM MODELAGEM MATEMÁTICA E COMPUTACIONAL PEDROHOLI@GMAIL.COM CMM E CMMI

Gerenciamento de Projetos de Software esenvolvidos à Luz das Metodologias Ágeis. Ana Liddy C C Magalhães

F.1 Gerenciamento da integração do projeto

Engenharia de Software II

Gestão de Relacionamento com o Cliente CRM

4º Congresso de Gerenciamento de Projetos da Amazônia. Minicurso: Gerenciamento de Portfólio Palestrante: Luis Augusto dos Santos, MSc,PMP

Administração de CPD Chief Information Office

Tópicos de Ambiente Web. Modulo 2 Processo de desenvolvimento de um site Professora: Sheila Cáceres

COMO MELHORAR O DESEMPENHO DAS LINHAS DE. Edson Donisete da Silva, Carlos Roberto Sponteado Aquarius Software

Daniel Wildt

(LOQ4208) Processos da Indústria de Serviços 05 Lean Office

Processo de Desenvolvimento de Software

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO

Toyota Way. FDEABrandão. (Fonte de Força Competitiva da Toyota) Antes de você dizer que não consegue fazer alguma coisa, experimente!

Práticas de Apoio à Gestão: Gerenciamento com foco na Qualidade. Prof a Lillian Alvares Faculdade de Ciência da Informação, Universidade de Brasília

O papel da gerência em um ambiente de manufatura lean. Gary Convis, Presidente, Toyota Motor Manufacturing de Kentucky

Gestão dos Pequenos Negócios

Lean Seis Sigma e Benchmarking

Gerenciamento de TI. Paulo César Rodrigues

CONFIRA UMA BREVE DESCRIÇÃO DAS VANTAGENS COMPETITIVAS OBTIDAS A PARTIR DE CADA META COMPETITIVA VANTAGEM DA QUALIDADE

ACTION LEARNING. O que é Action Learning? FUN D A MEN T OS D O

Treinamento Gestão da Qualidade - Cartilha

Questões atualizadas no PMBoK 5ª edição versão Respostas comentadas com justificativa e seção do PMBoK correspondente.

Gerenciamento de Problemas

OS 14 PONTOS DA FILOSOFIA DE DEMING

CURSO DE FORMAÇÃO DE GESTORES EM MANUTENÇÃO DE EXCELÊNCIA

SCRUM: UM MÉTODO ÁGIL. Cleviton Monteiro

Project and Portfolio Management [PPM] Sustainable value creation.

Soluções baseadas no SAP Business One BX MRO BX MRO. Brochura. Gestão de Manutenção, Reparo e Revisão de Equipamentos

Projeto Você pede, eu registro.

Guia para RFP de Outsourcing

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 06 PROFª BRUNO CALEGARO

7 Pr gramaçã Otimizada

Global Productivity Solutions Treinamento e Consultoria em Seis Sigma. Seis Sigma em Serviços: desafios e adequações necessárias

Princípios de Liderança

MELHORIA DE PROCESSOS MULTIMODELOS

Manifesto Ágil e as Metodologias Ágeis (XP e SCRUM)

6 Quarta parte logística - Quarterização

BANRIDICAS FINANCEIRAS. A sua cartilha sobre Educação Financeira

A função produção apresenta três papéis importantes para a estratégia empresarial:

ADMINISTRAÇÃO DE ATIVOS DE TI GERENCIAMENTO DE LIBERAÇÃO


ELABORAÇÃO DE UM PRODUCT BACKLOG EFETIVO

CBG Centro Brasileiro de Gestão

Processos de Desenvolvimento de Software

Planejamento Iterativo

GERIC GERENCIAMENTO DO I.T.I.L E DO COBIT

Transcrição:

Desenvolvimento de Software Lean Curso de Verão 2007 - IME/USP www.agilcoop.org.br Danilo Sato & Alfredo Goldman

Introdução Desenvolvimento de software é uma cadeia com diversos elos -- Kent Beck Qual o papel do software? Como o software se encaixa no plano mais amplo (big picture)? 2

Introdução Como é o seu processo de desenvolvimento de software? Quem é seu cliente? Produção/manufatura ou novo produto? Gerenciado como projeto ou produto? Início Manutenção Fim Release Interna Alpha Conceito Viabilidade Beta RC Produção 3

Introdução Como clientes: Resolvam completamente meus problemas Não desperdicem meu tempo Ofereçam exatamente o que eu preciso Entreguem valor exatamente onde e quando eu preciso Reduzam o número de decisões que eu preciso tomar para resolver meus problemas 4

Introdução Empresas que aplicam conceitos Lean: Produção / Manufatura Produção / Manufatura + Desenvolvimento de Produtos Cadeia de Suprimento Desenvolvimento de Software 5

Origens do Pensamento Lean O Sistema de Produção da Toyota: Taiichi Ohno: Fluxo Just-In-Time Complexidade vs. Economia de Escala Autonomation Stop-the-Line Shigeo Shingo: Produção sem estoque Trabalho organizado em tarefas pequenas Zero Inspeções Mistake-proof 6

Origens do Pensamento Lean Os valores foram expandidos para outras áreas: Produção Lean Manufatura / Operações Lean Cadeia de Suprimentos Lean Desenvolvimento de Produtos Lean Desenvolver software é criar um novo produto! Sempre aparece algo novo 7

Problemas com Software Alguns dos motivos: Requisitos que mudam rápido e constantemente Tomada de decisões centralizada Gerenciamento rígido do escopo Práticas tradicionais de desenvolvimento (linear) Pouco foco na qualidade do software produzido 8

Desenvolvimento de Software Lean Princípios Lean aplicados ao software: 1. Elimine Desperdícios 2. Inclua a Qualidade no Processo 3. Crie Conhecimento 4. Adie Comprometimentos 5. Entregue Rápido 6. Respeite as Pessoas 7. Otimize o Todo 9

Elimine Desperdícios Desperdício é tudo aquilo que não agrega valor ao cliente -- Taiichi Ohno Este é o principal princípio Lean Software funcionando é o que vai trazer valor ao cliente É preciso aprender a identificar desperdícios 10

Elimine Desperdícios Os sete desperdícios de software: Trabalho incompleto ( em-progresso ) Processos a mais Funcionalidades a mais Troca de tarefas Handoffs Atrasos Defeitos 11

Trabalho Incompleto Artefatos inacabados consomem recursos sem trazer retorno Reclamacões ( churn ): Requisitos > Especificando muito cedo Teste > Testando muito tarde Documentação não-codificada Código não-sincronizado Código não-testado Código não-implantado 12

Processos a mais Burocracia desnecessária Documentação desnecessária Atividades de gerenciamento Bom teste para avaliação: Existe algo ou alguém esperando pelo que está sendo produzido? 13

Funcionalidades a mais Jim Johnson: 45% das funcionalidades implementadas não são utilizadas nunca 19% das funcionalidades implementadas são raramente utilizadas Código não-utilizado introduz complexidade Complexidade: inimigo da manutenção Mito: Especificar cedo reduz o risco 14

Troca de Tarefas Tarefa 1 Tarefa 2 Tarefa 3 Semana 1 Semana 2 Semana 3 Semana 4 Como sincronizar desenvolvimento novo e manutenção? Rotação de pessoas Alocar uma parte da manhã Triagem agressiva + atendimento imediato a manutenções urgentes Implantação semanal + tratar manutenção como funcionalidades do release 15

Handoffs Metáfora: Aprender a andar de bicicleta Conhecimento tácito é difícil de transmitir Quanto mais handoffs, maior é a perda de conhecimento Dicas: Reduza handoffs Use meios de comunicação eficazes Libere partes do trabalho para apreciação e feedback 16

Atrasos Programadores precisam tomar decisões a cada 15 minutos É impossível assumir que toda informação necessária estará documentada Opcões na hora da dúvida: Tentar descobrir a resposta Trocar de tarefa Adivinhar e prosseguir 17

Atrasos Exemplos: Esperar pelo entendimento completo dos requisitos Esperar meses pela aprovação do projeto Esperar pela alocação das pessoas Esperar pela disponibilidade das pessoas alocadas Processo de controle de alterações Esperar pelo sistema inteiro ficar completo para ter as funcionalidades-chave Esperar o código passar pelos testes Esperar para comunicar defeitos (QA no final) 18

Defeitos O custo dos defeitos aumenta com o tempo Equipes ágeis se esforçam ao máximo para evitar defeitos Em caso de defeito, fazem o máximo para curar a raíz do problema Testes automatizados são investimentos! Use os testes como design do sistema (TDD) 19

Inclua a Qualidade no Processo Inspecionar para previnir defeitos é bom; Inspecionar para encontrar defeitos é desperdício -- Shigeo Shingo Não deixe os testes para o final Ciclos de teste muito longos geralmente gastam mais tempo corrigindo defeitos Ao invés de se esforçar para gerenciar defeitos, evite-os 20

Inclua a Qualidade no Processo Prevenindo defeitos com vários tipos de teste: Suporte à Programação Perspectiva do Negócio Testes de Histórias Interesse de Negócio (Design do Produto) Testes de Unidade Interesse do programador (Design do Código) 21 Testes de Usabilidade Testes Exploratórios Testes de Propriedade Segurança, Carga, Combinatório Perspectiva da Tecnologia Crítica ao Produto

Crie Conhecimento Não existe bala de prata -- Fred Brooks Metáfora: criar vs. preparar uma receita Incentive o compartilhamento de conhecimento tácito Buscar um processo padrão engessa O processo deve ser continuamente melhorado 22

Crie Conhecimento Método científico (Plan-Do-Check-Act): Enquadre o problema Procure pela raíz do problema Proponha uma solução Implemente a solução Verifique os resultados Analise e adapte seus padrões Mito: Predições criam previsibilidade 23

Adie Comprometimentos Decisões irreversíveis devem ser tomadas o mais tarde possível (last responsible moment) É preciso definir o momento da decisão Quando houver mais informação Flexibilidade arbitrária também é ruim Um bom líder saberá alocar flexibilidade Mito: Um plano é um comprometimento 24

Adie Comprometimentos Design baseado em conjunto (set-based) Na incerteza, experimente diversas soluções Agende o momento da decisão Sempre haverá uma solução que funciona Paradoxo: Isso não é desperdício! Exemplo: Toyota Prius 15 meses do conceito ao lançamento 10 opções de motores híbridos desenvolvidos durante os 4 primeiro meses Motores híbridos viraram item opcional 25

Entregue Rápido A moral da história é que devemos encontrar uma maneira de entregar software tão rápido, que nossos clientes não tenham tempo de mudar de idéia -- Mary Poppendieck Competir com base na velocidade traz grande vantagem competitiva Mito: Rápido e sujo vs. Lento e limpo 26

Entregue Rápido Sistemas Pull em software (reduzem inventário) Radiadores de Informação Para Fazer Em progresso Testes OK História 1 História 2 História 3 História 4 História 5 Dan/Gold História 7 Kon/Alex História 6 Paulo/Dair História 10 História 8 História 9 27

Entregue Rápido Teoria das filas: Tempo do ciclo = # Coisas em processo Taxa Média para completar 28

Entregue Rápido Reduzindo o tempo do ciclo: Normalize a entrada de trabalho Minimize o # de unidades em-processo Minimize o tamanho das unidades emprocesso Estabeleça uma cadência regular Limite o trabalho à capacidade Use agendamento pull 29

Respeite as Pessoas Desenvolvimento de Produtos na Toyota 30

Respeite as Pessoas 3 pilares estão relacionados às pessoas: Liderança Força de trabalho com conhecimento Planejamento e controle baseado em responsabilidade Liderança: Grande conhecimento técnico Grande conhecimento do cliente Times completos 31

Respeite as Pessoas Pessoas são recursos? Papel da gerência é distribuir tarefas e monitorar? Exemplo: Planta da GM - NUMMI Motivação: Propósito Participação (belonging) Segurança Competência Progresso 32

Respeite as Pessoas A verdadeira inovação da Toyota é sua habilidade em usufruir da inteligência dos trabalhores comuns -- Gary Hamel Programas de Qualidade: CMM, CMMI, Six Sigma, ISO, TQM Lançados com as melhores das intenções Mal-implementados Focam na parte burocrática Processo definido por um grupo separado Mito: O melhor jeito existe 33

Otimize o Todo Exemplo: Zara Círculo vicioso #1 no desenvolvimento de sotware: Cliente pede nova funcionalidade, para ontem Desenvolvedor ouve: Termine isso rápido! Resultado: Mudanças feitas de qualquer jeito no código Resultado: Complexidade do código aumenta Resultado: Número de defeitos no código aumenta Resultado: Tempo para adicionar funcionalidade cresce exponencialmente 34

Otimize o Todo Círculo vicioso #2 no desenvolvimento de software: Equipe de testes sobrecarregada Resultado: Testes bem após codificação Resultado: Desenvolvedores não recebem feedback imediato Resultado: Desenvolvedores criam mais defeitos Resultado: Equipe de teste tem mais trabalho Mito: Micro-otimização leva à Macrootimização 35

Otimize o Todo É preciso olhar para o processo todo Não adianta resolver os sintomas É preciso resolver a causa 5 Porquês 36

Otimize o Todo Métricas: Medir informação vs. Medir desempenho Cuidado! É fácil medir muitas coisas É fácil medir as coisas erradas Earned Value mede aderência ao plano: Custo, escopo e cronograma Mas e a satisfação do cliente e a qualidade? Contra-exemplo: Desenvolvedores: LOC/h Testadores: # Defeitos encontrados 37

Otimize o Todo Diminua o número de métricas de desempenho Meça para cima: Medidas no nível mais alto que direcionam para o comportamento correto Estabeleça uma base para fazer trade-offs Tempo de ciclo +Mapa de Fluxo de Valor ROI + Modelo de Lucros e Perdas Satisfação do Cliente + Entendimento das suas necessidades 38

Recapitulando 1. Elimine Desperdícios 2. Inclua a Qualidade no Processo 3. Crie Conhecimento 4. Adie Comprometimentos 5. Enregue Rápido 6. Respeite as Pessoas 7. Otimize o Todo 39

O Início de um Caminho a Trilhar Comece onde está Encontre sua maior restrição Visualize sua maior ameaça Avalie sua cultura Treine Resolva seu maior problema Remova acomodações Meça Implemente Repita o ciclo 40

Referências Livros: Mary e Tom Poppendieck, Lean Software Development: An Agile Toolkit, Addison-Wesley, 2003 Mary e Tom Poppendieck, Implementing Lean Software Development: From Concept to Cash, Addison-Wesley, 2006 Jim Johnson, ROI, It s Yout Job, Keynote Speech at Third International Conference on Extreme Programming (XP2002), 2002 Online: leandevelopment @ Yahoo Groups www.poppendieck.com 41