O documento discute os 7 princípios do desenvolvimento Lean de software, incluindo eliminar desperdícios, integrar qualidade, criar conhecimento e entregar rápido. Os princípios visam melhorar a eficiência do processo de desenvolvimento e a qualidade do produto final.
13. 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
14. ● 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
16. Princípio 2: Integrar Qualidade
Inspeção após os defeitos ocorrerem
Inspeção para prevenir defeitos
VS
17. Princípio 2: Integrar Qualidade - Bugs
● Todo problema deve ser
tratado na hora
● Backlog de retrabalho é
um grande desperdício
18. “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.”
20. Princípio 3: Criar Conhecimento
Seguir um Plano
ou
Responder às
mudanças?
21. Princípio 3: Criar Conhecimento
● Releases breves com um conjunto mínimo de
funcionalidades para clientes avaliares e darem
feedbacks
Alan MacCormack
Professor 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
25. 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
26. “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.”
30. Princípio 7: Otimizar o Todo
Ciclo 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.