¿Gestión de problemas o gestión de oportunidades?
Cuando estamos trabajando en un proyecto del tipo que sea, por ejemplo en un proyecto Software, es inevitable que se den circunstancias que podríamos catalogar inicialmente como negativas. A esas circunstancias negativas, muchos las llaman con el sobrenombre de… ¡PrObLeMaS!.
En sí, cuando ocurre un problema, se debe actuar por ejemplo de la siguiente manera (esta es una forma general de actuación, no es la piedra angular de ninguna forma exacta de cómo actuar):
Deberemos catalogar el problema de acuerdo a su importancia. Eso se logra realizando un estudio del posible problema. Es decir, clasificando el problema. Ni todo es grave, ni todo leve. Cada situación debe ser analizada de forma independiente a cualquier otra que haya ocurrido previamente.
Deberemos adecuar la resolución del problema a los recursos y valores humanos con los que contamos. Si no contamos con ningún valor humano ni ningún recurso, vamos apañados.
Debemos analizar el problema de manera profunda. Es decir, debemos diagnosticar el problema y tomar las acciones necesarias para resolver el problema.
En consecuencia, esas circunstancias negativas podrían llevar anexadas cuál apéndice, una etiqueta de colores muy diversos según su gravedad o la importancia que le demos,… amarilla, naranja o roja.
La etiqueta verde no está catalogada en las anteriores e indica exactamente lo que significa su color. Todo precioso, como la Primavera. Es decir, el resultado esperado e ideal en el que los pajarillos canturrean y las flores buscan los rayos del sol.
Una etiqueta de color amarilla seria en consecuencia la más agradable a la vista después de la etiqueta verde o de la normalidad. Pequeñísimos contratiempos que hacen agrandar los ojos y acelerar tímidamente el pulso cardiaco, y que se solventan en un tiempo mínimo. Bien sabemos que representan pequeñas piedras en el camino que aunque molestan y no gustan, no son un claro impedimento. Aquí tiene sentido la frase: «¡Vaya despiste!».
Las etiquetas naranjas por su parte, nos obliga a conectar 4 sentidos y medio al ser humano, y por lo general, lo vemos más cerca del color rojo que del color amarillo (cuestión de psicología). Este tipo de etiquetas no nos hace ni pizca de gracia lógicamente, y ya no son meras piedrecitas en el camino, sino que el tamaño de la piedra la definiríamos como «pedrolo», y esos pedrolos nos obligarían a sortearlas casi como dice el presidente del gobierno en España Zapatero… «como sea». Aquí tiene sentido la frase: «¡Macagoentó!».
Las etiquetas de color rojo son las etiquetas que nadie quiere ver ni en pintura, a excepción de los Ferrari en la Fórmula 1 y poco más. Aquí se dan las circuntancias más curiosas para un ser humano. Si tuviéramos 20 sentidos, los pondríamos todos a funcionar al mismo tiempo, pero la pena es que sólo tenemos 5 sentidos y debemos acostumbrarnos a trabajar con ellos… en donde no hay no se puede sacar, así que el resto de los sentidos nos los inventamos los seres humanos que somos muy listos para complicarnos más la vida: gritos, nervios, carreras, preocupación, excitación, tensión, estrés, ansiedad,… Aquí tiene sentido la frase: «¡Vaya cagada!».
Y en todo esto la pregunta sería: ¿Un problema sea del tipo que sea es realmente un problema o es una oportunidad?.
Sé que no todo el mundo va a estar de acuerdo conmigo o que no todo el mundo lo va a ver igual, pero quién me conoce, quizás me haya oído decir alguna vez que los problemas no existen. Tan solo existen las contigencias, los contratiempos y los riesgos, pero no los problemas. En sí, un «problema» contratiempo podemos verlo como el vaso medio lleno o como el vaso medio vacío. El «problema» contratiempo no es o no debe ser algo negativo, o no deberíamos abordarlo como algo negativo sino que deberíamos abordarlo como lo que es, una oportunidad. El cerebro tiende a negativizar por lo general aquellas circunstancias que se nos escapan un poco de nuestro control, de ahí, que cuando aparece un bug en la aplicación por ejemplo, nos ponemos a temblar primero, y a llorar después si la etiqueta tiene un tono rojizo.
El cambio de chip que comento sé que no es sencillo, y lo admito, pero es cuestión de connotación gramática y una parte mental o psicológica si quiere expresar mejor. Es quizás una discusión parecida a la de decir recursos humanos en lugar de gestión de personal, o hablar de recursos en lugar de personas.
De todos los modos, hablar de problemas u oportunidades no responde tan solo a un problema gramatical. En sí, encierra más aspectos.
Uno de los principales bajo mi punto de vista es que se requieren acciones proactivas y no reactivas. Esto lo repito hasta la saciedaz, pero no todo el mundo lo entiende así. Por expresarlo de otra forma, yo no suelo ponerme la tirita antes de la herida, me parece absurdo, pero para que quede más claro, si voy a trabajar por ejemplo cortando maderas, sé que hay un riesgo en mi trabajo y lo que sí me pondré son unas gafas para evitar que una astilla pueda saltar y clavárseme en el ojo.
Personalmente, me gusta ser excesivamente proactivo a ser extraordinariamente reactivo, siempre y cuando la situación lo permita claro está.
De esta manera, la primera y principal acción proactiva previa necesaria y obligada en todo desarrollo Software son los test o pruebas unitarias, y éstos son responsabilidad nuestra. Cuando digo nuestra, no digo del jefe de proyecto, o del analista, o del programador, o… ¡no!. me refiero a responsabilidad de todo el equipo de trabajo. Mis «cagadas» si se me permite la expresión, repercuten en todo el proyecto, y por lo tanto en todo el equipo.
Otra tarea a tener en cuenta, es nutrir al desarrollo de los mecanismos suficientes y necesarios (gestión de excepciones y sus políticas, monitoring, logs, etc) para permitir ejecutar o facilitar en la manera que sea posible, las actuaciones sobre los contratiempos que antes enumeraba: clasificación del problema, adecuar la resolución del problema a los recursos y valores humanos con los que contamos, y diagnosticar el problema y tomar las acciones necesarias.
Debemos hacer todo lo posible por evitar que surjan esas piedras en el camino (sean del tamaño que sean) que nos harán retrasarnos, pero cuando ocurre un contratiempo, debemos pensar en que éste va a representar una oportunidad para que hagamos mejor las cosas (mejora, aprendizaje y optimización), que lo podemos utilizar para aprender cosas que hemos hecho de forma incorrecta (experiencia), y que una vez detectada la contingencia, si se le aplica la medida correctora adecuada podremos estar seguros de que no volverá a ocurrir (resolutivo).
¿Estaremos libres de contratiempos aún haciendo pruebas unitarias y aplicando técnicas que faciliten información de qué está pasando, dónde y cómo?. No, las pruebas unitarias deben estar bien hechas al igual que la información que se pueda extraer de la ejecución de las aplicaciones Software. La información que se puede extraer debe tener cierta «lógica» y debe informaros de forma fidedigna del hecho acaecido.
¿Y si las pruebas unitarias y los mecanismos de análisis están bien hechos?. Nunca debemos confiarnos… como me gusta decir muchas veces, «la informática es la única ciencia inexacta del Universo«. De hecho, puede pasar incluso que no hayamos recogido los requerimientos adecuadamente, pero si los requerimientos están bien recogidos, se utiliza una metodología acorde y se ponen los mecanismos proactivos adecuados, habremos reducido bastante esos contratiempos.
Aún y así, en el caso de que aparezcan esos contratiempos (que seguro que aparecerán), se deben tratar como lo que son, oportunidades.
Hay muchas premisas más y tampoco quiero extenderme más de lo que ya lo he hecho.
Estas reflexiones han surgido en parte porque en el penúltimo evento de MAD.NUG se preguntó a los asistentes si se hacían pruebas unitarias, y tristemente observé que las pruebas unitarias las hacían menos personas de las que en realidad me esperaba. O todo el mundo hace un Hola Mundo que no requiere pruebas unitarias, o no hemos recogido el significado exacto de u importancia. Y eso… sí es un problema.
Pero bueno, lo que me gustaría recoger aquí también, es el feedback y experiencias personales de lo que pensais sobre esto que comento.
¿Qué opinas?. ¿Piensas realmente que los problemas son problemas o que son oportunidades?. ¿Piensas que son problemas algunas veces y oportunidades en otras ocasiones?. ¿Piensas que ni son problemas ni oportunidades?. ¿Qué piensas al respecto?.
8 Responsesso far
Je, je, mi jefe dice que los problemas no existen, que sólo existen las soluciones, por tanto, cuando tengamos un… esto… una solución, vayamos con la solución y la solución al mismo.
🙂
Muy buena frase la de tu jefe Rafa, y no le falta razón, sin duda.
Todo esto me recuerda a esa famosa parrafada que me gusta mucho y que dice «si los problemas tienen solución, de qué te preocupas, y si nos la tiene, para que te vas a preocupar»… aunque claro, esta frase en desarrollo de Software no se la podemos decir a un cliente sobre todo para la segunda premisa,… porque en ese caso tenemos grandes posibilidades de perder el cliente. 🙂
Yo creo que los problemas y sus soluciones forman parte del proyecto en sí mismo, si no existiesen problemas no estaríamos desarrollando un proyecto, creo que debemos estar por encima de los “retrasos”, cuando estos se producen por una causa, habitualmente es por un motivo que requiere más atención, llegados a este punto es preferible realizar un proceso bien que cinco mal, lo difícil es hacérselo entender a los demás.
Desde luego realizar pruebas unitarias y recoger el feedback del cliente, son prácticas fundamentales para un buen desarrollo, no realizarlas aumenta nuestras probabilidades de fracaso y retrasa el desarrollo y la implantación de la solución.
Interesante post.
Muy de acuerdo con tu razonamiento Jorge.
Generalmente, podemos decir que el mayor problema que podemos tener es no encontrar problemas.
En cuanto a software testing, más aún… Una prueba que no causa un fallo en nuestro software es una prueba desperdiciada. Nuestro objetivo no es demostrar la ausencia de pruebas en nuestro software (algo imposible), sino cazar (y reparar) cuantos más fallos mejor.
Si vuestras pruebas unitarias pasan todas a la primera, yo en vuestro lugar no me iría tranquilo a casa… 😉
Un saludo!!
Miguel
«ausencia de fallos», no de pruebas, sorry… jej
Diste en el clavo Miguel.
El objetivo principal de las pruebas no es para ver lo bien que hemos hecho las cosas, sino para ver lo mal que lo hemos hecho y aplicar las medidas correctoras… es decir, a la hora de hacer pruebas debemos intentar ser los más perversos del mundo para someter a la aplicación a sus peores condiciones.
Me gustan las opiniones que han ido saliendo, ya que a mí por lo menos, me hace reflexionar sobre como se hacen a veces las cosas y como las pensamos.
¡Gracias por compartir!
Juan, totalmente de acuerdo en que si no existiesen problemas no estaríamos desarrollando Software. Incluso si el desarrollo del Software no fuera una tarea creativa, éste se haría de forma automatizada por generadores automáticos de soluciones Software, aplicaciones éstas que hoy día han fracasado todas hasta la fecha.
Lo de estar por encima de los «retrasos» es la clave. Opino como tú. El problema como muy bien indicas es hacérselo ver a los demás. Si le dices a tu jefe que vas a tardar el doble del tiempo porque quieres hacer el proceso de forma concienzuda, igual te entiende, en cuyo caso se puede decir que te ha tocado la lotería, pero por lo general no te va a entender nunca. 🙁
Muchas gracias por tus comentarios.
Agradezco mucho que dois vuestra opinión al respecto… 🙂
Esta frase: como me gusta decir muchas veces, «la informática es la única ciencia inexacta del Universo» la uso desde hace tiempo, cuando encuentras a alguien que ha pensado lo mismo que tu compruebas que vas en buen camino.
¿Piensas realmente que los problemas son problemas o que son oportunidades?. Depende, hay veces que acaban con una persona y hay veces que su resolución te catapulta a lo más alto del reconocimiento.
¿Piensas que son problemas algunas veces y oportunidades en otras ocasiones?. Pues eso
¿Piensas que ni son problemas ni portunidades?.
a veces más que oportunidades son muestras públicas de la imperfección que solo la gente enteinde negativamente.