Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ingeniería Ágil
Et in Arcadia Ego
La comunicación
El proyecto software que un equipo de desarrollo va a realizar en la mayoría de los
casos no responde a una idea suya sino más bien a las necesidades que alguien (los
usuarios) tienen. Los usuarios deben indicar lo que quieren resolver a otra persona
(en el modelo tradicional un analista), éste a su vez captura lo que él ha entendido
como requisitos del usuario y describe en forma de análisis de requisitos o funcional
u algún modelo similar, lo que él ha entendido. Ese trabajo acabará nalmente en
unas indicaciones más o menos concretas para que el equipo de desarrollo
nalmente implemente el proyecto.
http://fernandollopis.dlsi.ua.es/?p=39 1/10
18/10/2018 Scrum. Historias de Usuario – Ingeniería Ágil
Una de las mayores preocupaciones es que el analista que capta las peticiones del
usuario, suele terminar transmitiéndolas en un documento de difícil compresión
para éste. Así en general los completos documentos de análisis de una aplicación
rara vez suelen ser entendidos por los usuarios, que en general suelen basarse en lo
que ellos aseguran que dijeron más allá de lo que especi que el documento de
análisis.
Además, otro de los problemas del modelo en cascada es que requiere de un análisis
completo de los requerimientos para generar un documento completo antes de
iniciar las posteriores fases de diseño y desarrollo.
Según Mike Cohn, las Historias de Usuario describen la funcionalidad de algo que es
valioso para un usuario de un sistema o software.
Así una historia debe permitir conocer la base de las necesidades del usuario, así
como los detalles que después permitan jar la batería de pruebas para poder
determinar si un desarrollo es correcto o no.
historia del usuario, y a través de la Conversación y la con rmación. Hay autores que
a rman que las tarjetas son la mejor forma de almacenar las Historias de Usuario.
Las Historias de Usuario son peticiones muy sencillas y claras que de nen cuales van
a ser los requisitos del proyecto. Es preferible tener un número mayor de historias
simples que uno menor de historias más complejas.
Pero hay una serie de atributos mucho más concretos que las Historias de Usuario
deberían cumplir. Bill Wake en su libro Programming Explored and Refactoring las
denomina con el acrónimo INVEST que se basa en las iniciales de los seis atributos
recomendables para las Historias de Usuario.
Independent
Negotiable
Valuable to users or customers
Estimatable
http://fernandollopis.dlsi.ua.es/?p=39 3/10
18/10/2018 Scrum. Historias de Usuario – Ingeniería Ágil
Small
Testable
Imaginemos las Historias de Usuario a de nir para que un cliente pueda realizar el
pago con diferentes tarjetas de crédito:
Como Jefe de ventas quiero que mis clientes puedan pagar con Tarjeta Visa
Como Jefe de ventas quiero que mis clientes puedan pagar con MasterCard
Como Jefe de ventas quiero que mis clientes puedan pagar con American Express
http://fernandollopis.dlsi.ua.es/?p=39 4/10
18/10/2018 Scrum. Historias de Usuario – Ingeniería Ágil
Como Jefe de ventas quiero que mis clientes puedan pagar con Tarjetas Visa,
Mastercard y American Express
Si las historias todavía tienen un tamaño elevado, se puede hacer una subdivisión,
más equivalente cuanto a coste
Como Jefe de ventas quiero que mis clientes puedan pagar con Tarjeta Visa
Como Jefe de ventas quiero que mis clientes puedan pagar con MasterCard y
AmericanExpress
Es una de las bases de la programación ágil, las Historias de Usuario no son unos
requisitos cerrados que permiten cerrar un contrato que no se puedan cambiar. Una
Historia de Usuario es una breve descripción de la funcionalidad que muchas veces
se puede utilizar como un recordatorio. Los detalles de la historia se suelen retrasar
hasta los últimos momentos para precisamente evitar cambios de última hora. Eso
no impide que si en el momento de redactar la base de la historia, se conoce algún
detalle se pueda anotar en la misma tarjeta toda la información que se conozca
(aunque suele ser sensato contrastarla en el momento que sea necesario).
Si se dispone de más información del requisito es bueno tomar nota de él. El reverso
de la tarjeta es un lugar ideal para acompañar detalles útiles en la implementación.
Es uno de los aspectos más controvertidos sobre las Historias de Usuario. Hay quién
indica que las historias deben aportar valor al usuario y por eso es razonable que el
usuario las pida directamente. Yo considero que todas las historias que se
implementen deben tener valor para el usuario aunque éste inicialmente no lo sepa.
El usuario debería estar seguro que todas las historias le aportan valor. En general,
temas de seguridad a muchos niveles no les preocupan (no porque no lo consideren
importante, sino porque a veces lo dan por hecho). Las Historias de Usuario deben
aportar valor, en general se de nen en base a peticiones del usuario, no obstante
cabe la posibilidad de de nir historias de usuario a partir de criterios técnicos por
parte del equipo. Es estos casos es necesario que se explique correctamente al
usuario los motivos de necesidad de estas.
http://fernandollopis.dlsi.ua.es/?p=39 6/10
18/10/2018 Scrum. Historias de Usuario – Ingeniería Ágil
Es posible que el coste de una historia no pueda ser calculada con un nivel de
precisión razonable, los motivos habituales por los que esto pueda ocurrir son
http://fernandollopis.dlsi.ua.es/?p=39 7/10
18/10/2018 Scrum. Historias de Usuario – Ingeniería Ágil
Una historia que fuera como jefe de ventas quiero una “gestión web de las ventas
para incrementarlas” tiene una di cultad considerable para ser estimada.
Como jefe de ventas quiero poder dar de alta un producto para venta
Como jefe de ventas quiero poder modi car características de un producto o
eliminarlo
Como jefe comercial quiero poder añadir campaña comerciales que afecten al
precio de venta del producto
http://fernandollopis.dlsi.ua.es/?p=39 8/10
18/10/2018 Scrum. Historias de Usuario – Ingeniería Ágil
Pero no hay que olvidar que el concepto de Small (pequeño) es muy dependiente de
como el equipo de desarrollo se sienta cómodo. En sí lo que si debe garantizar al cien
por cien es que toda historia de usuario debe ser estimable y deba tener un coste
mínimo algo más alto que el tiempo que se pierda en hablar de ella.
Otro de los objetivos es que el mayor número de historias se pueda validar de forma
automática, por lo que es muy interesante utilizar conjuntos de aplicaciones de
prueba que así lo permitan. En ocasiones, esto es complicado, pero hay que de nir
claramente una batería de pruebas que pueda ser realizada para veri car lo correcto
de un programa o módulo. El coste de realizar las pruebas se debe incluir en el coste
de la historia de usuario, a menos que haya alguna historia que tenga como objetivo
la realización de una serie de pruebas de conjunto.
Sólo los requisitos no funcionales como pueda ser “conseguir un Interfaz amigable o
facilidad de uso para usuario novel” pueden evitar la de nición de esas baterías de
prueba. No obstante se pueden de nir tareas más complejas que exceden al equipo
de desarrollo y que permitan hacer una estimación del grado de resolución de
algunos requisitos no funcionales.
http://fernandollopis.dlsi.ua.es/?p=39 9/10
18/10/2018 Scrum. Historias de Usuario – Ingeniería Ágil
Conclusiones
Las Historias de Usuario son una forma de acercar el lenguaje del usuario al
desarrollador, de forma que se permita hablar un mismo lenguaje ambos y se eviten
ambigüedades que puedan suponer pérdidas de tiempo notables.
http://fernandollopis.dlsi.ua.es/?p=39 10/10