Los humanos hacemos herramientas. Es, quizá, lo que mejor sabemos hacer. Y en cuanto una herramienta funciona, empezamos a buscar cómo hacerla mejor.
No para trabajar menos. Para resolver el mismo problema de una forma más limpia. Y la forma más limpia casi siempre es la más simple. La más elemental.
Un vaso es de los objetos más simples que existen: solo tiene que contener agua. Y justo por eso, cualquier error lo arruina. Una grieta, una pared demasiado delgada, y deja de ser un vaso. En un sistema complejo, un defecto se pierde entre mil piezas; en uno simple, salta a la vista. Por eso lo simple es lo más difícil de hacer bien: no es lo contrario del rigor, es su forma más exigente.
John Maeda lo convirtió en una regla de diseño en Las leyes de la simplicidad: simplificar es restar lo obvio y sumar lo significativo. Quitar hasta que todo lo que queda tiene una razón para estar ahí.
“La perfección se alcanza no cuando no hay nada más que añadir, sino cuando no hay nada más que quitar.”
Antoine de Saint-Exupéry
En ningún lugar esto pesa tanto como en el software. Es la herramienta más flexible que hemos inventado: con ella puedes construir casi cualquier cosa, y por eso también es la más fácil de complicar. La única forma honesta de atacar un problema complejo es con la solución más simple que funcione. Cada capa de complejidad que no resuelve nada es deuda, y el tiempo la cobra con intereses.
Durante décadas, la industria ha intentado quitarle el riesgo a construir producto. Inventó metodologías, frameworks, procesos, rituales, certificaciones. Casi todo eso consiste en levantar herramientas alrededor del problema, a veces con un fervor casi de secta, en vez de mirar el problema de frente. Nosotros hacemos lo contrario. Empezamos por lo elemental: primero el cliente, después el problema y solo al final el código. En ese orden, sin excepciones.
Hace años, Eric Ries explicó cómo construir bajo incertidumbre y lo llamó MVP, el producto mínimo viable. Fue una gran idea. Pero está incompleta.