miércoles, 16 de agosto de 2017

Regla N°12 de la Ingeniería de Software: “Hay que prepararse para la lluvia cuando hace sol” (olvídate de “Si funciona no lo toques”)

Recuerdo, cuando era niño e iba a la escuela, que hubo una época de sequía que se alargó durante bastantes meses. Aquello parecía que iba a durar para siempre. Un día, no recuerdo a cuento de que, nuestro profesor de matemáticas dijo: “Pero ya falta un día menos para que llueva”. Nos quedamos anonadados ante tal afirmación, ¿Acaso sabia nuestro profesor cuando iba a llover? Nos aclaró que no tenía ni idea de cuando iba a llover, pero lo que era seguro es que llovería algún día y que cada vez faltaba menos para que llegara ese día. El tema, básicamente, es que hay eventos que van a suceder, tarde o temprano y que hay que estar preparados para ellos.

“Si funciona no lo toques”, es un refrán bastante popular y además es horrible, promueve una filosofía de conformismo e incluso de cobardía ante el cambio. Me imagino que funcionaria en algún momento, donde tu zona de confort sea enorme. En la actualidad, y particularmente en nuestro negocio, las zonas de confort tienen a hacerse muy pequeñas muy rápidamente.

¿Cuándo es el momento de “tocar” algo que funciona?, si crees que es “cuando no funcione”, estas en un error, ese es el peor momento para plantearte cambios. Por la misma circunstancia que “no funciona”, el objetivo, o la prioridad ya no es crear ningún tipo de mejora, si no conseguir que el sistema siga funcionando.

¿Por qué dejo de funcionar un sistema? Generalmente por un cambio en el ambiente en que se encuentra, ya sea un cambio tecnología o un cambio en el negocio. Con independía del tipo de cambio, lo cierto es que nuestro sistema dejo de cumplir nuestras necesidades, por lo menos durante un periodo crítico en el que ya no está siendo productivo (y en el cual, nuestros competidores si lo son).

Es por eso que conviene “tocar” los sistemas cuando estos están funcionando, “Hay que prepararse para la lluvia cuando hace sol”, de esta manera podemos realizar las mejoras, cambios y adecuaciones a nuestros sistemas, en un momento donde nuestro sistema está bien, y no debemos preocuparnos de no estar cumpliendo la producción de nuestro negocio. Si alguno no sale bien, podemos regresarnos al momento donde si funcionaba, porque tenemos esa libertad de movimiento al ser nosotros (y no un factor externo), los generadores del movimiento del cambio.

Trabajando con antelación, podemos dedicar tiempo a las cosas “importantes” y no perderlo en multitud de cosas “urgentes” que se acaban convirtiendo en una solución temporal, sobre otra soluciones temporales.