miércoles, 8 de febrero de 2017

La ley del menor esfuerzo, la navaja de Ockham y el principio KISS

Mi profesora de historia de cuarto año, cuyo nombre hoy en día es esquivo a mi memoria, me decía: “Viegas: usted siempre elige el camino más fácil”. Me lo decía como si eso fuera algo malo y yo pensaba “¿Quién en su sano juicio elegiría el camino más difícil?”. Esto a lo que en el vulgo hemos llamado “la ley del menor esfuerzo” está muy denostado y creo que es el momento de revalorarlo. Al menos, de ubicarlo en el lugar que se merece, ni más arriba ni más abajo.

Si bien es complejo negar que en muchas áreas del desarrollo humano para alcanzar una meta se requiere realizar un esfuerzo importante (pregunten a los comerciales lo que cuesta concretar una venta), siempre postulé que no deberíamos perder el foco respecto de si no sería posible alcanzar la misma meta esforzándonos un poco menos. Grande fue mi sorpresa cuando me enteré de que ya alguien en la historia había postulado algo parecido.

William de Okham postuló: “en igualdad de condiciones, la explicación más sencilla suele ser la correcta”. Este principio filosófico llamado “la navaja de Ockham” tiene aplicación en distintas áreas como economía, biología, informática y otras.

Siguiendo esta línea, en informática tenemos el principio KISS, de las siglas en inglés “Keep It Short and Simple”, aunque hay versiones de gente non sancta que dice que en realidad significa “Keep It Simple, Stupid!”. Cada quien tomará la versión que más le agrade. Si bien a la gran mayoría de aquellos que hacemos de la informática nuestra labor, nos agrada pensar que el principio KISS es privativo de nuestra profesión, en realidad puede aplicarse a otras áreas de trabajo y la vida personal. Para los que jugamos paintball no es novedad que las estrategias sencillas suelen ser más exitosas que las complejas.

Pero volviendo sobre la informática, no debemos perder de vista que históricamente los costos de mantenimiento siempre han sido infinitamente superiores a los costos de desarrollo de un sistema. Diseñar software teniendo presente el principio KISS resultaría en menores costos durante la etapa de mantenimiento y, por qué no, un poco más de alegría en el corazón de aquel que debe mantener el sistema en cuestión. ¿Alegría? ¿Corazón? ¿Hay lugar para eso en los planes de trabajo de un área de desarrollo? Sostengo, afirmo y defiendo que sí lo hay. Como desarrollador, cuando tengo que mantener código complejo, devenido de diseños complejos y normalmente sin documentación apropiada, sufro. En cambio, cuando el código es simple, devenido de diseños simples, soy feliz.

Todo lo anterior también aplica a otras disciplinas: comercial, gestión, deportes, las compras del fin de semana en el supermercado, etc. 

Teniendo en mente a William de Okham y sin realizar un mayor esfuerzo podemos mantener las cosas simples y vivir y trabajar un poco más contentos.

Autor:
Ing. Leo Viegas
Desarrollador