Historia de Usuario
Historia de Usuario
¿Qué Son?
Las historias de usuario son descripciones breves sobre los objetivos de negocio que se desean alcanzar. Están expresadas de manera sencilla para definir una tarea concisa que aporte valor al usuario o al negocio. Su propósito es comprender mejor el producto o las nuevas características y, en otras palabras, organizar las ideas.
¿Por qué Utilizar HU?
Las historias de usuario generan ejemplos claros basados en las especificaciones técnicas, los cuales pueden validarse mediante ejemplos proporcionados por el cliente o creados por el desarrollador y previamente aprobados por el cliente.
Cuando se presenta un desarrollo al cliente para su aprobación, se realiza con base en los rasgos definidos en la historia de usuario y en los criterios de aceptación proporcionados por el cliente. El proceso concluye cuando se cumplen las especificaciones acordadas entre ambas partes.
Beneficios de las Historias de Usuario
-
Potencian la participación del equipo en la toma de decisiones.
-
Se crean y evolucionan a medida que el proyecto avanza.
-
Son peticiones concretas y pequeñas sujetas al tipo de proyecto.
-
Contiene la información imprescindible.
El Proceso para Establecer Historias de Usuario está Compuesto de Partes
-
Tarjeta.
Es una breve descripción escrita en lenguaje sencillo y orientada al objetivo del negocio, que establece lo que se busca lograr desde la perspectiva del negocio. En este apartado, el cliente incluye ejemplos de lo que desea que se realice.
-
Conversación.
Es el diálogo entre los miembros del equipo y el interesado del proyecto para aclarar detalles, resolver dudas y brindar consultoría sobre cómo mejorar el proceso o proponer una mejor solución. Al finalizar, se validan los ejemplos que se utilizarán posteriormente. Cabe destacar que esta etapa es la más importante del proceso.
-
Confirmación.
Al finalizar la etapa de desarrollo, se llevan a cabo pruebas para asegurar que la historia de usuario (HU) se ha completado con éxito. El producto puede ser presentado ante el equipo de trabajo (Team), que es el grupo de profesionales encargados del desarrollo, y el Product Owner (PO), quien es el cliente más interesado y, en muchos casos, representante de los accionistas. El PO actúa como la voz de todos los interesados en los resultados del proyecto.
Modelo INVEST
Las historias de usuario deben seguir el modelo INVEST, que define las características necesarias para escribir una historia de usuario efectiva.
Independiente. Cada historia de usuario debe ser autónoma, sin depender de otras historias, lo cual facilita su planificación y priorización en el desarrollo.
Negociable. La historia de usuario debe ser flexible y abierta a discusión. Los detalles se expanden a través de conversaciones y se documentan en los escenarios.
Valiosa. Debe aportar un valor claro al usuario o negocio, siendo significativa en el contexto del producto.
Estimable. El equipo debe ser capaz de estimar el esfuerzo requerido para la historia de usuario con la información disponible.
*Pequeña(small). Idealmente, la historia de usuario debería ser pequeña en términos de esfuerzo y tiempo para su implementación.
Testeable. La historia de usuario debe poder ser probada para verificar que cumple con los criterios de aceptación y que se ha completado satisfactoriamente.
¿Cómo Escribir las HU?
Título
Breve texto que da un acercamiento puntual al tema.
Antes de avanzar, responde estas tres preguntas en máximo 15 palabras cada una en una hoja o cuaderno:
- ¿Qué es lo que se quiere hacer?
- ¿Qué rol jugará la persona que estará inmersa en el proceso?
- ¿Con qué objetivo, para mi negocio, busco implementar esta característica?
Estas respuestas te ayudarán a definir claramente el propósito y valor de la implementación.
Descripción
En la tarjeta, resumiremos las respuestas a las preguntas anteriores. El objetivo es centrarse en el qué y el por qué, sin detallar el cómo.
Para estructurar este apartado, utilizaremos la siguiente fórmula:
Como [Rol]... Quiero [Funcionalidad]... Para [Beneficio]
Esta fórmula ayuda a enfocarse en el propósito de la historia de usuario, dejando la implementación para etapas posteriores.
Cuerpo
Establecer Escenarios
Al iniciar la historia, es crucial identificar los antecedentes necesarios, que son los datos básicos que servirán como base para desarrollar un esquema de escenario. Un escenario estándar se define a través de ejemplos, y estos pueden requerir información previa, como:
- Datos de usuario
- Valores establecidos de productos
- Restricciones necesarias para probar un escenario específico
Para desarrollar la historia, es esencial identificar todos los escenarios posibles que se pueden presentar al utilizar esta característica. Cada escenario debe ser tratado como un caso de prueba (o caso de uso) independiente para cada función que se desea probar.
Requisitos Esenciales de un Escenario:
-
Número Finito de Pasos: Debe contener un número limitado de pasos, donde cada oración sea única y relevante para la característica.
-
Claridad en la Redacción: Cada paso debe estar escrito en una sola línea, evitando complicaciones innecesarias.
-
Reutilizabilidad: El escenario debe ser reutilizable, incluso si se cambian los valores de los datos de entrada. Esto permite una mayor flexibilidad y eficiencia en las pruebas.
Los Pasos Dentro de Cada Escenario
Los escenarios son el corazón de cada característica, ya que describen, paso a paso, en un lenguaje claro y humano, lo que se debe ingresar y obtener. Se asemejan a una prueba de caja negra, donde se conocen las entradas y salidas, pero no necesariamente el proceso interno que se debe realizar.
A continuación, se presentan un par de ejemplos que pueden ayudarte a estructurar la historia de usuario que necesitas generar.
Ejemplos de Validación
A partir del ejemplo descrito por el cliente, se procede a una etapa de formalización para la creación de pruebas y la validación de los resultados que se desean obtener una vez concluida la etapa de desarrollo.
➔ Característica: Dividiendo Números
A fin de: poder realizar una operación aritmética en el sistema
Siendo: un usuario X
Yo quiero: obtener la división de dos números
Dado que: tengo los siguientes números
numero1 | numero2 | resultado |
---|---|---|
10 | 2 | 5 |
6 .5 | 3.0 | 2 .16 |
24 | 8.0 | 3.0 |
Ejemplo 1
Escenario 1: dividir 2 números enteros
Dado que: tengo el numero [numero1]
Y: tengo el numero [numero2]
Cuando: los divido
Entonces: espero que el resultado sea [resultado]
Ejemplo 2
Escenario 2: dividir 2 números enteros decimales
Dado que: tengo el numero [número1]
Y: tengo el numero [número2]
Cuando: los divido
Entonces: espero que el resultado sea [resultado]
Ejemplo 3
Escenario 3: dividir 1 números entero y un decimal
Dado: que tengo el numero [numero1]
Y: tengo el numero [número2]
Cuando: los divido.
Entonces: espero que el resultado sea [resultado]