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 casi siempre, la forma más limpia resulta ser la más simple. La más elemental.
Piensa en un vaso.
Es uno de los objetos más simples que existen. Solo tiene que contener agua. Pero si algo en su construcción falla, una grieta, una pared demasiado delgada, deja de contener agua y deja de ser un vaso. Eso es lo que casi nadie entiende sobre la simplicidad: no es lo contrario del rigor, es su forma más exigente. Algo simple es algo a lo que ya no le puedes quitar nada sin romperlo.
John Maeda lo resumió 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
El software es la herramienta más flexible que hemos inventado. Con él puedes construir casi cualquier cosa, y por eso también es la más fácil de complicar. La única forma honesta de resolver un problema complejo con software es resolverlo de la manera 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.