Story Transcript
Historias de usuario Sesión 7a
Metodologías Ágiles de Desarrollo de Software
Domingo Gallardo, DCCIA, Univ. Alicante
Historias de usuario •
La forma “ágil” de definir funcionalidades de
la aplicación
•
Resaltan el punto de vista funcional y del usuario
final
•
Se escriben en forma de ficha y contienen
tres elementos principales:
•
Descripción escrita de la historia, usada
para planificación y como recordatorio
•
Conversaciones sobre la historia que
sirven para refrescar los detalles
•
Pruebas de aceptación que definen
los detalles y se utilizan para determinar
cuando la historia está completa
Metodologías Ágiles de Desarrollo de Software
Domingo Gallardo, DCCIA, Univ. Alicante
2
Las 3 Cs de Ron Jeffries
Metodologías Ágiles de Desarrollo de Software
Domingo Gallardo, DCCIA, Univ. Alicante
3
Formato de la historia Título: Generar el PDF del expediente
Como estudiante
quiero generar un PDF con mi expediente
para guardar un resumen de mi expediente y poder entregarlo a quien me lo pida
Como
quiero
para
Una historia no se resuelve con
un método de un API.
Debemos implementar todos sus
aspectos: interfaz de usuario,
código de cliente, servidor, base
de datos, etc.
Metodologías Ágiles de Desarrollo de Software
Domingo Gallardo, DCCIA, Univ. Alicante
4
¿Dónde están los detalles? • En la historia de usuario anterior hay muchos elementos desconocidos:
• ¿Qué habrá en el expediente? ¿Se incluye alguna cabecera con los datos de la universidad? ¿Deben aparecer los datos personales del estudiante? ¿Qué asignaturas aparecerán, sólo las aprobadas o también las suspendidas? ¿En qué orden?
• ¿La información del expediente es configurable?
• ¿Qué formato se debe dar al listado?
• ¿Tiene que validarse el expediente con alguna firma digital?
• Estos elementos deben descubrirse en la conversación originada por la historia
• Pueden anotarse en la parte de detrás de la ficha (dos o tres frases como mucho)
• Los detalles adicionales se deben definir como tests
Metodologías Ágiles de Desarrollo de Software
Domingo Gallardo, DCCIA, Univ. Alicante
5
Descomponiendo historias •
Una historia típica debe poder terminarse y testearse entre medio día y un par de semanas como máximo por un o dos programadores (Cohn: User Stories Applied)
• • • •
Una historia grande se suele denominar épica (epic)
Debemos descomponerla en historias más pequeñas
En el backlog del sprint (o tablero Kanban), la historia se descompone en ítems de trabajo (que pueden referirse a detalles técnicos)
Veremos la técnica del mapa de historias de usuarios (user story mapping) de Jeff Patton que permite analizar en amplitud y profundidad todas las historias de usuario de un proyecto
Metodologías Ágiles de Desarrollo de Software
Domingo Gallardo, DCCIA, Univ. Alicante
6
Descomponiendo historias •
1
© Henrik Kniberg Metodologías Ágiles de Desarrollo de Software
Domingo Gallardo, DCCIA, Univ. Alicante
7
INVEST •
Una buena historia tiene que tener seis atributos:
•
Independiente: dependencias entre las historias
crean problemas de priorización y estimación
Independent
Negotiable
Valuable
Estimable
Small
Testable Acrónimo creado por Bill Wake
www.xp123.com
•
Negociable: no son contratos, son recordatorios
de conversaciones
• •
Valiosa: las historias deben ser valiosas para los que pagan el software
•
Pequeña: para poder estimarse correctamente, es recomendable que la historia sea pequeña; hay que dividir las épicas
•
Testable: las historias deben ser probadas y los tests deben poder ser automatizados
Estimable: el tamaño de la historia debe poder ser estimado, aunque sea de forma gruesa
Metodologías Ágiles de Desarrollo de Software
Domingo Gallardo, DCCIA, Univ. Alicante
8
Roles de usuario •
Es muy importante identificar los distintos tipos de roles que pueden acceder a la aplicación
• • • • •
Realizar un brainstorming rápido para buscar un conjunto inicial de roles
Organizar el conjunto de roles
Consolidar los roles
Refinar los roles
Personas: representación imaginaria de una
persona de cada uno de los roles
•
Mike – 35 años, 1 hijo Tom, entrena al equipo
de béisbol de su hijo, muy ocupado
•
John – abuelo jubilado, experiencia limitada
con ordenadores, ayuda en la educación
de su nieto
•
Linda – 28 años, muy activa en el trabajo,
el tiempo libre lo dedica al deporte Metodologías Ágiles de Desarrollo de Software
Domingo Gallardo, DCCIA, Univ. Alicante
9
El backlog del producto debe estar balanceado
© Henrik Kniberg Metodologías Ágiles de Desarrollo de Software
10 Domingo Gallardo, DCCIA, Univ. Alicante
Mapas de historias de usuario • •
Técnica propuesta por Jeff Patton
•
El resultado final es muy similar a un storyboard de cine
Workshop de discusión con clientes finales en el que se van descubriendo las historias y se agrupan y ordenan para contar una historia con distintos niveles de prioridad
Metodologías Ágiles de Desarrollo de Software
11 Domingo Gallardo, DCCIA, Univ. Alicante
Storyboards en el cine
Metodologías Ágiles de Desarrollo de Software
12 Domingo Gallardo, DCCIA, Univ. Alicante
Storyboards en el cine
The purpose of Storyboarding (You Tube) Metodologías Ágiles de Desarrollo de Software
13 Domingo Gallardo, DCCIA, Univ. Alicante
El propósito de un storyboard •
•
Los storyboards se usan en el cine para:
• •
Desarrollar, discutir y probar la historia (Disney, Pixar, ...)
•
Estimar el coste de la producción
Medio de comunicación entre los distintos equipos (cámaras, iluminación, sonido, escenografía, localización, etc.), para ayudar a visualizar escenas
Se realizan a partir de otro modelo más impreciso todavía: el guión
Metodologías Ágiles de Desarrollo de Software
14 Domingo Gallardo, DCCIA, Univ. Alicante
Bocetos y protipos de baja fidelidad • • • •
Mockups de pantallas e interfaces de usuario
Permiten mostrar a bajo coste el aspecto del producto final
Se usan también storyboards donde se explica los distintos pasos de la aplicación
Se pueden hacer con tijeras y papel o con aplicaciones (por ejemplo, balsamic)
Metodologías Ágiles de Desarrollo de Software
15 Domingo Gallardo, DCCIA, Univ. Alicante
Prototipos de papel (paper prototyping)
Metodologías Ágiles de Desarrollo de Software
16 Domingo Gallardo, DCCIA, Univ. Alicante
Ejercicio práctico 1. Vemos las transparencias de Jeff Patton sobre mapas de historias de usuario
2. Hacemos 4 equipos de 6 personas (1 portavoz)
3. 30’ para hacer el mapa del proyecto
“Aplicación web para la Escuela Infantil Natura”
4. 5’ cada equipo para poner en común los resultados
Metodologías Ágiles de Desarrollo de Software
17 Domingo Gallardo, DCCIA, Univ. Alicante
Lecturas •
Jeff Patton - The new user story is a map
•
Jeff Patton - It’s all in how you slice it
Metodologías Ágiles de Desarrollo de Software
18 Domingo Gallardo, DCCIA, Univ. Alicante