Os 7 Princípios do desenvolvimento Lean de Software

Post on 12-Apr-2017

157 views 1 download

Transcript of Os 7 Princípios do desenvolvimento Lean de Software

Implementando o Desenvolvimento Lean de Software

Capútulo 2: Os 7 Princípios do desenvolvimento Lean de Software

Princípios X Práticas

Como começar a implementar uma prática em um contexto?

Aprenda Fazendo

Entenda Antes de Fazer

Princípio 1: Eliminar o desperdício

Mas onde está o desperdício…?

Princípio 1: Eliminar Desperdícios - Estoque

● Se Perdem● Ficam Obsoletos● Escondem Problemas de

Qualidade● Estagnam Dinheiro

Princípio 1: Eliminar Desperdícios - Necessidade de Mudança

● Requisitos escritos muito antes do desenvolvimento

● Testes são feitos muito depois da codificação

● 20% das funcionalidades de um software são diariamente usadas.

● Perda de tempo

Princípio 1: Eliminar Desperdícios - Funcionalidades adicionais

● Complexidade desnecessária ao código

● Manutenção de código desnecessária

Princípio 2: Integrar Qualidade

Princípio 2: Integrar Qualidade

Inspeção após os defeitos ocorrerem

Inspeção para prevenir defeitos

VS

Princípio 2: Integrar Qualidade - Bugs

● Todo problema deve ser tratado na hora

● Backlog de retrabalho é um grande desperdício

“A função dos testes não é encontrar defeitos, mas sim PREVENIR defeitos. O ideal é buscar qualidade desde do início do processo de desenvolvimento, não testar no final quando estiver tudo pronto. Lembrando que isso não quer dizer que os testes após implementação não são muito importantes, mas a qualidade e os testes devem vir antes mesmo do início do desenvolvimento.”

Princípio 3: Criar Conhecimento

Princípio 3: Criar Conhecimento

Seguir um Plano

ou

Responder às mudanças?

Princípio 3: Criar Conhecimento● Releases breves com um conjunto mínimo de

funcionalidades para clientes avaliares e darem feedbacks

Alan MacCormackProfessor de Administração em Harvard

● Deploy diário e feedback rápido de testes de integração

● Uma equipe e um líder com experiência para tomar rápidas e boas decisões

● Uma arquitetura modular que dê suporte à fácil adição de novas funcionalidades

● Documentar conhecimentos para que sejam úteis à toda a organização

Princípio 4: Adiar Comprometimentos

Princípio 4: Adiar Comprometimentos

Princípio 5: Entregar Rápido

Princípio 5: Entregar Rápido● Otimizando o processo de desenvolvimento do

início ao fim● Organização para desenvolver planos e

processos detalhados

● Trabalho padronizado

● Documentação do Workflow

● Disciplina

“Há duas maneiras de alcançar a qualidade, você pode desacelerar e ter cuidado, ou pode desenvolver pessoas que continuamente melhorem seus processos, edifiquem qualidade em seus produtos e desenvolvam a capacidade de responder de forma confiável a seus clientes muito mais rápido que seus competidores.”

Princípio 6: Respeitar as Pessoas

Princípio 6: Respeitar as Pessoas

● Líder Empresarial

● Mão de obra técnica especializada

● Responsabilidade baseada em planejamento e controle

Princípio 7: Otimizar o Todo

Princípio 7: Otimizar o TodoCiclo vicioso (claro que isso nunca aconteceria na sua empresa):

● Um cliente quer novas funcionalidades, “para ontem”.

● Desenvolvedores ouvem: termine isto rápido, a qualquer custo!

● Resultados:○ Mudanças desleixadas feitas no

código;○ A complexidade do código base

aumenta;○ O número de bugs aumenta;○ Ocorre um aumento exponencial no

tempo para se adicionar uma nova funcionalidade.

Lucas OliveiraScrum Master

lucas.oliveira@justdigital.com.br+55 (11) 5181-5170 +55 (11) 98255-1178

Follow us

www.justdigital.com.br

blog.justdigital.com.br

instagram.com/justdigitalbr

facebook.com/eusigoajust

slideshare.com/justdigital

@justdigital

youtube.com/justdigitalbr