lean software development equipe: silas silva rotsen diego

22
Lean Software Development Equipe: Silas Silva Rotsen Diego

Upload: internet

Post on 22-Apr-2015

113 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Lean Software Development Equipe: Silas Silva Rotsen Diego

Lean Software DevelopmentEquipe:

Silas SilvaRotsen Diego

Page 2: 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

Page 3: Lean Software Development Equipe: Silas Silva Rotsen Diego

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

Page 4: Lean Software Development Equipe: Silas Silva Rotsen Diego

Conceitos Lean

Page 5: Lean Software Development Equipe: Silas Silva Rotsen Diego

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 …)

Page 6: Lean Software Development Equipe: Silas Silva Rotsen Diego

Eliminando desperdícios

Exemplos:

Código e funcionalidades desnecessárias.

Atraso no processo de desenvolvimento de software.

Excesso de burocracia.

Comunicação interna lenta.

Page 7: Lean Software Development Equipe: Silas Silva Rotsen Diego

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.”

Page 8: Lean Software Development Equipe: Silas Silva Rotsen Diego

Construindo com Integridade

“Integridade é alcançada com um excelente e detalhado fluxo de informações entre cliente, usuários e desenvolvedores”

Page 9: Lean Software Development Equipe: Silas Silva Rotsen Diego

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

Page 10: Lean Software Development Equipe: Silas Silva Rotsen Diego

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.

Page 11: Lean Software Development Equipe: Silas Silva Rotsen Diego

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

Page 12: Lean Software Development Equipe: Silas Silva Rotsen Diego

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

Page 13: Lean Software Development Equipe: Silas Silva Rotsen Diego

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!”

Page 14: Lean Software Development Equipe: Silas Silva Rotsen Diego

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

Page 15: Lean Software Development Equipe: Silas Silva Rotsen Diego

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

Page 16: Lean Software Development Equipe: Silas Silva Rotsen Diego

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)

Page 17: Lean Software Development Equipe: Silas Silva Rotsen Diego

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!”

Page 18: Lean Software Development Equipe: Silas Silva Rotsen Diego

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

Page 19: Lean Software Development Equipe: Silas Silva Rotsen Diego

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

Page 20: Lean Software Development Equipe: Silas Silva Rotsen Diego

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

Page 21: Lean Software Development Equipe: Silas Silva Rotsen Diego

Práticas

Page 22: Lean Software Development Equipe: Silas Silva Rotsen Diego

Conceitosna e Termos Lean Software Development

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