Historias de Usuario Independientes


Bill Wake, el autor de la definición de las principales características de las Historias de Usuario (INVEST) tiene varios artículos que desgranan cada una de las siglas. En sucesivos Post voy a contar a mi manera estos artículos a fin de seguir profundizando en las Historias de Usuario. El primero trata de la Independencia de las Historias de Usuario (https://xp123.com/articles/independent-stories-in-the-invest-model/).

La importancia de la independencia de una Historia de Usuario parte desde los propios valores ágiles. Uno de los valores ágiles es la respuesta al cambio frente a planes predefinidos. Si hacemos Historias de Usuario dependientes unas de otras corremos el riesgo de arrastrar algo que da valor hoy en el tiempo y es posible que más adelante ya no aporte el mismo valor.

A continuación se presentan los tres tipos de dependencia entre Historias de Usuario más comunes. Es importante tener en cuenta que en este nivel no se contemplan dependencias técnicas. Pueden existir Historias de Usuario independientes las cuales tengan dependencias a nivel técnico. En este caso se seguirán considerando independientes.

Dependencia de Solapamiento

El solapamiento de Historias de Usuario se da cuando dos o más historias abarcan la misma necesidad de negocio. El ejemplo que propone Bill Wake me parece muy sencillo y didáctico.

Pongamos las siguientes Historias de Usuario:
  • "El usuario podrá recibir emails y enviar emails"
  • "El usuario podrá recibir emails y contestarlos". 
En ambas Historias de Usuario se solapa la característica del sistema de recibir emails. Por lo tanto, ambas Historias de Usuario son dependientes porque tienen una característica solapada. Estas Historias de Usuario se podrían escribir de forma independiente de la siguiente manera:
  • El usuario podrá recibir emails
  • El usuario podrá enviar emails
  • El usuario podrá contestar emails

Dependencia de Orden

Muchas veces, sobre todo los técnicos, entendemos lo que debe ser un flujo normal de desarrollo. Siguiendo con el ejemplo, para poder enviar un email primero debemos tener un cuenta. Por ello, a priori lo que se nos puede pasar por la cabeza es que antes de desarrollar el envío de email se tendrá que implementar la gestión de cuentas. 

Sin embargo, en ocasiones lo que realmente aporta valor o más riesgo tiene puede ser el envío o recepción de email. Por lo tanto, puede ser útil crear estos usuarios a mano directamente en el sistema  y centrar el trabajo en crear aquello que aporta valor o puede reducir riesgos que empantanarnos con otros trabajos.

Dependencia de Contención

Para la descripción de un producto disponemos de Temas, EPIC's e Historias de Usuario (tal y como describo en mi post anterior "Historias de Usuario a fondo"). Estos elementos se obtienen de escuchar a los interesados y siempre poniéndonos en el lugar del Rol de Usuario. 

Existen técnicas como el User Story Mapping que nos permite ir de lo general a lo particular para facilitar la recolección de requisitos y su posterior ordenación por versiones. 

Con estas técnicas obtenemos detalle a partir de subdividir un elemento en otros más pequeños. Por ejemplo partiendo de la Gestión de Usuarios podemos dividirlo en Crear Usuario, Ver Usuario, Editar Usuario y Eliminar Usuario. Las últimos Historias están contenidas en Gestión de Usuarios. 

Es muy importante aplicar muy bien las técnicas elegidas para la obtención de los requisitos dado que si nos quedamos a medias corremos un riesgo muy grande. En el caso anterior y suponiendo más EPIC's como el de Gestión de Usuario nos podemos juntar con bastantes Historias de Usuario. Sin embargo, estas Historias de Usuario no están prioridades por valor ni tienen porque estar estimadas. 

Si no se tiene muy presente que, al dividir Temas en EPIC's y EPIC's en Historias de Usuario, éstas no están priorizadas corremos el riesgo de empezar a trabajar con las Historias de Usuario de una EPIC y después con la de la siguiente. Sin embargo, muy probablemente este orden no sea el que más valor aporte al producto.

Un abrazo a tod@s,

Comentarios

Entradas populares