Eu estava lendo Princípios do Manifesto Ágil . Tudo parece claro e razoável, exceto por um ponto:
A simplicidade - a arte de maximizar a quantidade de trabalho não realizado - é essencial.
Eu não entendo isso. Isso significa que o trabalho que não foi realizado deve ser exagerado? Se assim for, realmente não faz sentido.
agile
management
superM
fonte
fonte
Respostas:
Remova o comentário entre parênteses. O que resta é "A simplicidade é essencial", que por sinal é uma aplicação do princípio à sua própria expressão.
A simplicidade é essencial, porque você destilou o que realmente precisa, removendo o que está tornando a tarefa mais pesada e menos elegante: complexa.
Eu sempre interpretei no sentido da brevidade de Pascal : " Eu teria escrito uma carta mais curta, mas não tinha tempo. " Você precisa evitar o que não está programado (da carta, do código) e isso é uma tarefa ativa e não fácil. Não é algo que acontece por si só.
fonte
A idéia é evitar o trabalho desnecessário, ou seja, "maximizar a quantidade de trabalho não realizado".
Portanto, se em um projeto tradicional você planejasse e construísse um ótimo sistema básico abstrato para permitir todas as suas necessidades possíveis mais tarde, basta pular isso e criar a coisa mais simples possível para os requisitos atuais . Não construa coisas que você não precisa.
YAGNI é um conceito relacionado.
fonte
Costumávamos chamar isso de "revestimento de ouro". O requisito para um martelo é que ele possa bater um prego em um pedaço de madeira. Não funciona melhor por ser um martelo banhado a ouro.
Muitas vezes, um desenvolvedor sugeria o uso de uma nova estrutura legal ou a adição de recursos que, embora legais, não fossem necessários. Anotaríamos essa idéia, mas para esta versão não faremos. Maximizaremos o trabalho não realizado. Já é difícil fornecer software a tempo, portanto, não forneça mais código do que o necessário. Se precisar ser feito, eventualmente ele entrará no plano e será feito no momento apropriado.
fonte
Essa ideia é muito semelhante a um conceito do Sistema Toyota de Produção (TPS) , que levou ao Lean Manufacturing mais genérico e, em seguida, à aplicação dessas técnicas ao desenvolvimento de software Lean . O TPS antecede significativamente o movimento ágil, com suas raízes na fabricação no final da década de 1950.
O conceito de maximizar a quantidade de trabalho não realizado é semelhante à eliminação de desperdícios. No ambiente de fabricação, o desperdício inclui coisas como superprodução de mercadorias, espera por recursos, movimentação desnecessária de pessoas ou produtos, excesso de estoque e produtos defeituosos. No desenvolvimento de software enxuto, esses resíduos foram traduzidos em funcionalidades desnecessárias, atrasos no processo de desenvolvimento, requisitos pouco claros que atrasam a produção de software, falta de testes e atrasos na comunicação.
A idéia geral de ambos os conceitos é a mesma - coisas que não agregam valor são um desperdício e devem ser minimizadas. O objetivo final é aumentar a qualidade e reduzir o tempo e o custo de produção.
fonte