Foto de Kaleidico en Unsplash |
En general, las historias de usuario son hipótesis hasta tanto el producto resultante de aquellas se encuentre en manos de los usuarios quienes finalmente “emitirán” un veredicto al respecto. Es por ello por lo que hacemos entregas iterativas e incrementales, para poder adaptarnos a medida que esas sentencias emergen. Es posible que unas veces acertemos, pero es posible que otras veces no.
Ahora bien, el desarrollo basado en hipótesis (HDD por
sus siglas de inglés de Hypothesis-Driven Development) es un método de
prototipo que permite a los diseñadores de productos desarrollar, probar y elaborar
un producto hasta que sea aceptable para los usuarios. Es una medida iterativa
que explora los supuestos definidos durante la iniciativa e intenta validarlos
con la retroalimentación de los usuarios. Y este es el principal beneficio de
HDD.
También posibilita que se reduzca el tiempo y los
recursos asociados con los procesos de desarrollo tradicionales. Además, la
naturaleza iterativa del proceso permite una mejor comprensión de las
necesidades y preferencias del usuario, lo que puede ayudar a garantizar que el
producto satisfaga las necesidades del cliente.
El proceso de desarrollo basado en hipótesis incluye
cinco pasos principales:
1. Definir
el problema: identificar el problema que necesita ser resuelto antes de
comenzar el proceso de desarrollo.
2. Formular
la hipótesis: enunciar suposiciones e hipótesis que puedan ayudar a resolver el
problema.
3. Desarrollar
un prototipo: elaborar un prototipo basado en las hipótesis formuladas.
4. Probar
el prototipo: validar el prototipo con usuarios reales y recopilar su
retroalimentación.
5. Iterar:
iterar el prototipo en función de la retroalimentación y volver a probar hasta
que satisfaga las necesidades del usuario.
No voy a entrar en detalles de cada uno de estos pasos
del método. Lo que sí haré es ilustrarlos con un par de ejemplos antes de ir
directamente al tema principal que nos convoca: las historias de usuario
basadas en hipótesis.
Ejemplo 1 de
HDD:
Problema: un motor de
búsqueda no proporciona los resultados más precisos.
Hipótesis: Al mejorar los
algoritmos utilizados para buscar, se proporcionarán resultados más precisos.
Prototipo: desarrollar un
nuevo algoritmo que pueda buscar mejor a través del texto.
Prueba: hacer pruebas del nuevo
algoritmo con usuarios que hayan buscado en el pasado y recopilar la
retroalimentación de estos sobre la precisión de los resultados.
Iterar: tener en cuenta la
retroalimentación dada para refinar el algoritmo y volver a probar hasta que
los resultados sean lo suficientemente precisos para las necesidades de los
usuarios.
Ejemplo 2 de
HDD:
Problema: una tienda de ropa
no tiene artículos para clientes de tallas grandes.
Hipótesis: al ofrecer ropa
elegante y de moda para clientes de tallas grandes, la tienda atraerá a una
base más grande de clientes.
Prototipo: desarrollar una
línea de ropa elegante y de moda para clientes de tallas grandes.
Prueba: probar la línea de ropa
con clientes de tallas grandes para obtener retroalimentación sobre el ajuste,
el estilo, la calidad y el precio.
Iterar: usar la retroalimentación
dada para refinar la línea de ropa y volver a probar hasta que los productos
satisfagan las necesidades de los clientes.
Entran las historias
de usuarios con el enfoque HDD
Historia # 1
Veamos un par de historias de usuario en la forma
clásica:
Como cliente de tallas grandes,
Quiero poder encontrar ropa elegante y a la moda que me
quede bien,
Para sentirme tan seguro y elegante como cualquier otra
persona.
Hipótesis: al ofrecer ropa
elegante y de moda para clientes de tallas grandes, la tienda de ropa atraerá a
una base más grande de clientes.
Historia # 2
Como estudiante,
Quiero poder encontrar fácilmente fuentes confiables de
información para fines de investigación,
De modo que pueda encontrar rápidamente respuestas
precisas a mis preguntas.
Hipótesis: al mejorar los
algoritmos utilizados para la búsqueda, se suministrarán resultados más
confiables y precisos.
Vamos a darle un giro a estas historias de usuario con el
enfoque HDD, es decir, representar la historia como una hipótesis. Para ello,
usaré la forma:
Creemos que <esta
capacidad>
Dará como resultado
<este resultado>
Tendremos confianza para proceder cuando
<veamos esta señal medible>
Historia # 1
Creemos que ofrecer ropa
elegante y de moda para clientes de tallas grandes dará como resultado
una base más grande de clientes para la tienda de ropa. Tendremos
confianza para proceder cuando observemos un aumento de clientes en un
15 % y de ventas en un 25 %.
Criterios de aceptación:
·
La tienda debe ofrecer una gama de ropa elegante
y de moda para clientes de talla grande.
·
La ropa debe quedarles bien a las clientes de
talla grande.
·
La ropa debe ser de calidad superior.
·
El precio de la ropa debe ser razonable.
Historia # 2
Creemos que mejorar los
algoritmos utilizados para buscar
Dará como resultado resultados
más confiables y precisos.
Tendremos confianza para proceder cuando observemos
una mejora en los resultados de búsqueda.
Ahora, escribe algunos Criterios de Aceptación de estas
historias de usuario
Criterios de aceptación:
·
El motor de búsqueda debe ser capaz de buscar
con precisión a través del texto.
·
Los resultados deben ser lo más precisos
posible.
·
La búsqueda debe ser rápida y eficaz.
·
La búsqueda debe proporcionar una gama de
resultados que sean relevantes para la consulta.
Ahora, veamos algunas historias de usuario con este
enfoque HDD de una aplicación tipo “Netflix”:
Creemos que ofrecer recomendaciones de contenido personalizado
Dará como resultado usuarios más comprometidos.
Tendremos confianza para proceder
cuando veamos un aumento del 17 % en la participación de
los usuarios.
Criterios de aceptación:
·
La aplicación debe proporcionar
recomendaciones de contenido personalizadas basadas en los hábitos de
visualización del usuario.
·
Las recomendaciones deben ser pertinentes y
precisas.
·
El usuario debe poder ver fácilmente el
contenido recomendado.
Creemos que brindar una experiencia de visualización optimizada
Resultará en una mejor experiencia para el usuario.
Tendremos confianza para proceder
cuando observemos un aumento en la satisfacción del
usuario.
Criterios de aceptación:
·
La aplicación debe proporcionar una
experiencia de visualización optimizada.
·
El usuario debe poder encontrar y ver
contenido fácilmente.
·
El tiempo de carga debe ser rápido.
·
La interfaz de usuario debe ser intuitiva y
fácil de usar.
Una breve
explicación de este enfoque
HDD es una forma específica de describir historias
de usuario que incluye tres elementos clave:
1. Creemos en <esta capacidad>: este elemento describe la capacidad o
función en la que se centra la historia de usuario. Define lo que la historia
de usuario está tratando de lograr desde un punto de vista funcional o técnico.
2. Dará como resultado <este resultado>: este elemento describe el resultado
esperado o el beneficio de la capacidad o característica descrita en el primer
elemento. Define qué problema está tratando de resolver la historia de usuario
y qué valor aportará al usuario.
3. Tendremos confianza para proceder cuando <veamos esta señal
medible>: este elemento define una señal medible que indicará que se
ha logrado el resultado esperado. Este es un aspecto clave de la forma HDD de
representar historias de usuario, ya que garantiza que el éxito de esta se
pueda medir y rastrear.
El formato HDD es una forma efectiva de escribir
historias de usuario porque garantiza que cada historia de usuario está
claramente definida y tiene un propósito específico. Este modelo ayuda a
garantizar que todos los interesados comprendan claramente el problema que la
historia de usuario intenta resolver, el resultado esperado de la solución y la
señal medible que indicará el éxito. Esto puede ayudar a garantizar que el producto
se entregue a tiempo, dentro del presupuesto y a satisfacción de todos los
interesados y consumidores.
Algunos beneficios que he comprobado al usar este modelo
incluyen:
1. Claridad:
este modelo ayuda a definir claramente el problema que la historia de usuario
está tratando de resolver y el resultado esperado de la solución. Esto puede
facilitar que todos los interesados y comprometidos entiendan el propósito de
la historia de usuario y cómo encaja en el producto general.
2. Alineación:
al establecer claramente el problema y el resultado esperado, esta forma puede
ayudar a garantizar que todos estén alineados con el objetivo de la historia de
usuario. Esto puede ayudar a reducir la confusión y garantizar que todos
trabajen hacia el mismo objetivo final.
3. Medición:
el modelo permite definir una señal medible que indique el éxito de la historia
de usuario. Esto puede ayudar a determinar si la solución final es exitosa, es
decir, la hipótesis era cierta y si se ha logrado el resultado esperado.
4. Priorización:
el modelo facilita la priorización de historias de usuarios al tener una
comprensión precisa del problema y del resultado que todos quieren. Esto puede
ayudar a garantizar que las historias de usuarios más importantes e impactantes
se aborden primero.
5. Comunicación:
esta forma de historia de usuario proporciona una forma clara y concisa de comunicar
la historia del usuario a todos los interesados, los miembros del equipo y
otras personas involucradas en el desarrollo del producto. Después de todo, lo
más importante siguen siendo las conversaciones que se tengan alrededor de la
historia de usuario. Esta es una manera más de iniciar y mantener esas
conversaciones.
Algunos ejemplos
adicionales
En la forma clásica:
Como cliente,
Quiero poder pagar mis compras con mi tarjeta de crédito
Para poder tener más flexibilidad en mis pagos.
En forma de hipótesis:
Creemos que proporcionar a los clientes la capacidad de
pagar sus compras con su tarjeta de crédito
Dará como resultado que los clientes tengan más
flexibilidad en sus pagos.
Tendremos confianza para proceder cuando al menos el 70 %
de los clientes opten por pagar con su tarjeta de crédito.
En la forma clásica:
Como empleado de una empresa de logística,
Quiero poder rastrear la ubicación de nuestra flota en
tiempo real
Para poder tomar decisiones más informadas.
En forma de hipótesis:
Creemos que proporcionar a los empleados de la empresa de
logística la capacidad de rastrear la ubicación de la flota en tiempo real
Dará como resultado que los empleados puedan tomar
decisiones más informadas.
Tendremos confianza para proceder cuando al menos el 75 %
de la ubicación de la flota se actualiza en tiempo real.
En la forma clásica:
Como empleado de recursos humanos,
Quiero gestionar las solicitudes de vacaciones de los
empleados de forma automatizada
Para poder ahorrar tiempo y reducir los errores.
En forma de hipótesis:
Creemos que proporcionar la capacidad para que los
empleados de RR. HH. gestionen las solicitudes de vacaciones de los empleados
de manera automatizada
Dará como resultado que los empleados de RR. HH. brinden un
mejor servicio a los empleados de la compañía.
Tendremos confianza para proceder cuando las solicitudes
de vacaciones se gestionen en menos de 24 horas.
Como puedes ver, el formato clásico proporciona una
descripción general de la historia del usuario. Sin embargo, en forma de hipótesis,
se proporciona una vista más detallada y estructurada de la historia, con un
claro énfasis en el problema, la solución y la medida de éxito.