Historias de usuario: en búsqueda del entendimiento compartido

¿Cómo alinearnos mejor con nuestros usuarios? ¿Cómo entender sus necesidades cuando no comprendemos la forma en que escriben los requerimientos? Pues bien, ahí está precisamente el quid del asunto. El problema principal no es cómo escribimos o cómo redactamos un texto: es de qué manera interactuamos.

PNG image-90B34C7FA176-1

La importancia de la comunicación cara a cara

Cuando hablamos de historias de usuario, nos centramos en la conversación. Partimos de una necesidad que tiene nuestro usuario y a partir de ahí hablamos en torno a entender muy bien esa necesidad y el para qué (los beneficios que esperamos obtener).  La conversación es lo que permite que haya un entendimiento compartido, que pasemos de decir “supongo que esto es a lo que se refería” a decir “entiendo para qué lo necesitas“.

Origen

Las historias de usuario, o user stories, tienen su origen en el trabajo de Kent Beck, a finales de los 90’s. Él notó (supongo que no fue el único…), que diferentes personas leyendo el mismo documento, pueden interpretarlo de maneras completamente diferentes. Entonces incluyó dentro de “Extreme Programming” el término “historia de usuario” para definir algo que un usuario quiere hacer dentro de un sistema, y de lo que se hablará con más detalle antes de construirlo.

Las tres C

PNG image-00F72E0BD373-1

Partiendo de que buscamos el entendimiento compartido entre los que tienen una necesidad y los que saben cómo resolverla, entonces ¿cómo seguimos? Ron Jeffries encontró cómo resumir el proceso en tres simples C:

Card (Tarjeta)

Una oración que resume la necesidad y se escribe en una tarjeta. Es frecuentemente utilizado el formato rol-necesidad-beneficio (o formato Connextra). No es obligatorio usarlo, pero es una buena guía para empezar. Cada necesidad del usuario se escribe en una tarjeta (de modo que se convierta en una promesa de conversación). IMPORTANTE: son escritas desde el punto de vista del usuario.

Formato rol-necesidad-beneficio

Como [tipo de usuario] -> quién
quiero [necesidad] -> qué
para [beneficio esperado] -> para qué

¿Cómo se vería esta información con una historia real? Veamos:

Ejemplo:  Retirar dinero
Como cliente del banco,
quiero retirar dinero de mi cuenta
para hacer pagos en efectivo”

Con estas tres simples líneas conoceremos: el quién (lo que nos permitirá ubicarnos dentro de un contexto de uso), el qué (cuál es el problema a resolver) y el para qué (el valor que esperamos obtener una vez construida la historia, y que será fundamental a la hora de priorizar).

Conversation (Conversación)

La conversación es la comunicación cara a cara (¡no es un título en un documento!). Es el momento en que se juntan las personas que conocen la necesidad con quienes conocen cómo solucionarla, para hablar en torno a ello. A partir de preguntas y respuestas, se busca el entendimiento compartido del problema que se quiere resolver. Aquí es recomendable usar todos los recursos que estén a nuestro alcance para validar nuestro entendimiento (hacer prototipos, usar facilitación gráfica, etc.).

Ejemplo: Retirar dinero
“-¿Existe algún máximo de dinero a retirar por transacción?
– Sí, $200 por transacción, y $1.000 por día.
– Si el usuario tiene menos dinero del que quiere retirar, ¿qué mensaje se le muestra?
– Podría ser “Señor usuario, los fondos son insuficientes. Por favor intente con un valor menor o igual a xxx”.
– ¿La interfaz de usuario podría mostrar la información de esta manera?
<<mostrar prototipo>>
– Sí, y agregaría…
– ¿Qué pasa si el cajero no tiene dinero suficiente?
– En ese caso…”.

Confirmation (Confirmación)

La Confirmación es el acuerdo en torno a lo que vamos a construir. Es lo que nos permitirá saber si terminamos de construirlo o no, y si cumplimos con lo que se esperaba. En este punto podemos plantear escenarios y la manera como el sistema se comportará en cada uno de ellos. Lo anterior es lo que llamamos “criterios de aceptación“. Una historia de usuario puede tener uno o muchos criterios de aceptación.

Ejemplo: “Retirar dinero”
“- Dado que tengo $400 en mi cuenta
cuando voy a retirar $100
entonces mis saldo queda en $300 y el sistema me entrega $100.”

¿Y después?

Las Historias de Usuario serán el insumo para construir de manera incremental nuestro producto. Deben ser pequeñas, de modo que puedan terminarse, de punta a punta, dentro de una iteración de trabajo. Un buen resumen de cómo dividir las historias de usuario, se encuentra en este genial mapa de Agile for All.

Referencias

  • Cohn, M. (2018). User Stories and User Story Examples by Mike Cohn. [online] Mountain Goat Software. Disponible en: https://www.mountaingoatsoftware.com/agile/user-stories
  • Patton, J. (2014). User story mapping. Beijing: O’Reilly. (disponible en Amazon)
  • Cohn, M. (2013). User stories applied: for agile software development. Boston: Addison-Wesley. (disponible en Amazon)

¿Y para qué se hace un Agile inception? ¡Un dibujito!

Entendimiento compartido

¿Cómo podemos iniciar la creación de productos de software grandiosos? Teniendo las conversaciones correctas con las personas correctas.

En su libro “The Agile Samurai“, Jonathan Rasmusson nos propone el Inception Deck, un espacio colaborativo en el que se desarrollan 10 actividades o preguntas difíciles que deberíamos hacer desde el inicio del proyecto para lograr que los involucrados en el mismo entiendan mejor el problema.

¡Lo resumo con un dibujito!

img_0216

¡A experimentarlo pues!

Agile 2016: Un enfoque basado en los principios para escalar Agilidad

Siguiendo con mi misión de compartir experiencias del Agile 2016 en Atlanta, les hablaré de una de las charlas a las que asistí el segundo día. Mi interés principal en el evento eran las temáticas de Scaling Agile y Coaching. Y encontré en el menú del día: “A principles based approach to scaling Agile”.

A principles based approach to scaling Agile

Esta charla estuvo a cargo de Peter Green y Peter Saddington, de Agile for All.  Su enfoque parte de que cuando empezamos a tener equipos de trabajo más grandes, o varios equipos que deben comunicarse y trabajar juntos, una de las mayores dificultades está en replicar las características core que hacen que los equipos con un número menor de personas sean exitosos.

The five keys to a successful team

The five keys to a successful team

Algunos frameworks de escalamiento pecan en asumir que se parte de entornos en los que reina la confianza, la responsabilidad y la transparencia. Esto me recordó algo que me habían contado hace algún tiempo: en Japón hay lugares -como estaciones o almacenes- donde tienen disponibles sombrillas para que la gente las tome prestadas cuando las necesite, y que aproximadamente el 99% de las ocasiones las sombrillas prestadas son retornadas. A pesar de que sabemos que es una práctica muy buena, en la mayoría de ciudades en que vivimos, al menos en Suramérica, sería muy difícil implementarla, pues nuestra cultura no da las condiciones necesarias para hacerlo.

Teniendo entonces claridad en que debemos partir de unas condiciones culturales mínimas, Green y Saddington nos hablan de sus ocho principios para escalar agilidad, construidos a partir de su experiencia. Les cuento a continuación un pequeño resumen de cada uno de ellos.

Mis sketchnotes de "Principles of Agile Scaling"

Mis sketchnotes de “Principles of Agile Scaling”

1. Deleitar al cliente sobre valor para los accionistas:

Centrarse en los ingresos suele conducir a poco compromiso de parte de los equipos. Debemos buscar deleitar a los clientes entregando valor continuamente, ver los ingresos de la empresa como un medio para seguir entregando valor.

2. Abrazar la complejidad sobre predecir y controlar

El mundo cada vez se vuelve menos predecible. El comando y control es incompatible con la complejidad.

3. Compromiso y adaptabilidad sobre eficiencia

Las organizaciones ágiles crean el espacio para que los equipos experimenten y respondan al cambio. Adicionalmente, estas empresas reconocen que poco compromiso tiene un impacto grande en la capacidad para entregar valor e innovar. El foco debe estar en crear ambientes de trabajo productivos centrados en las personas, potenciando los siguientes aspectos:

  • Conexión con el propósito del trabajo
  • Autonomía individual y de los equipos
  • Oportunidad para buscar la maestría
  • Fuertes conexiones sociales
  • Pequeñas victorias diarias

4. Equipos autónomos sobre grupos dirigidos

Los equipos de alto rendimiento tienen una cultura claramente definida, son cross funcionales, confían entre sí para cumplir con los compromisos, tienen autonomía y un propósito compartido. Esta autonomía permite una mejor respuesta ante el cambio que la de aquellos entornos en las que las decisiones dependen de una sola persona.

5. Sistemas humanos sobre jerarquías rígidas

Las organizaciones tradicionales se ven a ellas mismas como máquinas, donde las personas son recursos intercambiables y los líderes son quienes hacen la presión para lograr las salidas esperadas. Las organizaciones ágiles se asemejan a los sistemas vivos, donde la gente se auto-organizan en torno a un objetivo común, evolucionando las estructuras y haciendo las conexiones que sean necesarias.

6. Transparencia radical sobre comunicación estructurada

Las organizaciones ágiles mantienen la información disponible, para que equipos e individuos puedan tomar decisiones bien sustentadas en entornos complejos.

7. Reglas simples sobre procesos complicados

No se pueden crear políticas y procesos para cada cosa que pueda ocurrir. Reglas simples de toma de decisiones y solución de problemas son suficientes en entornos colaborativos.

8. Liderazgo transformador sobre liderazgo heroico

Los sistemas complejos nunca podrán ser completamente entendidos, ni siquiera por el líder más efectivo. Los líderes transformadores crean entornos donde las personas puedan enfocarse en deleitar a los clientes, removiendo los impedimentos que surjan. En organizaciones ágiles, cada voz se dedica a hacer frente a la complejidad de forma creativa e innovadora.

Mis conclusiones de la charla

Una vez más, se hace énfasis en la importancia de los principios y los valores por encima de las herramientas y prácticas. Los ocho puntos que los autores proponen, a mi parecer, cuentan en otras palabras lo que generaliza y resume el manifiesto ágil, e incluso algunos puntos pueden ser muy similares (como el cuatro y el cinco, en donde las claves son la autoorganización y la autonomía).

Durante la charla se preguntó a los asistentes cuál principio consideraban más importante, siendo el principio siete, el de las reglas simples, el que resultó con el mayor puntaje. Cerrando este post, coincido en ello: me gusta procurar un enfoque, como dice Alan Cyment, más orgánico en entornos complejos. Diagnosticar los dolores que van surgiendo cuando es necesario trabajar con grupos de personas más grandes, experimentar y adaptar. No podemos llenarnos de reglas -ni recetas- para todo porque trabajamos en entornos complejos, siempre cambiantes, y estaríamos generando desperdicios y poca flexibilidad.

 

Referencias:

 

Bienvenidos al Agile 2016

Una paisa en el Agile 2016: Memorias del evento – Día 1

El Agile 2016 ha terminado, pero el verdadero efecto del evento apenas inicia. El Agile es la conferencia más grande de agilidad a nivel mundial (como diría mi amigo Luis Mulato: el Mundial de Agilismo, o como digo yo: el Disneyland de Agilidad), que año tras año se celebra en una ciudad diferente de los Estados Unidos. Allí se reúnen aprendices, practicantes y expertos a compartir sus experiencias en el camino ágil; algunos a aprender, otros a vender, contratar y/o a hacer networking.

Este año la cita fue en Atlanta, del 23 al 29 de julio. El evento convocó a más de 2.400 agilistas de todo el mundo, quiénes nos reunimos a compartir conversaciones, charlas (¡y fiestas!) en temáticas relacionadas con al agilismo.

Acabo de llegar a Medellín con mi cabeza llena de ideas para compartir y discutir. Mi meta ahora es publicar un post por día con esas cosas que me llevé del evento, entre experiencias, sketchnotes, fotos, libros y consejos no pedidos 😛

IMG_20160731_085432

La previa: algunas recomendaciones

  1. Objetivos claros: al asistir a este tipo de eventos -demandantes en tiempo y presupuesto, ¡son cinco días!- es fundamental tener muy claros los objetivos que queremos lograr. Ya sea que queramos encontrar un experto para un entrenamiento, aprender más de agilidad a escala o DevOps, darnos a conocer, etc., pero que sea algo que sepamos de antemano. Primero: nos ayudará a elegir las charlas a visitar. Segundo: Cada día del evento podremos saber si estamos obteniendo los resultados esperados. El evento está organizado por tracks (líneas temáticas), es decir que si tienes claro que quieres ir únicamente a charlas de Coaching, esta clasificación facilitará mucho la organización de tu horario.
  2. Selección de charlas iterativa: La cantidad de charlas y espacios de aprendizaje y discusión durante la conferencia puede ser abrumadora (+250, las pueden explorar acá) , por lo que la recomendación en este punto -gracias a Jorge Johnson por el consejo- es seleccionar solo las del primer día, y al final de la jornada o en la mañana siguiente elegir las del día siguiente, de acuerdo a lo que vayas viviendo en el evento.
  3. Usa la app de Agile Events: Encontrarás siempre la información actualizada y tendrás acceso desde allí a muchas de las presentaciones del las charlas.

20160725_083008

Ahora sí: el día 1

El día uno abrió con el keynoteManaging for Happinnes” de Jurgen Appelo (creador de Management 3.0). En su charla (basada en su libro del mismo nombre), él parte de que la mayoría de los managers no tienen la menor idea de cómo trabajar con las personas, viendo a los desarrolladores como máquinas (a las que agregas café e historias de usuario y sale código fuente… ¡Wow!). La idea central fue revisar qué podemos hacer para humanizar nuestros entornos de trabajo. Jurgen propone algunas “balas de plata”, prácticas y herramientas que podemos aprovechar para ayudar a motivar a nuestros equipos.

F1D950D1-E2B0-4914-AF95-D53A5EC5E347

Luego del keynote, inició la agenda de charlas. La primera charla que elegí fue “The executives step-by-step guide to leading large-scale agile transformation” de Mike Cottmeyer (puedes encontrar las diapositivas aquí). Básicamente, nos habló sobre cómo liderar el cambio en organizaciones grandes. Esta charla me gustó mucho y la encontré muy útil; Mike nos contaba que los ejecutivos generalmente sí están interesados en promover el cambio, pero que no saben  cómo justificar la inversión ante la alta gerencia y que dicha justificación, evidentemente, debe darse en lenguaje de negocio. Ante los ojos de un ejecutivo, la clave de una transformación ágil no está en hacer entrenamientos y contratar ScrumMasters: está en en reorganizar la arquitectura del negocio.

20160725_110355

Las siguientes dos charlas a las que asistí fueron: Body Talks de Laura Powers (esta está buena para escribir un post bien gráfico más adelante :D), sobre cómo aprovechar el lenguaje corporal para establecer una mejor comunicación con las demás personas; y “How to be Agile in non-IT organizations” de Jake Calabrese (la presentación, aquí), sobre cómo hablarle de agile a las personas que no son de TI, para que lo entiendan y puedan dar los primeros pasos transformadores en sus organizaciones (así tampoco sean de TI). Jake supo entregar muy bien el mensaje y también, con mucha gracia, nos mostró algunos antipatrones. Por ejemplo, ser muy idealistas a la hora de hablar de agile: “Dude!!! Agile is SOOO Kool! A manifesto man! Sustainable pace – sprints dude!”. La otra persona probablemente nos mirará con ojos raritos…

IMG_-pucemq

Fue un primer día de exploración, de familiarizarme con la dinámica del evento y de agradecer mucho a Ceiba por darme esta gran oportunidad de aprendizaje.

Próximamente, los siguientes días. ¡Y bienvenido el feedback!

¡Gracias!

 

 

Compartiendo experiencias: Una retrospectiva (1)

Me gusta mucho encontrar formas diferentes de trabajar las retrospectivas con los equipos, de modo que la búsqueda de la mejora continua capture el interés de las personas que participan en ella. Hoy quiero compartir una de las retros que hice hace unos días, y que posiblemente servirá de inspiración para alguien que también esté buscando ideas…

Icebreaker: Los súper héroes (15 minutos)

Para que una retro sea verdaderamente productiva debemos tratar, como facilitadores, que los asistentes se sientan cómodos de brindar sus opiniones, creando una atmósfera de comunicación fluida. Esto lo podemos lograr con los “icebreakers”, actividades que, como su nombre lo indica, buscan romper el hielo. En la retro de la cual hablo hoy rompimos el hielo con una actividad conocida como Los súper héroes, que también permite que el equipo se conozca mejor.

La dinámica consiste en que a cada miembro del equipo se le da una hoja de papel y un marcador para que haga lo siguiente:

  • Dibujo de cómo se visualiza como súper héroe
  • Nombre de súper héroe: Ideal que sea un nombre creativo/divertido.
  • Súperpoderes: ¿Cuáles son mis súper poderes, de cara al equipo?
  • Debilidades: ¿Cuáles son mis debilidades, de cara al equipo?
  • Archienemigo: Esa cosa o esas cosas que no puedo soportar (tratar de pensarlo desde el contexto laboral).

Yo lo que hago es que al momento de explicar la actividad tengo una guía visual de lo que deben hacer, que luego les pongo en un lugar visible.

Facilitación gráfica_14

Al terminar, cada persona presentó su Súper Héroe a los demás miembros del equipo, y pegamos los dibujos en una ventana. Han pasado varios días y los dibujos aún están adornando su lugar de trabajo 🙂

20160126_115732 (1)

* Ésta dinámica la complementé a partir de una que encontré en Retromat 

Objetivo de la retro

Es importante variar las retrospectivas que se hacen con los equipos para que las reuniones sean más dinámicas, pero no es algo que deba hacerse deportivamente. Tenemos que contar con un criterio claro, basado en las necesidades del equipo y en si, como coaches, queremos apoyarlos en un tema en particular que el equipo esté necesitando.

Por sugerencias previas de algunos miembros del equipo, decidimos que el objetivo de esta retro fuera el cambio, lo que coincidía además con lo que varios habían señalado como debilidades en la actividad de súper héroes.
Empecé planteándoles tres preguntas, que había preparado previamente usando la herramienta Pollev, en la que pueden votar y los resultados se ven en tiempo real, cambiando los porcentajes a medida que la gente vota (cosa que logró conectarlos bastante con la reunión, hasta querían que fueran más preguntas…).

 Pregunta 1: Entre las siguientes dos opciones, dirías que el equipo esPregunta 1: Entre las siguientes dos opciones, dirías que el equipo es:

Pregunta 2: Con respecto a la forma como enfrentamos los nuevos retos COMO EQUIPO, dirías:
20160126_105733
Pregunta 3: Al momento de buscar alternativas de solución a un problema:
20160126_105937
A partir de ahí empezamos a hacer el análisis de por qué creían, como equipo, que eran temerosos ante el cambio. Luego del análisis obtuvimos varios post-its por los cuales votaron, siendo dos los más votados:  “Nos vamos por lo fácil y conocido” y “Presión de tiempo para mantener la operación”. Luego les hablé un poco de las zonas de control, influencia y preocupación para ver donde ubicarían estos dos ítems, concluyendo que el hecho de irse por lo conocido era algo sobre lo que se podía trabajar como equipo.

CIERRE

Hablamos un rato sobre posibles soluciones a los problemas encontrados y luego les pedí que escribieran en un postit cuál iba a ser su próximo pequeño paso en dirección a ser más abiertos al cambio. Construyeron con esto un plan de mejora (con responsables y fechas), pensando en que fueran accionables concretos y no simple “politiquería” o palabras bonitas.
Y al final, la encuesta de la retro!! 💃
Esta última pregunta la podemos hacer votando con las manos (dedo pulgar hacia arriba, al medio o hacia abajo), o puede ser una pregunta en Pollev. Sea como sea que la hagamos, es una buena práctica preguntar la opinión de los asistentes al final de nuestras reuniones, para identificar oportunidades de mejora que nos permitan aprovechar mejor estos espacios con la gente.
20160126_115722

¿Agilidad o Agilismo?

Desde hace tiempo me surgió la duda sobre si hay una mejor forma de referirnos al movimiento ágil y su filosofía, estado mental, marcos y métodos. ¿Es incorrecto llamarlo agilismo porque no está en el diccionario? ¿Es agilidad la manera como debemos llamarlo?

¿Agilidad o Agilismo?

Empecemos con la fácil. Agilidad es una palabra que encontramos en el diccionario de la lengua española, en donde dice:

agilidad.

(Del lat. agilĭtas, -ātis).

1. f. Cualidad de ágil.

2. f. Rel. Una de las cuatro dotes de los cuerpos gloriosos, que consiste en la facultad de trasladarse de un lugar a otro instantáneamente, por grande que sea la distancia.

Es entonces la cualidad asociada a aquello “Ligero, pronto, expedito“.

Agilismo, en cambio, no está en el diccionario de la Real Academia Española (http://lema.rae.es/drae/?val=agilismo), pero ¿quiere decir eso que la palabra no existe?

Según el Fundéu BBVA los diccionarios no recogen necesariamente toda la familia léxica de una palabra, por tanto puede que exista así no esté en el diccionario. Especifican que: “Tampoco están todas las formas que se pueden derivar de un término: el Diccionario registra casa, pero no megacasa, casita o casaza (aunque sí incluye mega-, -ita y -aza como elementos compositivos).”

Lo que sí encontramos, entonces, es el sufijo -ismo:

-ismo.

(Del lat. -ismus, y este del gr. -ισμός).

1. suf. Forma sustantivos que suelen significar doctrinas, sistemas, escuelas o movimientos. Socialismo, platonismo, impresionismo.

2. suf. Indica actitudes. Egoísmo, individualismo, puritanismo.

3. suf. Designa actividades deportivas. Atletismo, alpinismo.

4. suf. Forma numerosos términos científicos. Tropismo, astigmatismo, leísmo.

Este sufijo puede ser unido a sustantivos (ej. atleta -> atletismo, capital ->capitalismo) y a adjetivos (ej. sensual -> sensualismo, sedentario -> sedentarismo),  para formar otros sustantivos (lo cual se conoce como nominalización).

Me gusta especialmente la parte en la que la definición de diccionario del sufijo habla de “movimientos” y “actitudes”, pues cuando al adjetivo “ágil le agregamos “ismo generalmente queremos referirnos al movimiento que promueve lo ágil o a aquellas actitudes que lo transmiten.

Seguiré entonces usando con tranquilidad ambos términos después de esta mini investigación, pero me gustaría conocer qué otras opiniones tiene la gente sobre el tema. Eso sí, independiente de cómo lo escribamos lo verdaderamente importante es cómo lo vivamos 🙂