Lean Software Development Equipe: Silas Silva Rotsen Diego.

Post on 22-Apr-2015

114 views 0 download

Transcript of Lean Software Development Equipe: Silas Silva Rotsen Diego.

Lean Software DevelopmentEquipe:

Silas SilvaRotsen 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

ToyotaLean Development

ToyotaLean

Manufacturing

Lean IT(Extenção)

Adaptação• Adapta 22 ferrementas e métodos dos Principios Lean, à

metodologia Ágil

Conceitos Lean

Eliminando Desperdícios

Princípio 1:

“Eliminar absolutamente todas as formas de desperdício.”

• Desperdício é tudo o que esgota recursos financeiros, de tempo, esforços e de espaço sem adicionar valor ao cliente.

• Valor é visto pelos olhos de quem paga, usa e deriva valor dos sistemas que criamos.

“Tudo que não agregar valor ao cliente é considerado desperdício.”

(defeitos, produção excessiva, transporte desnecessá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”

Integridade Percebida

“A totalidade do produto alcança um equilíbrio de funcionamento, usabilidade, confiabilidade e economia que dá prazer

ao cliente final.”

Integridade Conceitual

“O sistema funciona de forma coesa como um todo, alcançando um balanço efetivo 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

- Teste ao final de um ciclo de desenvolvimento está sendo testando muito tarde

- Debug é uma boa maneira de desperdiçar tempo- BugTracking Systems são sistemas para empilhar desperdício

Estratégias para Construir com Integridade

- Compartilhe a visão integridade percebida constantemente- Inspecione antes e depois com TDD - O melhor design emerge durante o desenvolvimento- Faça o trabalho e entregue em lotes pequenos (diariamente)- Mantenha simples e faça refactoring

Aumentar o Conhecimento

Princípio 3

“Crie Conhecimento”

- A natureza do desenvolvimento de software exige conhecimento.- Ou pagamos o preço para ter o conhecimento ou ficamos em

débito.

Estratégias para Criar Conhecimento

- Proporcione feedback constante através de iterações curtas.- Execute a suite completa de testes diariamente.- Sincronize o código diariamente.- Utilize documentação embarcada.- Crie um repositório de informações dinâmico.

Aumentar o Conhecimento

Estratégias para Criar Conhecimento

- Sugestão Lean para resolução de problemas com o ciclo PDCA

Atividade Etapa

Identifique o problemaProcure a causa pela raizProponha uma solução

Especifique os resultados esperados

Plan

Implemente a solução Do

Verifique os resultados Check

SigaInstitucionalize

Pepertue o conhecimentoAct

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 resultados ou resultados emergentes?

“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 em comprometimento

- Tome decisões com base em um conjunto de opções

- Decida no último momento responsável, não antes, nem depois

- Forme equipes capazes e multi-disciplinares

- Delegue responsabilidade e autonomia à sua equipe

- Quebre dependências

- Deixe os resultados emergirem

Entregue Rápido

Princípio 5

“Entregue Rápido”

Entregas rápidas possibilitam

- Maximizar o feedback e diminuir a incerteza- Diminuir o time-to-market - Desenvolver produtos mais assertivos- Adicionar vantagem competitiva aos clientes- Aumentar a visibilidade do processo de desenvolvimento- Postergar decisões para o último momento responsá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 seguintes estratégias de Respeito para sua Equipe

- Compartilhe antes, compartilhe sempre- Teste antes e falhe rápido- Troque gerentes por líderes- Treine continuamente - líderes e liderados- Fora com o medo - institua segurança- Quebre as barreiras - crie equipes multi-disciplinares- Não meça performance de pessoas, não premie isoladamente- Problemas não são criados por pessoas mas pelo “Sistema de

Produção”- Motive o auto-aprendizado - desenvolva pessoas- Mova responsabilidade e tomada de decisão para os níveis mais baixos- Faça, não dê apenas apoio

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

Práticas

Conceitosna e Termos Lean Software Development

• Lead Time• Work in Progress• Cycle Time • Takt Time• Just-In-Time• Wastereduction• Pullsystem