Un sistema complejo que funciona inevitablemente ha evolucionado a partir de un sistema simple que funciona. Un sistema complejo diseñado desde cero nunca puede funcionar ni modificarse para que funcione. En su lugar hay que comenzar desde un sistema simple que funcione.
General systemantics: How Systems Really Work and How They Fail, 1975, John Gall.
La ley de Gall (enlace en inglés) advierte sobre afrontar un problema complejo con una metodología tradicional como iniciar un completo análisis y diseño del problema complejo a resolver. En la opinión de John Gall este método de trabajo está condenado al fracaso.
Por comparación: un desarrollo iterativo, por ejemplo basado en sprints de funcionalidad y complejidad crecientes, tendrá muchas más garantías de éxito.