Simplicity is essential

Published by

on

Uno de los principios que más me gustan del Agile Manifesto es la simplicidad: “Simplicity—the art of maximizing the amount of work not done—is essential”. Y aunque me resulta desafiante de incorporarlo, principalmente en aquellas cosas ajenas al código, creo que encierra la clave de ser efectivos en lo que hacemos.

Lograr simplicidad no es sencillo, e incluso en la definición del Manifesto lo mencionan como un arte. Implica estar continuamente llevando un balance distinguiendo lo imprescindible de lo accesorio. En un mundo donde abordamos cada vez mayor complejidad, reducir en lugar de agregar puede sentirse contraintuitivo, pero los beneficios son profundos.

¿Por qué es tan difícil?

Personalmente me he encontrado en distintas situaciones donde perdí de vista este principio, sobre todo cuando tratamos de pensar en aspectos organizacionales y que involucran a personas. Es fácil terminar con procesos, datos y reportes que nadie termina usando.

En general aparece el «ya que estamos» y se le suma la preocupación por considerar diferentes casos. A menudo, nos vemos tentados de incluir procesos con la idea de que “puedan ser útiles más adelante”. Este pensamiento, aunque bienintencionado, suele generar acumulación de complejidad innecesaria.

También buscamos desactivar conflictos y evitarlos de antemano. El miedo a decir «no» directamente nos lleva a tratar de anticiparnos a problemas que no son tales. Incluso en software esto podemos verlo en el desarrollo de productos.

Incluso he llegado a ver la complejidad como status! Entornos donde lo complejo se percibe como más sofisticado o avanzado, lo que lleva a soluciones innecesariamente complicadas que terminan dificultando el mantenimiento y la evolución.

¿Cómo cultivar la simplicidad?

En primer lugar, cultivar una mentalidad de eliminación. Adoptar un enfoque de subtraction thinking, en el que se busca reducir en lugar de agregar, puede ser transformador. Menos es más. Esto no solo aplica al código, sino también a procesos y estructuras organizacionales. Es importante que esto sea apropiadamente comunicado de forma continua para no generar sorpresas desagradables.

Ser claros y aplicados en la priorización. Priorizar a veces es fácil, el problema es sostenerlo y ser coherente con las prioridades.

Un proceso sano de mejora continua. Simplificar no significa renunciar a mejorar. Al implementar soluciones pequeñas y mejorar iterativamente, es posible avanzar con menos riesgos y más claridad.

First Principles Design

Un capítulo aparte merece esto, que no siempre es aplicable pero amerita tenerlo a mano. Este método, consiste en descomponer un problema hasta sus elementos más básicos y reconstruirlo desde allí. Un refactor de procesos y soluciones, si se quiere.

En lugar de confiar en supuestos existentes o soluciones tradicionales nos preguntamos: “¿Qué es lo fundamental que sabemos con certeza sobre este problema?”. Nos ayuda a eliminar supuestos innecesarios y descartar ideas que no agregan valor real y que complican innecesariamente.

Algunas veces también ayuda a entender más a fondo el problema. Muchas veces, las soluciones complejas surgen porque no se entendió bien qué se está resolviendo.

Beneficios tangibles de la simplicidad

Una organización que trabaje en maximizar el trabajo que no se hace, es una organización que hace más con menos. Nos permite tener mejores resultados en forma más sostenible. La simplicidad, lejos de ser una limitación, se convierte en una ventaja estratégica.

Sobre las ventajas en código y sistemas ya escribí en el pasado.

Ahora vos

La próxima vez que te enfrentes al armado de un proceso, o qué incluir en un proyecto, preguntate si es algo verdaderamente necesario. La simplicidad no es solo un principio, es un arte, y aprender a maximizar la cantidad de trabajo que no hacemos es una habilidad que todos deberíamos cultivar.