Documentos de Académico
Documentos de Profesional
Documentos de Cultura
DE USUARIO
Aplicadas a metodologías de desarrollo
ágiles
CAPÍTULO 1 - UNA VISIÓN GENERAL
CAPÍTULO 1 - ¿QUE ES UNA HISTORIA DE USUARIO?
Una historia de usuario describe
la funcionalidad que resultará
valiosa a un usuario o consumidor
de un sistema o software. Las
historias de usuarios se componen
de tres aspectos:
● una descripción escrita de la
historia que se utiliza para
la planificación y como
recordatorio
● las conversaciones sobre la
historia que servirán para
dar cuerpo a los detalles
● los tests o pruebas que
transmiten y documentan
los detalles y que pueden
ser usados para determinar
cuando se finaliza
CAPÍTULO 1 - ¿DONDE ESTAN LOS DETALLES?
Es muy importante
conocer y comprender las
expectativas de los
usuarios de un proyecto.
Estas expectativas como
mejor se recopilan es en la
forma de los test de
aceptación.
CAPÍTULO 1 - EL EQUIPO DEL CLIENTE
El equipo del cliente, más que los programadores, escribe las historias de usuario por dos
razones fundamentales. Primero, cada historia debe ser escrita en un lenguaje del negocio, no
en la jerga técnica, de tal forma que el equipo del cliente pueda priorizar las historias para
incluirlas en las iteraciones y las versiones. Segundo, como principales visionarios del producto,
el equipo del cliente está en la mejor posición para describir el comportamiento del producto.
¿ Porqué cambiar ?
En este momento nos podríamos preguntar ¿porqué cambiar?, ¿porqué escribir todas estas
tarjetas de historias y mantener todas estas conversaciones? ¿Porqué no seguir escribiendo los
documentos de requisitos y las guías de uso? Las historias de usuario ofrecen una serie de
ventajas frente a otras alternativas y algunas de las razones son:
● enfatizan la comunicación oral más que la escrita
● son comprensibles por ambas partes
● tienen el tamaño correcto para la planificación
● funcionan para un desarrollo basado en iteraciones
● estimulan posponer los detalles hasta la mejor compresión de lo que se va a tener en
base a lo que se necesita.
CAPÍTULO 2 - ESCRIBIENDO HISTORIAS DE USUARIO
Una buena historia de usuario también sigue el modelo de INVEST: Independiente, Negociable, Estimable,
Pequeña (Small), y Testeable. Veamos lo que significa.
● Independiente - una historia debería ser independiente de otras (lo más posible). Las dependencias
entre las historias hace que sea más dificil planificar, priorizar y estimar. A menudo, se puede reducir
las dependencias haciendo una combinación de historias, o partiendo historias de forma diferente.
● Negociable - una historia de usuario es negociable. La "tarjeta" de la historia es tan sólo una
descripción corta que no incluye detalles. Los detalles se trabajan durante la etapa de
"Conversación". Una tarjeta con demasiados detalles limita la conversación con el cliente.
CAPÍTULO 2 - ESCRIBIENDO HISTORIAS DE USUARIO
Valiosa - cada historia tiene que tener valor para el cliente (para el usuario o para el comprador). Una
forma muy buena de generar historias valiosas es hacer que el cliente las escriba. Una vez que el
cliente se de cuenta que la historia no es un contrato y es negociable, van a sentirse mucho más
cómodos para escribir historias.
Estimable - los desarrolladores necesitan poder estimar una historia de usuario para permitir que se
pueda priorizar y planificar la historia. Los problemas que pueden impedirle a los desarrolladores
estimar una historia son: falta de conocimiento del dominio (en cuyo caso se necesita más
Negociación / Conversación); o si la historia es muy grande (en cuyo caso se necesita
descomponer la historia en historias más pequeñas).
Pequeña - una buena historia debe ser pequeña en esfuerzo, generalmente representando no más de
2-3 personas/semana de trabajo. Una historia que es más grande va a tener más errores asociados
a la estimación y alcance.
Testeable - una historia necesita poder probarse para que ocurra la etapa de "Confirmación".
Recordemos que desarrollamos aquello que no podemos probar. Si no podemos probarlo, nunca
vamos a saber si lo terminamos. Un ejemplo de historia no testeable sería: "el software tiene que ser
facil de usar".
CAPÍTULO 3 - MODELADO DE ROLES DE USUARIO
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
CAPÍTULO 4 - AGRUPAR HISTORIAS DE USUARIO
Entrevistas de usuario
Entrevistar a los usuarios es el método por defecto de
muchos equipos y es, probablemente el que tendrá que
utilizar.
Una de las claves del éxito de las entrevistas es la
selección de los entrevistados.
Se debe entrevistar a usuarios reales siempre que sea
posible.
También debe entrevistar a los usuarios
que llenan diferentes roles de usuario.
CAPÍTULO 4 - RECOLECTAR HISTORIAS DE USUARIO
Cuestionarios
Los cuestionarios pueden ser una técnica eficaz para la
recopilación de información sobre historias que ya
tienes.
Si usted tiene una gran población de usuarios, un
cuestionario puede ser una gran manera de obtener
información acerca de cómo priorizar las historias.
Los cuestionarios son igualmente útil cuando necesita
respuestas de un gran número
de usuarios a preguntas específicas.
CAPÍTULO 4 - RECOLECTAR HISTORIAS DE USUARIO
Observación
Observando como los usuarios interactúan con el software es
una manera maravillosa de recoger percepciones.
Cada vez que he tenido la oportunidad de observar a alguien
usando mi software, me dan ideas sobre cómo mejorar su
experiencia, productividad, o ambos.
Por desgracia, las oportunidades para la observación de usuario
son raras a menos que usted está desarrollando para los
clientes de la casa.
Si usted tiene la oportunidad de observar a los usuarios
trabajar con el software, hágalo. Esta oportunidad da una
retroalimentación rápida y directa de los usuarios.
CAPÍTULO 5 - TRABAJAR CON LOS USUARIOS ENLACE
Administrador de Usuarios
Al hacer el desarrollo de un proyecto para el uso interno, la organización
puede ser reacia a darle acceso completo e ilimitado a uno o más usuarios,
pero puede estar dispuesta a darle acceso a la gerente de los usuarios.
A menos que el director sea también un verdadero usuario del software es
casi seguro que el gerente tiene diferentes patrones de uso de software que
los del un usuario .
Por ejemplo, el gerente de desarrollo puede dar prioridad a las historias de manera
diferente que un usuario real, ya que hacerlo le permite acelerar la introducción de
una emocionante, nueva tecnología.
Además, el gerente de desarrollo puede no interesarle los objetivos corporativos: tal
vez su bono anual está ligado a una conclusión
fecha en el proyecto, lo que podría causar que considere el proyecto completo
antes de que un usuario real lo haría..
CAPÍTULO 5 - TRABAJAR CON LOS USUARIOS ENLACE
Vendedores
El peligro en el uso de un vendedor como un proxy del usuario es que no conduce a
una visión integral del producto que se construirá.
La historia más importante para un vendedor suele ser la historia cuya ausencia le
costó la última venta.
Los vendedores son, sin embargo, un gran conducto para los usuarios y debe usarlos
de este modo.
Pídales que presentarles a los clientes, ya sea por teléfono o
acompañelo a lo largo de una visita de ventas
CAPÍTULO 5 - TRABAJAR CON LOS USUARIOS ENLACE
Expertos de dominio
Los expertos del dominio, a veces llamados expertos en la materia, son los recursos críticos por
lo bien que entienden el dominio del software se orientará
Naturalmente algunos dominios son más difíciles de entender que otras.
Yo solía escribir una gran cantidad de software para abogados y asistentes legales, y mientras
que el software era a veces complejo, usualmente podía entender lo que estaban pidiendo.
Mucho más tarde, yo estaba involucrado con la escritura de software para los genetistas
estadísticos.
Este dominio estaba lleno de palabras como fenotipo, centimorgan y haplotipo.
Estas fueron las palabras que nunca había escuchado antes, lo que hizo el dominio mucho
más difícil de entender. Esto hizo que a cada uno de los desarrolladores mucho más
dependientes de un expertos para ayudarnos a entender lo que estábamos desarrollando.
CAPÍTULO 5 - TRABAJAR CON LOS USUARIOS ENLACE
¿Qué hacer cuando se trabaja con un Proxy usuario?
Aunque no es ideal, todavía es posible escribir gran software con un proxy de usuario
en lugar de un usuario real. Hay una serie de técnicas que se pueden aplicar a
aumentar sus posibilidades de éxito en estos casos
❏ Una manera Simple de describir una tarea concisa que aporta valor al
usuario o al negocio.
DESARROLLADOR CLIENTE
HISTORIAS CERRADAS
RESTRICCIONES DE LA TARJETAS
● No se las estima
● Las prueba de aceptación pueden ser descritas para que las
restricciones se cumplan
TAMAÑO DE LA HISTORIA
Se debe incluir los roles al escribir una historia de usuario. (En lugar de
pensar, usuarios suaves, sin rostro intercambiables, el desarrollador
comenzará a pensar en usuarios reales)
DIRECTRICES PARA BUENAS HISTORIAS DE
USUARIO
PLANIFICACIÓN DE UN RELEASE
PLANIFICACIÓN DE UN RELEASE
Medición de Velocidad
Para determinar la velocidad de una historia se debe contar sólo los puntos
de historias completas, es decir no contar historias parcialmente completas
durante la iteración.
CAP.11 MIDIENDO Y MONITOREANDO LA VELOCIDAD
La velocidad no
usa tiempo real
TEMAS DISCUTIDOS
FRECUENTEMENTE
Cap.12
documentación de
requerimientos tediosa,
No acepta
propensa a errores y consume
cambios a corto
plazo esfuerzo. !
Los costos
del producto no pueden
calcularse sino hasta
haber finalizado el
documento
CAP.12 TEMAS DISCUTIDOS FRECUENTEMENTE
• Detallado. • Breve.
• Se implementa en varias • Se implementa en una
iteraciones interacción.
• Lo escribe un analista. • Lo escribe el cliente.
• No se usa para • Se usa para planificar
planificar.
CAP.12 TEMAS DISCUTIDOS FRECUENTEMENTE
✓ Un entorno
✓ Actores
✓ Metas u objetivos
✓ Acciones y eventos
CAP.13 ¿POR QUÉ HISTORIAS DE USUARIOS?
Comunicación Verbal
Indicad
ores de que algo
anda mal.
CAP.14 HISTORIAS CON MAL OLOR
- Rendimiento.
- Precision.
- Portabilidad.
- Reutilización.
- Mantenimiento.
- Interoperabilidad.
- Disponibilidad.
- Usabilidad.
- Seguridad.
- Capacidad.
Papel o Software
Historias de Bugs
- Algunos prefieren utilizar distintos colores para las historias. Rojo para los
errores y Azul para las de ingeniería.
- En teoría es buena idea el uso de colores, pero en la práctica no vale la
pena.
- Se recomienda el uso de tarjetas de un solo color, generalmente blancas.
UN EJEMPLO
Cap.17: LOS ROLES DE LOS USUARIOS
El Proyecto
Los clientes para este producto son los marineros que compran los libros y
todos son externos a la empresa. Por los tanto necesitamos un cliente que
pueda actuar como proxy, para los clientes reales de los usuarios finales.
Para ello el jefe, designa a Lori quien es el vicepresidente de Ventas y
Marketing.
Identificación de algunos roles iniciales.
- Hardcore Sailor.
- Novice Sailor.
- New Sailor
- Gift – Buyer.
- Non – Sailing Spouse.
- Administrator.
- Sales Vice President.
- Charter Captain
- Experiented Sailor
- Sailing School
- Library
- Instructor.
Consolidación y estrechamiento.
La Primera Historia.
No es necesario iniciar con la primera historia de la lista, pero en este caso
es una buena opción empezar con esta.
- Para estimar las historias tres programadores Rafe, Jay y Maria estiman la
1ra historia con Lori, cada uno tiene su estimación en la primera iteración:
Rafe=1, Jay= ½, Maria=2.
- Luego discuten sus estimaciones, luego realizan la estimación nuevamente
con los resultados siguientes: Rafe=1, Jay=1 y Maria=1.
Cap. 20 EL PLAN DE LANZAMIENTO
Plan de Lanzamiento.
- Seleccionar la longitud de la iteración.
- Estimar la velocidad.
- Priorizar las historias.
- Asignar historias a una o más iteraciones.
Estimando la Velocidad
- Maria y Rafe son desarrolladores del proyecto, Jay ayuda a estimar pero
otros compromisos le impiden ayudar al desarrollo.
- Cuando se estiman historias, deciden el tiempo que les llevará entre dos y
tres días reales de hacer, un dia seria lo ideal.
- Con dos semanas (10 días) de iteraciones y dos desarrolladores, habrá 20
programas por iteración. Maria y Rafe estima que van a ser capaces de
completar entre siete y diez puntos de la historia durante cada iteración.
- La decision de ser conservador para la primera iteración, estiman a una
velocidad de 8.
Priorizando las Historias
Pruebas de Restricciones.
.
- Los pedidos realizados en el sitio web tienen que terminar en la misma
base de datos que los pedidos por telefono.
- El sistema debe ser compatible con el uso máximo de hasta 50 usuarios
concurrentes. Simular con con 50 usuarios realizando varias búsquedas y
tomando ordenes. Asegurarse que la pantalla no toma más de 4 segundos
en mostrarse sino la orden se pierde.
GRACIAS...