Buscar en Gazafatonario IT

Mostrando las entradas con la etiqueta Historias de usuario: una visión pragmática. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Historias de usuario: una visión pragmática. Mostrar todas las entradas

domingo, julio 25, 2021

Qué hay de "usuario" en las historias de usuario



Estamos en la era de la hiperpersonalización de productos y servicios, cada usuario, cada consumidor quiere tener su propia experiencia de consumo, de uso, de aplicación y eso ocurre a cualquier nivel, en cualquier escenario.

Entonces nos toca proporcionar productos y servicios altamente direccionados, envolventes y únicos para nuestros usuarios. Y esto comienza con cada componente del producto haciendo resonancia con los demás, para que el producto en pleno pueda ser percibido como único por sus consumidores. Esta es la manera cómo construyes relaciones más fuertes con tus clientes y usuarios.

En mi primer curso de ingeniería de software en la universidad, hace ya varias décadas aprendí algo que todavía hoy sigue vigente, pero cuya práctica se extravió en pro del seguimiento rígido a los procesos y metodologías que vinieron después: “mira al usuario en acción”. Qué hace, cómo lo hace, con quién intercambia información, qué información intercambia, a quién beneficia, qué problemas resuelve, cuáles son sus principales vicisitudes, entre otras, son algunas de las cuestiones que debes indagar para conocerlo mejor.

El apellido “de usuario” no es gratuito en las historias de usuario. Para empezar, concentrarte primero en el usuario, antes de en cualquier otra cosa de su historia, te permitirá trabajar en una estrategia de producto hacia esa hiperpersonalización exigida por los consumidores actuales para que tengan su experiencia diferenciada.

Para lograrlo tienes que practicar y fomentar una cultura de “el cliente sentado en la mesa”, pero también de ir a verlo actuando en el gemba*, el suyo, para que puedas entender a fondo sus necesidades y los escenarios en los que se desenvuelve día tras día. Es de esta forma cómo podrás:

·       Conocer su problema, incluso el problema detrás del problema, la causa raíz;

·       Identificar sus canales de comunicación preferidos;

·       Emplear un lenguaje más apropiado a sus características;

·       Generar las hipótesis de cómo el producto puede favorecerlo en la resolución de problemas;

·       De qué forma se podría arruinar su experiencia como usuario o consumidor.

Entre muchos otros aspectos de su cotidianidad.

En mi User Story Conversation Canvas ya mencionaba que el primer paso en la construcción de productos grandiosos es identificar y entender a los consumidores y usuarios. Son actividades basadas en entrevistas, observación e investigación. Hay personas que son primarias al producto o a la historia de usuario en particular, otras son secundarias e incluso otras son suplementarias.

Figura 1: Un ejemplo de User Story Conversation Canvas para la historia de usuario “acceder primero a los libros de mi interés”. Clic en la figura para ampliar.

Entre las primeras encontramos a los usuarios finales de la historia de usuario o a los consumidores del producto. Encargados como un Product Owner o un Product Manager primero, y luego el equipo de trabajo, deben conocer muy bien el perfil de estas personas, los matices personales y profesionales que los identifican, la educación, datos demográficos, sus hábitos e incluso sus motivaciones y comportamientos, lo que les gusta y lo que no. Después de todo desarrollamos productos para seres humanos. Quienes estamos comprometidos en esta tarea debemos sentir que conocemos al usuario, tener empatía con el usuario.

Las personas “secundarias” son quienes tienen algo que decir acerca de la historia de usuario (o del producto o servicio) pero que no lo usan. Pueden ser quienes lo adquieren, quienes imponen una restricción o una regulación, quienes harán la instalación o el mantenimiento, quienes venderán o distribuirán el producto a los usuarios, entre otras. Y las personas “suplementarias” son todas aquellas que de una u otra forma están o se sienten involucradas con la historia de usuario, como patrocinadores del proyecto, la dirección de la organización, representantes de los usuarios y otros interesados.

En resumen, algunos tipos de personas para tener en cuenta en y para la conversación son:

1.     Personas

2.     Usuarios o Consumidores finales

3.     Interesados

4.     Patrocinadores

5.     Equipo de desarrollo

6.     Otros (Legales, externos, etcétera)

7.     Equipo de soporte, Mercadeo, Distribución, Logística, etcétera.

Cuando observamos, entendemos y acordamos entre todos cómo las personas usan o usarán el producto, estaremos en capacidad de:

·      Planificar la accesibilidad al producto desde el principio

·      Desarrollar más rápidamente soluciones de accesibilidad

·      Tomar decisiones informadas entre diferentes opciones y evitar perder el tiempo adivinando o suponiendo o lanzando hipótesis que solo serán eso, hipótesis, hasta tanto el producto no esté en manos de quienes lo van a consumir o a usar

·      Limitar el tener que volver atrás y solucionar problemas, es decir, elaborar el producto correcto desde el principio, no generar desperdicio. Esto es más de pensamiento Lean.

·      Evitar tener que hacer concesiones más tarde porque esperamos demasiado para para conocer mejor al usuario y para abordar las características relevantes del producto.

·      Tener una mejor perspectiva sobre los estándares de uso, las pautas y otros requisitos, que es posible que deba cumplir ahora o más adelante, por ejemplo, si el producto será de uso gubernamental o debe cumplir con ciertas regulaciones.

Todo esto beneficia al equipo de trabajo, incluyendo Product Owner si lo hay, a la media y alta dirección de las organizaciones y a cualquier otro interesado en el desarrollo y puesta en marcha del producto.

User Personas

No en vano, Personas es el primer componente del lienzo para conversar sobre la historia de usuario. Ya desde antes existía este otro instrumento en el que podemos registrar lo que observemos y aprendamos del usuario en acción: se trata del User Persona o simplemente Persona.

Figura 2: un ejemplo de User Persona para registrar el conocimiento que tenemos de un usuario de nuestras historias de usuario. Clic en la figura para ampliar.

En este, podemos registrar aspectos como los de la figura 2:

·      Objetivos del usuario, esto es, las metas que quiere alcanzar o que queremos que alcance en el mediano y largo plazo con el producto

·      Barreras o problemas actuales y posibles problemas futuros

·      Puntos de dolor o necesidades

·      Comportamientos o hábitos del usuario

Y no está demás conocer algunos detalles demográficos y hasta personales del usuario en cuestión, además de ciertos aspectos biográficos que ayuden a conocerlo y, sobre todo, a entenderlo mejor, a ser más empático con esa persona. Incluso, si es alguien conocido, un colaborador de la empresa, bien podemos traer su fotografía y usar sus datos reales, y hasta un lema o declaración de vida, su distintivo o consigna.

Figura 3: otro ejemplo de User Persona para registrar el conocimiento que tenemos de un usuario de nuestras historias de usuario. Clic en la figura para ampliar.

Otros aspectos que bien podrían servir son:

·      Su experiencia ideal

·      La tecnología que usa o las fuentes de información a las que accede habitualmente

·      Por qué quiere usar nuestro producto, de hecho, este aspecto es crucial, deberíamos empezar por allí.

·      Respuestas a la pregunta: ¿qué arruinaría su experiencia usando el producto?

Recomendación final

No me andaré por las ramas: nunca intentes, ni lo sueñes siquiera, empezar a implementar o a desarrollar una historia de usuario de un producto si no conoces quien la usará y por qué. Perentorio.

Conclusión

Involucrar y conocer a los usuarios en las primerísimas etapas del descubrimiento del producto y más tarde, durante el propio desarrollo de este, da como resultado mejores productos para los consumidores, un desarrollo más eficiente y otros beneficios para los interesados y, por supuesto, para los mismos usuarios o clientes.

Y tú, qué haces para conocer a tu usuario. Por favor, déjamelo saber en el foro.

 

Quieres saber más

* Gemba |現場|' es un término japonés que significa "en el sitio de acción" o en la “escena del crimen". En negocios, Gemba se refiere al lugar donde se crea "valor"; en fabricación Gemba es el piso de la fábrica y en ventas es el área de ventas o el lugar donde el proveedor de servicios interactúa directamente con el cliente.1

Más sobre el User Story Canvas en:

El libro Historias de usuario: una visión pragmática:

https://luchosalazar.com/portfolio/historias-de-usuario-una-vision-pragmatica/

O en:

http://www.gazafatonarioit.com/2017/05/the-user-story-conversation-canvas.html

Más sobre historias de usuario en:

bit.ly/lashistoriasdelucho

Y en octubre, una nueva edición del curso User Stories FoundationCertificatedonde te contaré de mis experiencias en este y otros asuntos sobre lo esencial de las historias de usuario.

Encuentras más información en:

https://luchosalazar.com/portfolio/nuevo-curso-historias-de-usuario/

¡Te espero!


Créditos

Imagen de la portada por Gerd Altmann en Pixabay.



domingo, agosto 23, 2020

El extraño caso de las historias de usuario técnicas

 

Photo by fauxels from Pexels

Nota: la versión en inglés de este artículo en:

https://luchosalazar.com/2020/08/25/the-strange-case-of-technical-user-stories/

Advertencia

La atención continua a la excelencia técnica y al buen diseño mejora la agilidad”.

[Manifiesto por el desarrollo ágil de software]

Cuando Kent Beck llegó con la idea de las historias de usuario como parte del juego de planificación de eXtreme Programming (XP Planning Game), no imaginó el impacto que esa idea tendría en el desarrollo de software y, por extrapolación, en el desarrollo de productos, varios años después; fue como un “efecto mariposa”. De hecho, al principio solo las describió como algo con lo que los clientes definen el alcance del proyecto "con historias de usuarios, que son como casos de uso". Pueden encontrar más sobre esto en “La historia de las historias de usuario”.

Pero una de las prácticas que ha perdurado hasta nuestros días es esta de querer expresar todo como una historia de usuario. En la práctica, esto es posible. Ya que las historias de usuario se pueden representar de infinitas formas. En el libro Historias de usuario: una visión pragmática, que escribimos con Jorge Abad, quien también  me compartió algunas de sus ideas para este artículo, hablamos precisamente de algunos de los modos de representación de las historias de usuario, incluyendo el User Stories Conversation Canvas, un lienzo para mantener y registrar conversaciones sobre estos elementos del backlog de producto.

Sin embargo, hay algunas cosas que definitivamente no son historias de usuario. El “apellido”, ese “de usuario” está allí por una razón muy importante que ni siquiera el mismo Kent Beck imaginó al comienzo. Él hablaba de “stories”, simplemente historias: estas se ven, se perciben, se entienden, se describen desde el punto de vista de quien las va a usar una vez estén implementadas o de quienes las van a consumir una vez hagan parte de los productos o servicios que se desarrollen usando esta técnica.

Las cosas así, cuando se trata de software, las llamadas historias técnicas no son una buena idea. ¿Quién es el usuario de “quiero integrar la IA de Google para hacer la traducción del texto”? ¿O de “quiero optimizar la base de datos para acelerar las consultas”? Pero sí es posible saber quién es el usuario de “quiero traducir un texto para entenderlo mejor” y de “quiero consultar la información del cliente” con la condición de que el resultado de la consulta se presente en menos de dos segundos.

Es un hecho, representar algo en forma de historia de usuario cuando no se trata de usuarios-personas del sistema es un error. Hay mejores formas de documentar o registrar este otro tipo de actividades “internas” de un sistema. Una de ellas es precisamente poniéndolas en su lugar como tareas que el equipo debe realizar para lograr finalmente algo de valor para el usuario-persona a través de una o varias historias de usuario. Pensemos en historias de usuario como “historias de persona”. Quizás esto nos ayude a entender la diferencia.

Una de las formas de saber si algo es una “historia de usuario-persona” o no, es cuando al mantener conversaciones con los representantes del negocio, por ejemplo un Dueño de Producto, estas conversaciones fluyen naturalmente y la fuente de información casi siempre es ese representante del negocio. Pero si este empieza a preguntar por términos o expresiones técnicas que emergen en el diálogo y el equipo de desarrollo tiene que dar explicaciones intrincadas que no son del dominio de aquel, entonces quizás hemos traspasado el plano del valor o beneficio de la historia para los usuarios a uno del dominio del equipo técnico.

Photo by fauxels from Pexels

Tenemos que hacer un left outer join seguido de una eliminación de duplicados” es algo con lo que perdemos a los usuarios. “Diariamente hacemos refactoring del código y luego lo integramos con el del resto del equipo usando Bamboo o Jenkins”, mientras “automatizamos los escenarios de prueba usando behaviour-driven development” y “consumimos el web service de [INSERTA AQUÍ TU PROVEEDOR DE WS FAVORITO] para conocer el valor del dólar minuto a minuto”, son conversaciones clásicas que dejarán en ascuas a un Dueño de Producto o a cualquier otra persona de las áreas del negocio.

Y no, no es porque usamos los términos en inglés. Aun en español van a sonar muy extraños a los usuarios. Más, cuando muchas de esas expresiones no tienen un equivalente apropiado en nuestro idioma o, en la vida cotidiana, significan algo totalmente distinto para el común de las personas:

¿Una “combinación externa por la izquierda”? – ¿A qué estará jugando?

¿“Desarrollo conducido por comportamiento”? – ¿Estará hablando de que su comportamiento en la empresa lo tiene a prueba?

¿Y mi consulta de los datos del cliente?”, preguntan con los ojos bien abiertos y con esa expresión de desánimo que solo significa que no están recibiendo lo que quieren y que incluso los lleva a pensar que los miembros del equipo no han entendido del todo lo que los usuarios necesitan. Por lo general, es una combinación de ambos. El asunto se pone más grave si alguien del equipo intenta explicar con mayor detalle lo que significa todo ese galimatías* técnico o trata de justificar con ello los tiempos estimados de desarrollo. A estas alturas es a todas luces evidente que se requiere la presencia de un facilitador, coach, Scrum Master o similar, para abortar la conversación y llevarla por otro camino.

Finalmente, no entendamos las historias de usuario-persona o las historias de persona como aquellas que solo abordan el “front-end” o la experiencia del usuario, de la persona. No. Toda historia de usuario tiene componentes “verticales” que van desde la forma cómo se comunica una persona con el sistema, hasta cómo se almacena y se procesan los datos que intercambia esa persona con el sistema o el entorno: base de datos, servicios, lógica del negocio, presentación, etcétera.

Más sobre cómo conducir conversaciones con historias de usuario en nuestra serie de historias de usuario altamente efectivas:

http://www.gazafatonarioit.com/p/la-serie-historias-de-usuario-efectivas.html

Y todavía mucho más en el libro Historias de usuario: una visión pragmática.

Llamado a la acción

Separemos explícitamente las historias de usuario, las de valor para el negocio, usuarios o clientes, de las tareas del equipo y de los componentes “internos” del sistema (producto) con los que se logra obtener ese valor o beneficio. Como agentes de cambio, asegurémonos de que los miembros del equipo desarrollen habilidades y destrezas en el dominio del negocio, ayudándolos a ellos y a los Dueños de Producto e interesados a mejorar las interacciones entre unos y otros mediante la conversación continua, ojalá cara a cara (¡en 2020 encendamos la cámara!) y a que no todo tiene que ser una historia de usuario, al menos no representadas de la misma manera.

Conclusión

Si en la conversación sobre una historia de usuario es el Dueño de Producto quien termina interrogando al equipo para aclaraciones y no al contrario, quizás el diálogo no sea realmente sobre la historia de usuario.

Epílogo

*Usé intencionalmente la expresión “galimatías”, quizás poco conocida, pero que tiene un lugar en mi Gazafatonario, para dejar la sensación en el ambiente de lo que percibe o siente un usuario final cuando lo confundimos con tecnicismos propios del desarrollo de software.

galimatías

Del fr. galimatias 'discurso o escrito embrollado', y este del gr. κατὰ Ματθαῖον katà Matthaîon 'según Mateo', por la manera en que este evangelista describe la genealogía que figura al comienzo de su evangelio.

1. m. coloq. Lenguaje oscuro por la impropiedad de la frase o por la confusión de las ideas.

2. m. coloq. Confusión, desorden, lío.

Real Academia Española © Todos los derechos reservados

miércoles, abril 22, 2020

La historia de las historias de usuario


Ejemplo de una historia de usuario de Kent Beck. Fuente: Extreme Programming Explained, de Kent Beck
Brevísima historia detrás de la historia de las historias de usuario

Durante un entrenamiento a entrenadores de historias de usuario, hace poco nos preguntaban a Jorge y a mí sobre el origen de las historias de usuario. Por alguna razón olvidada para mí, en el libro omitimos ese pequeño detalle, aunque mencionamos a Connextra cuando hablamos de la forma más usual que suelen tomar las historias de usuario:

Como rol deseo característica Para beneficio

Bueno, aquí les escribo lo que les contamos a los entrenadores:

La historia de las historias de usuario

No es la primera vez que nos preguntan y durante todos estos años, he visto a mucha gente en las redes sociales hacer lo mismo. Por ejemplo, me encontré con este tuit de Seb Rose en octubre de 2019:


Hola, historiadores de Scrum, tengo algunas preguntas:
- Las historias de usuarios comenzaron con XP, documentadas por primera vez en el '98. ¿Es eso cierto?
- Sutherland ejecutó el primer proyecto Scrum en el '93. ¿Usaron historias (o similares)?
- Las historias de usuario ahora están integradas en la práctica de Scrum. ¿Cuándo sucedió eso?
Hay todo un hilo de respuestas. Entre estas, una de Mike Cohn, quien fue convocado por algunos otros tuiteros:

Rachel Davies escribió sobre esto en un artículo. Luego escribí sobre eso en mi libro.
Se refería a ese formato que él mismo popularizó en su libro sobre historias de usuario.
Por supuesto, la intervención de la misma Rachel Davies no se hizo esperar:

Tuve conversaciones con @mikewcohn en la XP2001 donde presenté un póster que incluía la plantilla de la historia de Connextra y fui revisora de su libro sobre Historias de usuario. Él fue influenciado por XP en ese momento ya que el libro de Scrum acababa de salir.
Ya en 2014 había tenido la oportunidad de conocer sobre Rachel Davies vía una versión cruda y sin editar del libro User Story Mapping de Jeff Patton.

En el libro, Patton muestra una fotografía de su amiga:

Rachel Davies mostrando una tarjeta de historia.
Fuente: User Story Mapping by Jeff Patton, Peter Economy

Sobre el origen de las historias de usuario y de sus formas

Es bien conocido que las Historias de usuarios se originaron con eXtreme Programming (XP). Lo que es poco conocido es que su primera descripción escrita en 1998 solo afirma que los clientes definen el alcance del proyecto "con historias de usuarios, que son como casos de uso".

En lugar de ofrecerse como una práctica distinta a XP, se describen como una de las "piezas del juego" utilizadas en el "Juego de Planificación” (Planning Game) del mismo XP.

Recordemos que eXtreme Programming (XP) fue desarrollada por Kent Beck en 1996 y a partir de allí la refinó hasta publicarla en su libro Extreme Programming Explained en 1999.

De hecho, Jeff Patton indagó con el mismísimo Kent sobre el origen específico de las historias de usuario:
Lo que estaba pensando era en la forma en que los usuarios a veces cuentan historias sobre las cosas nuevas y geniales que hace el software que usan. [Por ejemplo,] Si escribo el código postal y se completa automáticamente la ciudad y el estado sin tener que tocar un botón.
Creo que ese fue el ejemplo que desencadenó la idea. Si puedes contar historias sobre lo que hace el software y generar interés y visión en la mente del oyente, ¿por qué no contar historias antes de que lo haga el software?
- Kent Beck a Jeff Patton, por correo electrónico personal, agosto de 2010

Figura 7. Ejemplo de Tarjeta de Historia

Fuente: Extreme Programming Explained, by Kent Beck

En el libro, Beck no dice mucho sobre las historias, hacen parte de las prácticas primarias, junto con otras que conocemos ampliamente como Pair Programming, Continuous Integration y Test-First Programming, sí, esa que a la postre se convertiría en la Test-Driven Development de hoy, entre algunas otras. Sobre las historias (que aún no eran “de usuario”), Kent enfatiza:
“Escribe las historias en fichas y colócalas en una pared por la que pases con frecuencia. La Figura 7 es una tarjeta de muestra de una historia que deseo que implemente mi programa de escáner. Cada intento que he visto de informatizar historias ha fallado en proporcionar una fracción del valor de tener cartas reales en una pared real. Si necesitas informar el progreso a otras partes de la organización en un formato familiar, traduce las tarjetas a ese formato periódicamente”.
Fuente: Extreme Programming Explained, by Kent Beck
La advertencia de registrar las historias en herramientas ya venía desde entonces. Recordemos que XP, junto a Scrum, eran los dos marcos de trabajo dominantes cuyos autores estuvieron presentes en la declaración del Manifiesto Ágil.

Más adelante, en 2001, Ron Jeffries propone el modelo de Tarjeta, Conversación, Confirmación, para distinguir historias de usuarios "sociales" de prácticas de requisitos "documentales", como los casos de uso. Pueden leer su artículo en:


Como nota tangencial, este modelo lo llamamos aliteración Carta, Conversación, Confirmación en nuestro libro de historias de usuario.

Ese mismo año, 2001, Rachel Davies presentó su charla "Tuning XP" en el XPDay con Tim Mackinnon, donde presentaron el formato de historia que usaban en Connextra:

"As a role I want feature so that benefit"


Años más tarde, en 2006, Davies reflexionaba sobre esta “plantilla” antes de dar a conocer sobre un ejercicio que usó en uno de sus entrenamientos. Ella decía que:
“Este formato puede llevar a las personas a centrarse más en los intereses de los usuarios finales que en la perspectiva de la persona que presenta el caso de negocio. Además, cuando se les da una plantilla, las personas pueden comenzar a tratar las tarjetas de historias escritas de esta manera como especificaciones de requisitos mínimos que se centran en las palabras escritas en lugar de usar historias como herramientas para conducir una conversación. Peor aún, las historias que no se ajustan a esta forma serán maltratadas hasta que lo hagan”.

Rachel tiene razón. Esta es una de las grandes anomalías o antipatrones que hoy por hoy siguen presentándose con el uso de las historias de usuario y por ello insistimos tanto a lo largo y ancho de nuestro libro que las historias de usuario son un instrumento de conversación y de colaboración.
Pero no nos desviemos de nuestra historia.

En 2003, Bill Wake creó el mnemotécnico INVEST para iniciativas ágiles de desarrollo de software, como un recordatorio de las características de un elemento de Product Backlog de buena calidad.

Según el mismo Wake este elemento, PBI para abreviar,  puede escribirse comúnmente en forma de historia de usuario, pero no es obligatorio. Como sabemos estos PBI se pueden usar en un Product Backlog tipo Scrum, en un tablero Kanban o un proyecto XP.

En 2004, Mike Cohn publica su libro: User Stories Applied: For Agile Software Development, donde ayuda a popularizar el formato de Davies y su equipo en Connextra. En el hilo de Seb Rose alguien le dice a Mike que fue él (Cohn) quien popularizó el formato, además de los puntos de historia y de la velocidad, ampliamente usados con Scrum. Mike lo corrige:

He contribuido a la popularidad de ellos pero no originé ninguno.
Y todo ello nos trajo hasta aquí.

Epílogo

En lo personal, me parece una historia fantástica. Una a la que hemos asistido en nuestro tiempo. Tardé en empezar a usar historias de usuario pero cuando llegué a ellas hará unos ocho o nueve años, me ayudaron a derrumbar los antiguos paradigmas con los que venía trabajando hasta entonces.

Y en el futuro me gustaría que alguien hablara de mi Lienzo para Conversar sobre Historias de Usuario como parte de la historia de las historias de usuario. Por eso quise terminar la historia a nuestros entrenadores con esta parte:

En 2018, Jorge Abad y Lucho Salazar publican finalmente su libro: Historias de usuario: una visión pragmática, que incluye el User StoriesConversation Canvas, un lienzo para que los usuarios, Dueños de Producto, Gerentes de producto y otros interesados mantengan conversaciones efectivas con los miembros de los equipos de desarrollo de productos y se construyan productos o servicios extraordinarios.
Fuente: ¡conversaciones con Jorge y Lucho!

Fin de la Historia de las Historias de Usuario

Referencias

Además de las fuentes explícitas, pueden consultar algunas otras para saber más sobre esta genial historia: