sábado, 14 de septiembre de 2013

¿Todavía quiere seguir jugando?



Una pequeña historia

Entramos a un Casino en el que hay diferentes juegos en los que podemos elegir apostar. En una mesa hay un juego llamado “Multimedia”, en otra uno llamado “Web-services”,  en otra uno llamado “Banca Electrónica”.
Nos acercamos al crupier y se desarrolla el siguiente dialogo:
  • Nosotros: “Cuánto la apuesta mínima?”
  • Crupier: “3000 millones”
  • Nosotros: “¿Quién jugará?”
  • Crupier: “No lo sabremos hasta que lleguen”
  • Nosotros: “¿Cuáles son las reglas?”
  • Crupier: “Aparecerán a medida que el juego avance”
  • Nosotros: “¿Cuál es mi chance de ganar?”
  • Crupier: “No podemos decirlo, ¿todavía quiere seguir jugando?”
¿Qué distingue a un gran líder de un líder promedio? Su habilidad para percibir la naturaleza y las reglas de un juego a medida que lo juega.(W. Brian Arthur)
--oo0oo-- 

El motivo de esta introducción es tratar de entender:
  • ¿Cómo tomamos decisiones en un contexto cambiante e impredecible?
  • ¿En qué podemos  basarnos?
  • ¿Cómo podemos afirmarnos en un terreno resbaladizo como un problema poco definido y un entorno altamente cambiante?

Las preguntas son demasiado amplias, pero totalmente trasladables a gran cantidad de proyectos que encaramos en la actualidad con clientes más demandantes, competencia exacerbada, tecnología fluida, calidad sobreentendida, etc.

Los supuestos para la toma de decisiones

Nuestro sistema más común de toma de decisiones, está basado en
  • Que existe en el contexto del problema un cierto grado de predictibilidad y orden,
  • que se pueden hacer ciertas simplificaciones para entenderlo,
  • y por lo tanto poder resolver situaciones que requieran decisión.

Esto cada vez es más difícil. El entorno de toma de decisiones es cada vez más cambiante y los supuestos antes mencionados no siempre, en realidad cada vez menos, se cumplen.

Dando sentido a las cosas

Una ayuda a estos problemas de decisión en contextos cambiantes podemos encontrarla en el concepto de “sensemaking”, cuya posible traducción sería “dar sentido”.
Sensemaking: es el intento de darle sentido a situaciones ambiguas, complejas o inciertas ayudando a tomar decisiones en ellas, tratando de entender las conexiones entre las partes intervinientes para anticiparse y actuar en forma efectiva.
Un marco de referencia para este “dar sentido”, lo propone el modelo Cynefin, de Kurtz y Snowden, al que ampliamos con las ideas de Snowden y Boone acerca de  la toma de decisiones utilizando esta propuesta.
Pero atención, los criterios que proponen no son una receta, sólo permiten razonar sobre posibles modos de encarar situaciones comunes en distintos contextos. Por ejemplo:
  • Ordenados y simples
  • Ordenados y complicados
  • Desordenados y complejos
  • Desordenados y caóticos

 Gráficamente


¿Cómo reconocemos cada entorno? ¿Cómo tomamos decisiones en cada uno? ¿Qué debemos resolver y qué problemas podemos encontrar?



Entorno Ordenado – Simple - Conocido

El dominio de las mejores prácticas (know-know).

¿Qué caracteriza a esta situación?

  • Sucedió otras veces (repetible), es evidente, es predecible, si ocurrió un determinado evento sabemos lo que ocurrirá luego. Relación clara y lineal entre causa y efecto.
  • El entorno es conocido y estable, la probabilidad de cambios es baja.
  • Son aplicables las mejores prácticas, estructuradas en procesos.
  • Habitualmente el conocimiento de la solución reside dentro de la misma Organización.

¿Qué debemos tener en cuenta para tomar una decisión en esta situación?

  • Reconocer el contexto en el cual se desarrolla la situación.
  • Detectar y evaluar la información que se recibe.
  • Categorizarla.
  • Responder de acuerdo a una práctica predeterminada.
  • La “receta” es esencial ya que está probada y asegura repetibilidad.

¿Qué debemos lograr y fomentar?

  • Mantener una comunicación directa y clara, no es necesario que sea excesiva; el tema es conocido y la solución también.

¿Qué problemas esperar y qué evitar?

  • Equivocarse al leer el contexto y tratar de aplicar a todos los problemas las prácticas que conocemos. No poder pensar “fuera de la caja” para reconocer otra situación.
  • Resistirnos a entender que el entorno cambió y las soluciones  anteriores ya no aplican.
  • Confiarnos y simplificar demasiado; interpretar erróneamente lo simple como fácil.
  • El síndrome “esto es lo mismo que antes pero dicho de otra manera”. Tal vez no es lo mismo, ni se le parece.       

Caso:

  • Resolución de incidentes conocidos siguiendo pasos establecidos; no hay decisiones demasiado complejas y la mayoría de los casos están contemplados en “el manual”.
   

Entorno Ordenado - Complicado - Conocible

El dominio de la buena práctica o del experto -  (know-unknowns)

¿Qué caracteriza a esta situación?

  • La cultura de la Organización, algún proceso establecido y seguido ya hace tiempo, la burocracia ya incorporada en las tareas, producen problemas no visibles desde dentro. La relación causa-efecto existe, pero no es reconocida por la Organización o fácilmente detectable por quien debe tomar la decisión.
  • La causa puede estar separada del efecto, no es lineal (si toco aquí no explota allí inmediatamente) y posiblemente sólo un ojo entrenado y no comprometido,  pueda detectarla y aconsejar la decisión adecuada.
  • Las causas y los efectos se centran alrededor de un tema, lo cual deja al tema todavía en el terreno de lo predecible. Por ejemplo re-trabajo, defectos, etc.
  • Quien toma la decisión podría investigar, estudiar y finalmente también hacerlo, pero con tiempo e investigando. Asimismo ciertos conflictos de poder pueden actuar sobre una posible solución que descubra.

¿Qué debemos tener en cuenta para tomar una decisión en esta situación?

  • Reconocer el contexto en el cual se desarrolla la situación.
  • Detectar y evaluar la información que se recibe del contexto.
  • Analizarla, posiblemente con ayuda.
  • Responder de acuerdo a la sugerencia de el o los expertos.

¿Qué debemos lograr y fomentar?

  • Coordinar e integrar opiniones diferentes entre los expertos.
  • Crear una tema común de discusión evitando dispersión de los mismos expertos.
  • Escuchar a los no expertos que podrían aportar una solución creativa.

¿Qué problemas esperar y qué evitar?

  • Expertos demasiado confiados en su experiencia.
  • Opiniones diversas (y contradictorias), intereses personales de los expertos.
  • Parálisis por análisis.
  • Expertos pensando sólo “dentro de su caja” sin considerar alternativas.
  • Ignorar la solución propuesta, aunque sea evidente su corrección, por los problemas políticos que puede causar, sin analizar alternativas.

Caso:

  • Una serie de síntomas típicos en una Instalación, re-trabajo, tiempos muertos, visibles para los expertos, pero que pasan desapercibidos para el resto, y que muestra la necesidad de una mejora en los procesos.


Entorno Desordenado – Complejo – Retrospectivamente comprensible 

El dominio de la exploración y el ensayo (unknow-unknowns)

¿Qué caracteriza a esta situación?

  • La relación causa-efecto existe, pero la gran cantidad de variables intervinientes y relaciones entre ellas es tan amplia que no es posible incorporarlas en un proceso estructurado, ni analizarlas una a una ya que actúan a la vez. Por ejemplo proyectos extensos, con gran cantidad de personas intervinientes, organizaciones y tecnologías.
  • Pueden buscarse patrones de comportamiento que, si se repiten, ayudarán a simplificar la detección futura de situaciones similares.
  • La situación es entendible sólo retrospectivamente, es decir a posteriori, cuando se podrá encontrar una explicación para algunas de las cosas que sucedieron.         

¿Qué debemos tener en cuenta para tomar una decisión en esta situación?

  • Como posiblemente estemos ante un caso único, como la mayoría de los proyectos donde nunca todas las variables se repiten aunque lo hagan algunas, habrá que explorar posibles caminos y experimentar en base a la información del resultado de nuestras acciones.
  • Detectar patrones de comportamiento conocidos, e identificar nuevos. Responder de acuerdo a la nueva situación.        

¿Qué debemos lograr y fomentar?

  • Propiciar la experimentación creando un ambiente adecuado.
  • Lograr un alto grado de comunicación.
  • Aceptar errores o fallas en los ensayos.

¿Qué problemas esperar y qué evitar?

  • Incertidumbre en los resultados: estamos ante situaciones únicas.
  • Asustarse con los resultados o la falta de ellos y reincidir en procedimientos estructurados, que sin duda fallarán ya que fueron pensados para otros entornos.
  • Asociado a esto, perder la oportunidad de una solución creativa o alguna solución siquiera.
  • Confusión entre experimento y caos.
  • Buscar hechos concretos en un ambiente donde todo fluye y es difícil encontrarlos, en lugar de entender los patrones que van surgiendo.

Caso:

  • Cualquier producto de cierta complejidad, tamaño, extensión, novedoso como idea, sobre tecnologías nuevas o en desarrollo, para mercados en expansión y variados. Productos originales o innovadores están en este entorno.
  • Casos como YouTube, e-Bay, Google, las redes sociales, avanzaron en sus orígenes, y siguen actualmente, creando e identificando patrones de comportamiento que permiten cambiar el negocio a medida que se comprenden sus características.

·         

Entorno Desordenado – Caótico – Inesperado

El dominio de la respuesta rápida.

¿Qué caracteriza a esta situación?

  • Es totalmente inesperada. ¡Pasó y hay que resolverlo!
  • Nadie sabe exactamente qué hacer ya que escapa a todo lo conocido.
  • Quién piensa en ese momento en detectar y analizar la relación causa-efecto: no hay tiempo.
  • Lo primero es restablecer el orden, actuar rápidamente y detener la turbulencia.

¿Qué debemos tener en cuenta para tomar una decisión en esta situación?

  • Actuar para volver a ordenarnos.
  • Detectar el resultado de la acción y ver cuál puede ser el próximo paso. 
  •  Responder de acuerdo al resultado, profundizar o cambiar por otra acción.
  • No ir atrás de la respuesta correcta ni perfecta, sino de lo que funciona en ese momento.

¿Qué debemos lograr y fomentar?

  • Actuar.
  • Comunicar breve y claramente qué debe hacerse (órdenes en muchos casos).
  • Impedir mayor caos.

¿Qué problemas esperar y qué evitar?

  • Buscar culpables durante el caos: no ayuda a solucionarlo, al contrario.
  • Actitudes tanto egoístas como altruistas de las personas.
  • Continuar en la actitud de ordenar y controlar. Es útil para salir del caos, pero dañina más allá de lo necesario.
  • Vivir en crisis; hay mejores formas de sentir la adrenalina.

Caso: 

  • Situaciones de emergencia, caídas de los sistemas producidas por eventos fuera de cualquier riesgo esperado, aun los más extremos contemplados.


El centro: el desorden

¿Qué caracteriza a esta situación? 

  • Conflictos entre quienes deciden.
  • Ver la misma situación desde distintos puntos de vista.
  • Competencia por interpretar la situación basados en sus preferencias. Unos tratan de aplicar el proceso, otros de experimentar, y otros de controlar.
  • Cada uno lo llevará al plano donde cree tener más poder.

          ¿Qué debemos lograr y fomentar?

  • Posiblemente la única solución es acercarlos y ayudar a que reduzcan sus diferencias.
  • Buscar puntos en común.

  • ...No es fácil...

Conclusión

La pregunta inicial fue cómo tomábamos decisiones en situaciones complejas o inciertas.
No siempre estamos (o deberíamos estar) en el plano de caótico, y hay gran cantidad de situaciones en el contexto de lo complicado y hasta de lo simple. No toda situación es una emergencia.
Habrá también casos de situaciones complejas, las cuales, a medida que las comprendamos deberíamos hacerlas transitar hacia los estadíos anteriores más ordenados y así lograr una forma repetitiva de resolverlas.
Los riesgos son varios y no sencillos de tratar ya que están relacionados con las personas, la cultura de la organización, el contexto donde se insertarán las soluciones, y podríamos seguir agregando. Aun así, el mayor riesgo es no hacer nada y tratar de aplicar la misma receta a todo, cualquiera sea esta receta y situación que estamos tratando.
Como agregado, y si bien implica también un riesgo, debemos visitar los contextos desordenados, ya que en muchos casos allí residen las ideas creativas, todavía no procesadas. Logradas nuevas ideas, nuevamente podemos tratar de volver a los contextos más ordenados.
Resumiendo y en palabras sencillas:
  •        Simple = By the book
  •        Complicado = Preguntar al experto
  •        Complejo = Ensayar y analizar el resultado
  •        Caótico = Actuar.

Material de referencia

  • The new dynamics of strategy: Sense-making in a complex and complicated world, C. F. Kurtz y D. J. Snowden. IBM SYSTEMS JOURNAL, VOL 42, NO 3, 2003. Este trabajo dio origen al modelo. Es interesante, a veces necesita relectura.
  • A Leader’s Framework for Decision Making, David J. Snowden y Mary E. Boone, Harvard Business Review • Nov. 2007. Toma los conceptos del trabajo original, y lo orienta más específicamente a quien toma decisiones. Muy interesante la tabla resumen con las características de cada contexto, sus acciones y sus riesgos.
  • Increasing returns and the new world of business, W. Brian Arthur, HBR 1996.
  • Definiciones de Karl E. Weick. Varias publicaciones.



lunes, 2 de septiembre de 2013

Release or not release, that is the question!

Un interesante dilema que se plantea a diario en el desarrollo de software:

  • oportunidad versus perfección
  • implementar versus seguir probando
  • ser primeros versus cero errores

Estas son algunas de las contradicciones que trae como consecuencia el dilema "release or not release" y que generan mayor o menor tensión según la industria para la cual desarrollamos.

Una balanza podría ser una buena representación gráfica de este dilema. Balanza que observamos permanentemente antes de tomar una decisión de implementación, pero que no siempre buscar su equilibrio es lo correcto para salir a producción.

Seguir probando versus implementar a tiempo es una discusión frecuente en las organizaciones que desarrollan software y el tipo de industria determinará cuánto riesgo puedo tomar de cada lado de la balanza. 

Por ejemplo en industrias muy competitivas, el time to market y la oportunidad de implementación son ventajas competitivas que pesan muy fuerte y que en ocasiones pueden definir al ganador.

En ese tipo de industrias es muy frecuente que la balanza se incline del lado de la oportunidad de implementación. Por lo tanto la decisión de liberar el software deberá tomarse aún con el riesgo de no seguir probando. Es muy probable que cause más dolor para el negocio no salir a tiempo que encontrar un error.

El timing adecuado para liberar un release puede ser estratégico en ciertos contextos y es muy probable que compita contra la necesidad de seguir probando y encontrando defectos. Aún así tenemos la responsabilidad de tomar una decisión a tiempo y asumir el riesgo.

Por otra parte es probable que en industrias como la de la salud, la aeronáutica o la espacial, si bien existe un entorno de competencia, el dilema prácticamente no exista ya que una falla puede ser el fin del negocio. Esa situación resuelve fácilmente el dilema e inclina siempre la balanza para un mismo lado. Las decisiones son muy simples: implementar sólo cuando nos encontramos frente a un alto grado de certeza de que no habrá errores.

Ahora bien, en las industrias donde se presenta este dilema a diario, es sumamente importante tener la sensibilidad y la información necesaria para determinar cuál es el punto justo en el cual debemos tomar la decisión de liberar un release.

Supongamos que podemos representar la relación que existe entre el tiempo y el riesgo de no implementar a tiempo. En una industria muy competitiva probablemente esa curva tenga la siguiente forma:



Por otra parte si graficamos la relación entre el tiempo de prueba y el riesgo de encontrar errores tendríamos una curva probablemente de esta otra forma:


Ambas curvas muestran que a medida que pasa el tiempo el riesgo de encontrar un error disminuye, ya que en general la mayor cantidad de errores son detectado en los primeros ciclos de prueba pero a su vez el riesgo de no implementar aumenta. (es probable que nuestro competidor por ej. haya lanzado la nueva versión o el nuevo feature antes que nosotros).

Si miramos juntas ambas curvas se puede observar que se cortan en un punto.


La pregunta es:

¿podemos inferir que el punto de corte representa el mejor momento para liberar software?

Si la respuesta es afirmativa, entonces podríamos decir que cualquier decisión que se tome a la izquierda de ese punto tendrá asociado un alto riesgo de encontrar errores luego de la implementación y con un costo mayor al de no implementar a tiempo.

Por el contrario, cualquier decisión que se tome hacia la derecha de ese punto tendrá asociado un alto riesgo de fracaso frente a la competencia aún cuando no tengamos errores.

Es interesante poder hacer este ejercicio a diario y pararnos frente a este dilema para preguntarnos si al seguir probando no nos estamos perdiendo la oportunidad de salir al mercado a tiempo y si esa situación es la correcta para nuestro negocio.

Técnicas Agiles tanto de gestión de proyectos (Scrum) como de desarrollo/release management tales como Continuos integration, test unit, TDD, risk testing, testing automático, son excelentes herramientas y prácticas cuyo objetivo es contribuir a tener desarrollos siempre listos para ser implementados. Tienden a reducir el gap entre implementar a tiempo vs seguir probando. Colaboran también a mejorar la toma de decisiones cuando se evalúa el grado de riesgo que estamos asumiendo al momento de liberar un nuevo release. 

Hace poco en una conferencia escuché al CIO de una compañía decir lo siguiente:

"cualquier macana se perdona si lo que estamos implementando es lo mejor que hay en el mercado".

creo que eso resume perfectamente este dilema.