Fundamentos de Historias de Usuario USFC
Fundamentos de Historias de Usuario USFC
Introducción
Introducción
Las historias de usuario permiten a los equipos virtuosos construir los productos correctos (Lean),
incluso antes de pensar en hacerlo de la manera correcta (Ágil).
11
USER STORIES FOUNDATIONS CERTIFICATE USFC
12
Historias de Usuario: Un Nuevo Orden en los Requisitos
Historias de Usuario:
Un Nuevo Orden en los
Requisitos
13
Historias de Usuario: Un Nuevo Orden en los Requisitos
¡Las historias de usuario no son requisitos de software o de otro producto!
Definición de Producto
“Un producto es un vehículo para entregar valor. Tiene un límite claro, personas interesadas conocidas,
usuarios o clientes bien definidos. Un producto puede ser un servicio, un producto físico o algo más
abstracto”.
Como Vendedor
Quiero Afiliar a una persona al banco
Para Ofrecerle productos y servicios de la entidad
14
Hola, soy Carmen, profesional joven recién graduada y acabo de conseguir mi primer empleo.
Quiero convertirme en cliente de una entidad financiera para tener oportunidades y alternativas de
ahorro y crédito que potencien mi desarrollo personal y profesional.
15
Algunas Características de las Historias de Usuario
16
La Magia de las Historias de Usuario
La Magia de las
Historias de Usuario
17
La Magia de las Historias de Usuario
La simpleza de las Historias de Usuario obliga al equipo a estar en comunicación con el Dueño de
Producto. Durante el refinamiento y en la planificación, el equipo pregunta al Dueño de Producto el
detalle de lo que quiere y lo que espera.
Una historia de usuario no estará finalizada hasta que cumpla todos sus escenarios y cumpla todos
los criterios de Aceptación.
01 criterios de
aceptación y de
pruebas (ya sean
03 certificada por el
equipo +
fue aceptada por
Funciones estas, manuales o
automatizadas).
Despliegue el Dueño de
Producto.
Cumplir los
aspectos
02 Desplegado y
funcionando en
un ambiente
04
funcionales.
Condiciones determinado. Aceptación
2 No quedan escenarios sin probar, pues estos se explican en los criterios de aceptación.
3 Lo que está por fuera de los criterios de aceptación se convierte en una nueva historia
y se le asigna prioridad.
4 Se puede olvidar: no nos tenemos que volver a preocupar por ella pues el desarrollo
orientado a casos de prueba garantizará que no quedaron escenarios por cubrir.
18
Historias de Usuario y Agilidad
19
Cómo Luce una Historia de Usuario
20
Representar en vez de escribir Historias de Usuario
Forma “Clásica”
Criterios de Aceptación:
1. Que pida los datos de la empresa.
2. Que pida el NIT (identificador único nacional para las empresas) y lo valide.
3. Que pida salario actual.
4. Que pida fecha de ingreso a la empresa.
5. Que pida tres comprobantes de pago.
21
La Conversación sobre la Historia de Usuario
Conversación
Como fruto de una conversación puede resultar que se actualicen los criterios de aceptación o solo que
se deje el registro aclaratorio.
Todo lo que quede registrado de esta conversación, se debe tener en cuenta al momento de
implementar o desarrollar la historia de usuario
22
Yo como usuario de Facebook 7. Las imágenes cargadas se bajarán a
Deseo / Quiero / Necesito poner comentarios a resolución de 300K.
las diferentes publicaciones 8. Dentro de los comentarios se podrá ingresar
Para interactuar con mis contactos, grupos y un sticker.
páginas. 9. Dentro de los comentarios se podrá ingresar
un GIF.
Criterios de Aceptación: 10. Cuando se ingrese el comentario y este
contenga palabras ofensivas se enviará una
1. Se podrán dejar comentarios de máximo notificación al robot de validación de acoso.
2048 caracteres. 11. Los comentarios serán en texto plano.
2. Dentro del comentario se podrán ingresar 12. Antes de que se escriba el comentario
todos los emoticones que se deseen hasta aparecerá según el boceto proporcionado.
un total de 2048. 13. Cuando se publique el comentario aparecerá
3. Dentro del comentario se podrán ingresar la foto de quien publica, el comentario, la
links a otras páginas de internet. imagen, los emoticones y sticker publicados.
4. De los links se pondrá previas de la página
web.
5. Solo se pondrá las previas del primer link.
6. Dentro del comentario se podrán insertar
una imagen.
Historia de usuario
Soy Nancy. Ama de casa. Jubilada hace muchos años. Quiero hacer una transferencia de dinero a mi
nieta sin tener que ir al banco. No quiero exponerme a un contagio y ya no tengo fuerzas para esperar
de pie haciendo largas colas. Y quiero dedicar mi tiempo a otras labores de la casa.
Debe ser fácil de realizar porque no soy experta en el uso de estos dispositivos.
23
Historia de las Historias de Usuario
24
Las Historias de usuarios se originaron con Extreme Programming (XP).
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, se describen como una de las "piezas del juego"
utilizadas en el "juego de planificación“ (Planning Game) de XP.
Extreme Programming (XP) fue desarrollada por Kent Beck en 1996 y a partir de allí la refinó hasta
publicarla en Extreme Programming Explained en 1999.
En 2001, Ron Jeffries propone el modelo de Carta, Conversación, Confirmación, para distinguir his-
torias de usuarios "sociales" de prácticas de requisitos "documentales", como los casos de uso.
En 2001, Rachel Davies presentó una 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“.
Raches Davies
ADVERTENCIA
Fuente: As a Coach I want a Story Template so that
People Ask Questions.
26
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.
• I – Independent
• N – Negotiable
• V – Valuable
• E – Estimable
• S – Small
• T – Testable
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.
https://twitter.com/mikewcohn/status/1186758766462754817
En 2018, Jorge Abad y Lucho Salazar publican su libro: Historias de usuario: una visión pragmática,
que incluye el User Stories Conversation 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.
27
Los Modos de Representación de las Historias de Usuario
Los Modos de
Representación de las
Historias de Usuario
USER STORIES FOUNDATIONS CERTIFICATE USFC
28
Representar en vez de Escribir Historias de Usuario
• Como dijimos antes, las historias de usuario pueden tomar muchas formas
• Se pueden usar muchos estilos y diseños para representar las historias de usuario
• Como siempre, lo más importante de estas es la conversación que se genera alrededor de ellas.
• Estas son algunas de las grafías que se pueden usar:
29
Modo 4: El título +la descripción de Mike Cohn +Los criterios de aceptación en prosa
[+boceto ( opcional)].
Nivel de madurez del equipo y del Dueño de Producto: Principiante.
Ejemplo:
Criterios de aceptación:
• Se requieren capturar los • Todos los campos son
campos de: obligatorios.
HU25: Registro de datos personales.
• Nombre • Países, estados/provincias
• Como POSIBLE ARRENDATARIO.
• Apellidos y ciudades se tomarán de
• Deseo/Quiero/Necesito INGRESAR
• DNI la base de datos.
LOS DATOS PERSONALES.
• Fecha de nacimiento • El DNI tendrá las
• Para PODER SER U N CANDIDATO
• Nacionalidad validaciones requeridas
ELEGIBLE PARA EL
• Ciudad por la ley.
ARRENDAMIENTO DE LA
• Dirección actual
PROPIEDAD.
USER STORIES FOUNDATIONS CERTIFICATE USFC
• País de residencia
• Estado/Provincia
• Ciudad
Modo 5: El título +la descripción de Mike Cohn +Los criterios de aceptación con BDD
[+boceto ( opcional)].
Nivel de madurez del equipo y del Dueño de Producto: Junior.
Ejemplo:
30
HU25: Registro de datos personales.
• Como POSIBLE ARRENDATARIO.
• Deseo/Quiero/Necesito INGRESAR
LOS DATOS PERSONALES.
• Para PODER SER UN CANDIDATO
ELEGIBLE PARA EL
ARRENDAMIENTO DE LA
PROPIEDAD.
DADO que el usuario ingresó los datos requeridos DADO que el usuario ingresó el DNI
Y existe al menos un campo sin diligenciar CUANDO el usuario cambie de campo
CUANDO seleccione enviar ENTONCES el sistema validará las restricciones
ENTONCES el sistema le presentará un mensaje asociadas al DNI (ver documento de REGLAS DE
informándole el/los campo(s) sin diligenciar VALIDACIÓN DE DNI.Docx en el repositorio)
Y el/los campo(s) sin diligenciar aparecerán Y presentará los errores asociados
remarcados en color rojo Y no permitirá avanzar a otro campo hasta que sean
Y no permitirá guardar los datos corregidos
31
Resumen
32
Historias de Usuario Altamente Efectivas (INVEST) I
Historias de Usuario
Altamente Efectivas
(INVEST) I
33
Historias de Usuario Altamente Efectivas (INVEST)
34
Historias de Usuario Dependientes
En el escenario o contexto, nada indica que la historia 2 llegue a ser usada por los
02 usuarios que corresponda y, mucho menos, que se cumpla el propósito de la misma
Este tipo de historias no permiten cumplir con aspectos de alta cohesión y bajo
03 acoplamiento necesarios para desarrollar un buen producto (de software)
INDEPENDIENTE 1 INDEPENDIENTE 2
35
01 Ambas historias están escritas desde el punto de vista del Editor.
02 Cada historia puede valerse (y valorarse) por sí misma y puede desarrollarse, verificarse y
entregarse independientemente.
Una buena práctica es preguntarnos para cada Historia de Usuario si hemos hecho todo lo
03 posible para que esta sea independiente del resto.
36
Dependencia por Superposición de Funciones
37
Historias Independientes
38
Dependencia por Contención
39
Historias de Usuario Negociables
01 Requeridas o críticas: son aquellas sin las cuales la solución no puede vivir.
02 Importantes: son aquellas sin las cuales el sistema puede vivir durante algún tiempo.
Opcionales: son aquellas funcionalidades conocidas coloquialmente como las “buenas, bonitas y
03 baratas”.
40
Historias de Usuario Negociables
41
Historias de Usuario Valiosas (y Valuadas)
Cómo tener una perspectiva más clara del valor real de una historia de usuario.
01 Con los usuarios buscamos lo que proporcione mayor valor para el negocio y lo que se
vaya a usar más.
Cada historia de usuario debe proporcionar algún valor, el mayor posible, al usuario, al cliente o
04 a cualquier interesado en el producto.
42
Historias de Usuario sin Valor
43
Historias de Usuario Estimables
44
Si No Puedes Estimar una Historia de Usuario
Mike Cohn identifica tres razones principales por las cuales una Historia de Usuario no podría estimarse:
45
Sucinta |Pequeña
Sucinta |Pequeña
Se puede construir en una iteración junto a otras
historias. S
Historias de usuario tan pequeñas que las
puedas finalizar durante las primeras horas o Historias de usuario cuyo tamaño oscile entre
días del Sprint. 1/10 y 1/6 de la capacidad del equipo, en cada
iteración.
Historias de usuario con Valor para el negocio,
es decir, no caer en la descomposición funcional. Historias de usuario que inviten a una conversación,
ojalá cara a cara entre representantes del negocio
y el equipo de producto.
El Tamaño Sí Importa
USER STORIES FOUNDATIONS CERTIFICATE USFC
Ilustración adaptada con fines educativos. Kurtz, R. (Productor), Kershner, I. (Director). (1980). Star Wars:
Episodio V - El Imperio contraataca [Película]. Estados Unidos: The Walt Disney Company.
46
Esfuerzo Sugerido para las Historias de Usuario
Basado en la sugerencia de Thomas Wallet (@WalletThomas), en el que mostraba que tener historias
gigantes no es buena práctica, se estableció la clasificación amarillo, naranja y rojo, mostrando que hay
tamaños grandes de historias de usuario que posiblemente se constituyan en unas épicas susceptibles
de ser divididas.
El esfuerzo invertido en esta historia de usuario versus la duración del Sprint lo pone en riesgo
que se logre en el tiempo comprometido, es un tamaño de historia riesgoso, se sugiere realizar
división de la historia.
47
Cómo Dividir una Historia de Usuario
48
Convirtiendo un Formulario o Épica en Historia de Usuario
De Épicas a Historias de
Usuario
49
Ejemplo de una Épica
Épica
• Las transferencias pueden ser a cuentas del mismo banco, del misma titular o de otros titulares
• Pueden ser a cuentas de ahorro o corrientes
• También se pueden hacer a fondos de inversión
• Las transferencias pueden ser al mismo banco o a otros bancos
• Incluso a bancos de otros países
• Se pueden programar para hacerse en una fecha y hora específica
• Hay transferencias ocasionales y transferencias frecuentes o regulares
• Para estas últimas se pueden registrar las cuentas destino para hacer más rápido las transferencias
Comencemos la división:
50
• Realizar una transferencia a otro banco
Historia de usuario
Historia de usuario
51
• La cuentas destino debe estar registrada y activa para realizar transferencias
• La transferencia puede ser a una cuenta corriente o de ahorros
• La cuenta puede ser propia o de otro titular
• Puede ser al mismo banco o a otro banco
• La programación se puede hacer para una sola transferencia, para un número específico de veces o
con una frecuencia, por ejemplo, mensual
• Quiero recibir un comprobante de la transacción en mi correo electrónico, tanto de envío como de
recepción de la transacción
Recomendación
Revisar el Anexo 1 para ver un ejemplo completo de cómo convertir un Formulario complejo o Épica
en Historias de Usuario
52
Historias de Usuario
Altamente Efectivas
(INVEST) II
53
Advertencia
54
Otros Patrones de División
09
Más específicos, más prácticos o El mayor valor
¿La historia incluye mucha funcionalidad, pero el 80 % del Valor
derivados de los anteriores. que proporciona proviene del 20 %de la misma?
06 Región geográfica
¿Tiene la historia el mismo comportamiento para usuarios o datos de diferentes regiones
geográficas?
05 Servicios externos
¿Consume la historia servicios externos que apenas se van a implementar o que ya están construidos?
55
HU: Publicar en el Periódico
Criterios de Aceptación:
1. El artículo no se publica de inmediato.
2. El artículo debe tener menos de mil (1000) palabras.
3. El artículo se debe clasificar por su categoría.
4. También hay distintos tipos de noticias.
5. El artículo puede contener hasta 2 imágenes en HD.
6. Para las noticias en vivo, se puede agregar señal de video.
7. …
Conversación
56
Criterios de Aceptación:
1. El artículo no se publica de inmediato.
2. El artículo debe tener menos de mil (1000) palabras.
3. El artículo se debe clasificar por su categoría.
4. También hay distintos tipos de noticias.
5. El artículo puede contener hasta 2 imágenes en HD.
6. Para las noticias en vivo, se puede agregar señal de video.
7. …
Conversación
57
Yo como EDITOR DEL PERIÓDICO ¿Tiene la historia comportamientos distintos
Quiero PUBLICAR UN ARTÍCULO O NOTICIA para diferentes interesados o usuarios?
DE OTRO PERIODISTA EN EL PERIÓDICO
Para MANTENER ENTERADO A LOS Yo como PERIODISTA DE NOTICIAS EN VIVO
LECTORES SOBRE LOS ACONTECIMIENTOS Quiero TRANSMITIR UNA NOTICIA EN VIVO
DEL MOMENTO EN EL MUNDO Y GENERAR EN EL PERIÓDICO
Para INFORMAR SOBRE LA ACTUALIDAD
MAYOR TRÁFICO HACIA LA PÁGINA DEL
NOTICIOSA Y GENERAR TRÁFICO HACIA LA
PERIÓDICO
PÁGINA DEL PERIÓDICO
Criterios de aceptación
La noticia debe poder adicionarse al periódico desde navegadores Web móviles y de escritorios.
…
58
Yo como PERIODISTA DE DEPORTES EDGE Yo como PERIODISTA DE DEPORTES CHROME
Quiero PUBLICAR UNA NOTICIA DE DEPORTES Quiero PUBLICAR UNA NOTICIA DE DEPORTES
EN EL PERIÓDICO EN EL PERIÓDICO
Para MANTENER ENTERADO A LOS LECTORES Para MANTENER ENTERADO A LOS LECTORES
SOBRE EL ACONTECER DEPORTIVO SOBRE EL ACONTECER DEPORTIVO
MUNDIAL. MUNDIAL.
59
Servicios Externos
Yo como EDITOR DE LA SECCIÓN FINANCIERA ¿Consume la historia servicios externos que
Quiero PUBLICAR EL VALOR DEL DÓLAR apenas se van a implementar o que ya están
MINUTO A MINUTO construidos?
Para INFORMAR A LOS LECTORES
INTERESADOS EN FINANZAS SOBRE LAS Conversación
NOTICIAS Y DATOS RELEVANTES PARA QUE
HAGAN MEJOR SU TRABAJO Y MANTENER • Se debe mostrar una gráfica del valor minuto
UN ENFOQUE A LA ITERACIÓN CONSTANTE a minuto.
Y LAS PRUEBAS EN TORNO A LA EXPERIENCIA • Se debe mostrar el valor oficial del día.
DIGITAL. • La fuente oficial es Re&%$rs.
• Se toma el valor de manera automática por vía
Criterios de Aceptación: de un servicio que proporciona la fuente.
1. El valor del dólar se mueve de 8 a. m. a 1:00 p. m. • Hay que comprar el servicio que incluya otros
2. Se debe tener un valor cada minuto en ese indicadores económicos.
rango. • Para la primera versión se puede digitar el
3. Cualquier lector debe poder acceder a esa valor minuto a minuto.
información.
4. El valor del dólar debe venir de la fuente
oficial.
5. …
60
Yo como EDITOR DE LA SECCIÓN FINANCIERA ¿Consume la historia servicios externos que
Quiero PUBLICAR EL VALOR DEL DÓLAR apenas se van a implementar o que ya están
MINUTO A MINUTO “AUTOMÁTICO” construidos?
Para INFORMAR A LOS LECTORES
INTERESADOS EN FINANZAS SOBRE LAS Conversación
NOTICIAS Y DATOS RELEVANTES PARA QUE
HAGAN MEJOR SU TRABAJO Y MANTENER • Se debe mostrar una gráfica del valor minuto
UN ENFOQUE A LA ITERACIÓN CONSTANTE a minuto.
Y LAS PRUEBAS EN TORNO A LA EXPERIENCIA • Se debe mostrar el valor oficial del día.
DIGITAL. • La fuente oficial es Re&%$rs.
• Se toma el valor de manera automática por
Criterios de Aceptación: vía de un servicio que proporciona la fuente.
• Hay que comprar el servicio que incluya otros
1. El valor del dólar se mueve de 8 a. m. a 1:00 p. m. indicadores económicos.
2. Se debe tener un valor cada minuto en ese • El valor minuto a minuto es un valor que solo
rango. se informa a los lectores, es referencial más no
3. Cualquier lector debe poder acceder a esa oficial.
información.
4. El valor del dólar debe tomarse directamente
de la fuente.
5. …
61
Yo como PERIODISTA INFORMATIVO ¿La historia incluye mucho comportamiento
Quiero PUBLICAR NOTICIAS HASTA CON UNA opcional (por ejemplo, distintas formas de lograr
IMAGEN la misma meta)?
Para HACER MÁS VERÍDICA LA NOTICIA Y
GENERAR CREDIBILIDAD EN LOS LECTORES. Conversación
62
El Mayor Valor
Yo como LECTOR DEL PERIÓDICO La historia incluye mucha funcionalidad, pero ¿el
Quiero ESCRIBIR COMENTARIOS A LAS 80 %del Valor que proporciona proviene del 20 %
NOTICIAS O ARTÍCULOS DE MI INTERÉS de la misma?
Para DAR A CONOCER MI OPINIÓN RESPECTO
DE UN TEMA Y DARME A CONOCER EN LOS Conversación
FOROS DEL PERIÓDICO.
• Las personas que hagan comentarios deben
Criterios de Aceptación: estar registradas como lectores del periódico.
• Se debe proporcionar una dirección de correo
1. El comentario debe ser de máximo 250 electrónico válida del lector comentarista.
palabras. • El lector debe cumplir con las políticas y
2. El comentario debe ser aprobado por un condiciones para realizar comentarios en el
Editor de comentarios. periódico.
3. El comentario debe cumplir con las políticas • …
de publicaciones del periódico.
4. El comentario puede contener enlaces Web.
5. El comentario no debe incluir datos
sensibles del lector o de otras personas.
6. …
Yo como LECTOR DEL PERIÓDICO La historia incluye mucha funcionalidad, pero ¿el
Quiero ESCRIBIR COMENTARIOS “TEXTO” A 80 %del Valor que proporciona proviene del 20 %
LAS NOTICIAS O ARTÍCULOS DE MI INTERÉS de la misma?
Para DAR A CONOCER MI OPINIÓN RESPECTO
DE UN TEMA Y DARME A CONOCER EN LOS Conversación
FOROS DEL PERIÓDICO.
• Las personas que hagan comentarios deben
Criterios de Aceptación: estar registradas como lectores del periódico.
• Se debe proporcionar una dirección de correo
1. El comentario debe ser de máximo 250 electrónico válida del lector comentarista.
palabras. • El lector debe cumplir con las políticas y
2. El comentario debe ser aprobado por un condiciones para realizar comentarios en el
Editor de comentarios. periódico.
3. El comentario debe cumplir con las políticas • …
de publicaciones del periódico.
4. …
63
Seis Disfunciones de un Equipo con las Historias de Usuario
64
Historias de Usuario Altamente Efectivas (INVEST)
65
Sobre las Pruebas de las Historias de Usuario
66
Algunas Ideas Sobre las Pruebas de las Historias de Usuario
67
Creadores
68