220 likes | 332 Views
Lean Software D evelopment. Equipe: Silas Silva Rotsen Diego. Sumário. Lean e suas origens Software & Desenvolvimento Princ ípios do Lean Eliminar o desperd ício Construa com integridade Aumentar o conhecimento Reconheça o comprometimento Entregue rápido Respeite as pessoas
E N D
Lean Software Development Equipe: Silas Silva Rotsen Diego
Sumário • Lean e suas origens • Software & Desenvolvimento • Princípios do Lean • Eliminar o desperdício • Construa com integridade • Aumentar o conhecimento • Reconheça o comprometimento • Entregue rápido • Respeite as pessoas • Otimize o todo • Práticas
Origens do Lean Software Development • Adaptado a partir do Sistema Toyota de Produção. • Cultura emergente da comunidade Ágil Toyota Lean Manufacturing Toyota Lean Development Lean IT (Extenção) • Adaptação • Adapta 22 ferrementas e métodos dos Principios Lean, à metodologia Ágil
Eliminando Desperdícios Princípio 1: “Eliminarabsolutamentetodas as formas de desperdício.” • Desperdícioé tudo o queesgotarecursosfinanceiros, de tempo, esforços e de espaçosemadicionar valor aocliente. • Valor é vistopelosolhos de quempaga, usa e deriva valor dos sistemasquecriamos. • “Tudoquenãoagregar valor aocliente é consideradodesperdício.” • (defeitos, produçãoexcessiva, transportedesnecessário, espera …)
Eliminando desperdícios Exemplos: • Código e funcionalidades desnecessárias. • Atraso no processo de desenvolvimento de software. • Excesso de burocracia. • Comunicação interna lenta.
Construindo com Integridade Princípio 2 “Construa com Integridade” IntegridadePercebida “A totalidade do produtoalcança um equilíbrio de funcionamento, usabilidade, confiabilidade e economiaquedáprazer aocliente final.” IntegridadeConceitual “O sistemafunciona de forma coesacomo um todo, alcançando um balançoefetivo entre flexibilidade, manutenibilidade, eficiência e responsividade.”
Construindo com Integridade • “Integridade é alcançada com um excelente e detalhado fluxo de informações entre cliente, usuários e desenvolvedores”
Construindo com Integridade • Verdades • Testeao final de um ciclo de desenvolvimentoestásendotestandomuitotarde • Debug é uma boa maneira de desperdiçar tempo • BugTracking Systemssãosistemasparaempilhardesperdício • EstratégiasparaConstruir com Integridade • Compartilhe a visãointegridadepercebidaconstantemente • Inspecione antes e depois com TDD • O melhordesign emerge durante o desenvolvimento • Faça o trabalho e entregueemlotespequenos (diariamente) • Mantenha simples e façarefactoring
Aumentar o Conhecimento • Princípio 3 • “CrieConhecimento” • A natureza do desenvolvimento de softwareexigeconhecimento. • Oupagamos o preçoparater o conhecimentoouficamosemdébito. • EstratégiasparaCriarConhecimento • Proporcione feedback constanteatravés de iteraçõescurtas. • Execute a suite completa de testes diariamente. • Sincronize o códigodiariamente. • Utilize documentaçãoembarcada. • Crie um repositório de informaçõesdinâmico.
Aumentar o Conhecimento • Estratégias para Criar Conhecimento • Sugestão Lean para resolução de problemas com o ciclo PDCA
Aumentar o Conhecimento • Estratégias para Criar Conhecimento • Use o método científico • Observe e descreva um fenômeno ou grupo de fenômenos • Formule uma hipótese que explique os fenômenos • Use a hipótese para prever algo como a existência de outro fenômeno ou os resultados de novas observações • Execute experimentos para ver se as previsões se mantém • Se os experimentos confirmarem a hipótese, então isto pode ser considerado uma teoria ou regra • Se não, rejeite ou modifique
Reconheça Comprometimento Princípio 4 “Reconheça o Comprometimento” Previsibilidade de resultadosouresultadosemergentes? “Dê à sua equipe o que eles precisam, o melhor espaço, os melhores equipamentos e ferramentas, confie neles e eles lhe entregarão o melhor trabalho!”
Reconheça Comprometimento Estratégias com base emcomprometimento • Tome decisões com base em um conjunto de opções • Decida no últimomomentoresponsável, não antes, nemdepois • Formeequipescapazes e multi-disciplinares • Delegueresponsabilidade e autonomia à suaequipe • Quebredependências • Deixeosresultadosemergirem
Entregue Rápido • Princípio 5 • “EntregueRápido” • Entregasrápidaspossibilitam • Maximizar o feedback e diminuir a incerteza • Diminuir o time-to-market • Desenvolverprodutosmaisassertivos • Adicionarvantagemcompetitivaaosclientes • Aumentar a visibilidade do processo de desenvolvimento • Postergardecisõespara o últimomomentoresponsável
Entregue Rápido • Estratégias para entregar mais rápido • Reduza o ciclo de tempo • Equalize a chegada de trabalho • Minimize o número de estórias em processo • Minimize o tamanho das estórias em processo • Estabeleça uma cadência regular • Limite a quantidade de trabalho à capacidade • Use o POOL SYSTEM (originário do Kan Ban)
Respeite as Pessoas • Princípio 6 • “Respeite as Pessoas” • “Use todos os princípios do Lean menos este, e você conseguirá alcançar apenas a sombra do que poderia alcançar!” • Pessoas são movidas por motivação • Pessoas são movidas por realizações • Pessoas são movidas por amor • Pessoas são movidas por desejo • “Em tratando-se de pessoas, os números não fazem a diferença, • mas sim as habilidades, o orgulho, a perícia a confiança e a cooperação!”
Respeite as Pessoas • Institua as seguintesestratégias de RespeitoparasuaEquipe • Compartilhe antes, compartilhesempre • Teste antes e falherápido • Troquegerentesporlíderes • Treinecontinuamente - líderes e liderados • Fora com o medo - instituasegurança • Quebre as barreiras - crieequipes multi-disciplinares • Nãomeça performance de pessoas, nãopremieisoladamente • Problemasnãosãocriadosporpessoasmaspelo “Sistema de Produção” • Motive o auto-aprendizado- desenvolvapessoas • Movaresponsabilidade e tomada de decisãoparaosníveismaisbaixos • Faça, nãodêapenasapoio
Veja o Todo • Princípio 7 • “Veja o Todo” • “Para aprimorar o processo você precisa ver de ponta a ponta - do usuário ao desenvolvedor - do banco de dados à tela, e NENHUM detalhe pode ser esquecido nesta jornada!” • Ver o todo significa • Ver a equipe não o fulano • Ver o problema não o culpado • Ver o modelo de colaboração não as penalidades • Ver a longo prazo • Ver todos vendo o todo
Veja o Todo • Estratégias para ver o todo • Defina um Value Stream Leader que assuma responsabilidade em ver de uma ponta a outra da empresa • Foque no produto como um todo não apenas no software • Implemente Lean por todo o Value Stream da sua empresa • Re-estruture as métricas, esqueça os métodos convencionais e foque no Value Stream • Reduza os pontos de desperdício e foque no valor
Conceitosna e Termos Lean Software Development • Lead Time • Work in Progress • Cycle Time • Takt Time • Just-In-Time • Wastereduction • Pullsystem