jueves, 25 de octubre de 2012

Houston, tenemos un problema

La vida está llena de problemas y en la informática abunda, quizás porque es una ciencia muy viva.  

Así que una de mis funciones es resolver problemas propios y ajenos, en tanto que consultor.  lo de 'Houston tenemos un problema' es una de las frases que cito a menudo.  Y voy a explicar a cuento de qué.

La famosa frase fue pronunciada desde el Apolo XIII tras la explosión ocurrida en el módulo de mando en el trayecto hacia la Luna.  Para ser purista, creo que la frase exacta no fue esa, sino 'Bien, Houston, hemos tenido un problema aquí'. (en inglés: 'Ok, Houston, we've had a problem here'.) Pero ha quedado en la leyenda como al cito: Houston, tenemos un problema ('Houston, we have a problem').

Más o menos la situación era la siguiente.

El Apolo XIII se dirigía hacía la Luna con tres astronautas a bordo y contaba de dos piezas. El módulo de mando donde se encontraban y el módulo de alunizaje (la llamada araña, por su forma).  Ocurrió una explosión, que soltó oxígeno y aparecieron las alarmas de que el módulo de mando se quedaba sin fuentes de energía.  Así que tres personas en un vehículo imposibilitado, con pérdida de energía y oxígeno y con otro operativo para alunizar pero no para volver a la tierra.  A una distancia de nuestro planeta que hacía imposible cualquier rescate o envío de material en un tiempo razonable. Para volver necesitaban que funcionara el módulo de mando, único con combustible para el viaje y protección para aterrizar. Y no funcionaba.

Esto es lo que se llama una situación prácticamente imposible y el resultado lógico es evidente:  Muerte segura en el espacio para los tres astronautas, sin poder volver a la Tierra.

Pues bien, como es sabido, los tres volvieron sanos y salvos.  Es posible salir airoso de situaciones muy, muy, muy complicadas.  Analizando el caso del Apolo XIII he aprendido algunas ideas que ayudan a ello.  Voy a comentarlas.

La primera cosa útil para solucionar un problema es aplicar la racionalidad en vez de otras tácticas habituales, tales como el pánico, rezar, gritar, salir corriendo, la apología del pesimismo, acusar a otros, y una larga lista de opciones que mejor no analizo.  Esto es bastante obvio. Desde luego salir corriendo del Aplo XIII no servía de nada, ¿verdad?  

La frase 'Houston, tenemos un problema' iba bien encaminada en ese sentido.  Otra tal como '¡Vamos a morir todos!' o una larga lista de insultos hubiera sido más bien signo del futuro fracaso.   Así que se empezó bien, comunicando el problema.  Luego se pasó a los detalles: Una nube al lado del módulo, que se descubrió que era el oxígeno, situación de los controles, inventario de partes operativas, y otros.  El primer paso suele ser ese: Enunciar el problema.

Este primer paso aunque parezca pequeño es muy grande para resolver el problema (sí, se ve que también viene a mi mente el Apolo XI y parafraseo alguna otra frase famosa).  No siempre es fácil de mantener la calma.  En esto sentido voy a poner un ejemplo de lo contrario

Durante la ocupación estadounidense de Irak se sucedieron los atentados con bombas y otro tipos de ataques que generaban un gran número de víctimas.  Casi todos los días aparecían noticias de varios muertos. En algunos casos superaban la decena, pero eran habituales los de 3 ó 4 personas.  Solo un suceso superó las mil víctimas (en un principio algo más de 960 muertos que posteriormente tras fallecer varios heridos alcanzaron el millar).  ¿Acaso fue una bomba de mayor potencia' ¿muchas bombas? ¿un comando disparando' ¿una nueva arma?  pues no, no.  Exactamente,... no fue un atentado, fue un aviso falso de bomba.  Fue una mentira.  La gente salió corriendo sobre un puente y el pánico ocasionó todo el resto, aplastamientos, caídas del puente y otras cosas parecidas..  Sí, la mayor masacre de aquellos días en Irak no fue debida a una bomba sino al pánico.

Volvamos a la parte positiva y sigamos aprendiendo del Apolo XIII.

La siguiente parte del problema era conseguir el objetivo (la vuelta de los tres astronautas) con los medios disponibles.  Y eso era lo difícil, porque los medios previstos no estaban disponibles.  Se sucedieron las reuniones en Houston, grupos de trabajos y simulacros, una lluvia de ideas, análisis y pruebas.   Se estudiaron varios intentos de reparación del módulo de mando, incluso simulando pruebas en tierra, pero no se vieron posibles. 

La situación era que el Apolo XIII seguiría hasta la Luna, sería atrapado en su órbita y se quedaría por los siglos de los siglos como el primer satélite artificial de la Luna con personas dentro. ¿he dicho personas? más bien, cadáveres, porque poco tiempo iban a durar.

Al final la solución fue la siguiente:

Los astronautas se trasladaron a la nave de alunizaje, único sitio habitable con oxígeno.  Continuaron el viaje a la Luna y en un momento concreto y muy bien estudiado, encendieron los motores del módulo lunar para escapar de la órbita y volver hacía la Tierra con una trayectoria concreta que permitiera su entrada en la atmósfera con poca desviación (la única que permitiría el poco combustible disponible).  Al llegar a la Tierra volvieron al módulo de mando, único sitio que podía atravesar la atmósfera sin desintegrarse y éste amerizó.  Tras unos minutos de incertidumbre (no había comunicación) los equipos de rescates llegaron y ... sacaron sanos y salvos a los astronautas.  Posíblemente con la sorpresa de ambas partes.

Y esa es la moraleja:  Los problemas se resuelven pensando y actuando racionalmente.  No todos los problemas se pueden resolver, pero sí muchos más de los que a priori parecen posible.   Por contra, la irracionalidad es un problema más que dificulta las soluciones.

jueves, 11 de octubre de 2012

No todas las aplicaciones son iguales

Me vais a perdonad que en este artículo me desahogue un poco sobre un problema que sufro bastante a menudo. Espero que mi queja sea útil en tanto que defiende una idea primordial para el tejido empresarial español.

Cuando un posible cliente nos pregunta por nuestras aplicaciones le damos una breve explicación o demostración de los programas. Muchas veces cuando llego a algunos apartados, como el de contabilidad, escucho la frase de que todas las aplicaciones son iguales.  Y muchas empresas piensan eso que para informatizarse todas las aplicaciones son iguales.  No, no lo son, ni de lejos.

¿Acaso son iguales todos los trabajadores?  ¿todos los directivos? ¿todos los gerentes.  No conozco ningún empresario que piense que puede irse 3 meses de vacaciones y ser sustituido por uno de sus trabajadores, por el camarero de la cafetería, o por su peluquera, por citar algunos ejemplos tan tópicos que hasta chocan.  En este sentido me gustaría añadir que conozco muy buenos empresarios, que efectivamente son difíciles de sustiuir y otros... que ojalá su peluquera los sustituyeras.

¿Y por qué no?  Si no todos los gerentes o empleados son  iguales, etnonces. ¿por qué cree que su software se puede sustituir por otro con iguales resultados?.  Actualmente el software maneja muchas más información de la empresa que los gerentes.  Y si no es así, si es el gerente el que maneja más información, la empresa tiene un serio problema.  

Creo que no, nos equivocamos. Ni todas las personas son iguales ni todo el software es igual.

Pero además tenemos que saber evaluar al software.  Ya nos vamos dando cuenta de que los mejores empleados no son los que más horas están en la empresa, o los que más alaban al jefe.   ¿quienes son los mejores empleados? Pues los que generan beneficios de forma estable a la empresa. ¿Y los mejores gerentes? Pues lo mismo.  Añado el adjetivo estable para no caer en esos héroes que triunfan de forma escandolosa para al poco tiempo dejar la ruina.

Un software bueno debe dar beneficios a la empresa.  No todos lo hacen.  

Un sofware bueno debe aportar control, quitar trabajo, permitir cambios de forma ágil, manejar la información de forma fácil, rápida y fiable.  Y más cosas de las que seguiremos hablando.  Pero desde luego hay diferencias abismales entre unos y otros. Que quede claro.