Discovery vs delivery
¿Cómo podemos elevar a nuestro producto hasta el siguiente nivel? ¿Cómo podemos maravillar a nuestros usuarios? Tod...
A los que trabajáis conmigo o me seguís en Twitter ya estabais en sobreaviso, mi lema de este año va a ser “menos es más”. Lo voy a repetir hasta la saciedad. Lo llevaré por bandera durante todo el año y he escrito este #InformeLanaspa para que también podáis hacerlo vuestro.
Tendemos a pensar que mejorar un producto o servicio debe pasar indiscutiblemente por añadirle una nueva funcionalidad, una nueva característica o un nuevo proceso. Sin embargo, en muchas ocasiones no nos paramos a pensar en los costes y peajes de incluir nuevas funcionalidades.
Además, es obligatorio entender que el valor no lo aporta lo que se construye, sino lo que se construye y se usa. Construir algo no implica que vaya a ser usado.
Menos es más, less is more en inglés que queda más cool o costovación tal y como dirían en 1000lemons. Cualquiera de las 3 sirve según las preferencias de vuestro departamento de marketing interno.
Me pongo como propósito demostrarme a mi mismo y a los que me rodean que es mejor que lo que creamos haga una sola cosa muy bien hecha que muchas reguleras. El modelo navaja suiza, un producto o servicio que lo haga todo tiene sus pros, pero muchas contras también.
Cuando vamos a abrir una botella de vino en la mesa no nos paramos a pensar en utilizar el sacacorchos de una navaja suiza, aunque la navaja tenga una herramienta que nos puede ayudar a descorchar un buen vino.
Sin embargo, para ello instintivamente pensamos en una herramienta específica para la tarea y no en una herramienta multiusos. Un buen sacacorchos, bonito, fácil de usar. Una buena experiencia, simple pero buena.
El sacacorchos es lo primero que piensa nuestra cabeza, lo vemos más natural, nos gusta más.
Más allá de que nuestra mente piense primero en herramientas que nos solventen una cosa de forma sencilla y bien hecha antes que una multiusos que nos proporcione más capacidades pero que no nos resuelvan tan bien el problema del momento. Añadir una funcionalidad, proceso o servicio lleva consigo una serie de tareas y costes que muchas veces subestimamos o que olvidamos de incluir en la ecuación.
Añadir una nueva funcionalidad y crear un sistema de múltiples funcionalidades y capacidades tiene su riesgo y sus costes. He creado una lista, construyendo sobre la de John Cutler con todos los que he sufrido en mis propias carnes. Me he sorprendido a mi mismo porque aunque era consciente de todos ellos verlos en una lista asusta mucho:
Y seguro que me dejo muchos más.
Me resulta curioso como entre todo este impresionante listado de costes que tenemos identificados el coste de aumentar la complejidad del sistema sea el que menos veces oigo pronunciar, siendo que en mi opinión personal es el peor de todos.
La complejidad es al final del día una deuda que se va acumulando al complicar las funcionalidades o la tecnología para resolver los problemas a los que nos enfrentamos.
Una aplicación que hace cien cosas es más difícil de refactorizar que una aplicación que hace solo una. Cualquier cambio en su código es más costoso.
A veces, la complejidad es un coste necesario, la clave reside en reflexionar sobre si realmente la complejidad añadida por cada nueva funcionalidad que entregamos compensa mirando la foto global.
La complejidad funciona como el interés compuesto a lo largo del tiempo, es una losa cada vez más pesada. Si no mantenemos el producto simple perderemos la agilidad necesaria para reaccionar cuando es realmente necesario.
Saber lo que debemos quitar para mejorar nuestro producto es altamente complicado y requiere de un grado de autocrítica elevado, de saber dar pasos hacía detrás sobre apuestas que han fallado. Recordemos de nuevo que el valor lo aporta lo que se usa, no lo que se construye.
Y si sabemos que más funcionalidad implica inequívocamente mayor complejidad, ¿por qué no tenemos planificaciones para simplificar? ¿Tienen sentido los roadmaps negativos? ¿Roadmaps de eliminación de funcionalidad?
Tan apenas nadie invierte en eliminar funcionalidad, por lo que con cada nueva funcionalidad se hace la bola más grande. Invertir en eliminar una funcionalidad no significa simplemente deshacerla, si no limpiar la base de código del producto y simplificarla.
No invertir en reducir complejidad implica que se creen cuellos de botella en ingeniería y acabemos echando la culpa de todos nuestros males, de manera injusta, a los departamentos de desarrollo.
Os invito a uniros en mi cruzada de este año, sumaros al movimiento “menos es más”.