Estaba leyendo los Principios del Manifiesto Ágil . Todo parece claro y razonable, excepto por un punto:
La simplicidad, el arte de maximizar la cantidad de trabajo no realizado, es esencial.
No entiendo esto ¿Significa esto que el trabajo que no se hizo debe ser exagerado de alguna manera? Si es así, realmente no tiene sentido.
agile
management
superM
fuente
fuente
Respuestas:
Eliminar el comentario entre paréntesis. Lo que queda es "La simplicidad es esencial", que por cierto es una aplicación del principio a su propia expresión.
La simplicidad es esencial, porque ha destilado lo que realmente necesita, eliminando lo que hace que la tarea sea más pesada, menos elegante: compleja.
Siempre he interpretado en el sentido de la brevedad de Pascal : " Hubiera escrito una carta más corta, pero no tenía tiempo " . Debe evitar lo que no es necesario (de la carta, del código) y esto es una tarea activa y no fácil. No es algo que sucede por sí solo.
fuente
La idea es evitar hacer un trabajo que no es necesario, es decir, "maximizar la cantidad de trabajo no realizado".
Por lo tanto, si en un proyecto tradicional planearía y crearía un excelente sistema de base abstracta para satisfacer todas sus posibles necesidades más adelante, simplemente omita eso y cree lo más simple que pueda funcionar para los requisitos actuales . No construyas cosas que no necesitas.
YAGNI es un concepto relacionado.
fuente
Solíamos llamar a esto "chapado en oro". El requisito para un martillo es que pueda golpear un clavo en un pedazo de madera. No hace el trabajo mejor por ser un martillo chapado en oro.
Muchas veces, un desarrollador sugeriría usar un nuevo marco genial o agregar características que, aunque geniales, no eran necesarias. Anotaríamos esta idea, pero para esta versión no lo haremos. Maximizaremos el trabajo no realizado. Es bastante difícil entregar el software a tiempo, así que no entregue más código del que necesita. Si es necesario hacerlo, eventualmente entrará en el plan y se hará en el momento apropiado.
fuente
Esta idea es muy similar a un concepto del Sistema de producción de Toyota (TPS) , que condujo a Lean Manufacturing más genérico y luego a la aplicación de esas técnicas al desarrollo de software Lean . El TPS es significativamente anterior al movimiento ágil, con sus raíces en la fabricación a fines de la década de 1950.
El concepto de maximizar la cantidad de trabajo no realizado es similar a eliminar el desperdicio. En el entorno de fabricación, los desechos incluyen cosas como la sobreproducción de bienes, la espera de recursos, el movimiento innecesario de personas o productos, demasiado inventario y productos defectuosos. En Lean Software Development, estos desechos se tradujeron en funcionalidades innecesarias, retrasos en el proceso de desarrollo, requisitos poco claros que ralentizan la producción de software, falta de pruebas y retrasos en la comunicación.
La idea general de ambos conceptos es la misma: las cosas que no agregan valor son un desperdicio y deben minimizarse. El objetivo final es aumentar la calidad y reducir el tiempo y el costo de producción.
fuente