Hoy os traigo esta reflexión de Tom Redman sobre la importancia de abrazar los “espacios vacíos” en vuestro software. Dicho de otro modo, el menos es más de toda la vida aplicado al diseño software.

El decidir “no” implementar una funcionalidad debería ser una parte importante del proceso de diseño. Tanto o más que el proceso de decir sí a una nueva funcionalidad. Tu software se define no sólo por lo que hace sino también por lo que no hace. Implementar una nueva funcionalidad puede desdibujar tu producto. Puede confundir a los usuarios. Pueden convertir un producto que es súper bueno en hacer X en un producto que hace X, Y y Z pero que justamente porque hace un poco de todo no acaba de gustar ni a los que buscan X, ni a los que buscan Y ni a los que buscan Z.

Lo fundamental es entender que hay muchas razones para no implementar una nueva funcionalidad. Puede que no tengamos el dinero para implementarla (ni mantenerla en el futuro). O no tengamos el tiempo para hacerlo. Y en estos casos es fácil resistir al impulso, a la necesidad que todos tenemos de lanzarnos a programar cualquier nueva idea que se nos pasa por la cabeza. Pero es mucho más difícil resistirse a añadir una funcionalidad simplemente porque podríamos hacerlo. En estos casos, es cuando hay que mantener la cabeza fría y entender que el poder añadir más opciones, más capacidades al software no es necesariamente una buena idea.

La próxima vez que tengas que decidir si implementas una nueva función, piensa bien si tu software no está mejor sin ella. ¡Abraza los vacíos de tu software y recuerda siempre lo que tu software “no es” y debería seguir “no siendo”!