Gestión de requisitos

Índice
- Introducción
- Objetivos
- 1.Factores que hay que considerar para la gestión de requisitos
- 2.Estimación de requisitos
- 3.Priorización y selección de requisitos
- 3.1.Gestión de productos de software
- 3.1.1.La visión del producto
- 3.1.2.Producto mínimo entregable
- 3.1.3.User-story mapping
- 3.2.Técnicas de priorización
- 3.2.1.La técnica de los 100 dólares
- 3.2.2.Prioridades limitadas
- 3.2.3.El modelo Kano
- 3.2.4.A/B testing
- 3.3.Selección de requisitos: El backlog del producto
- 3.1.Gestión de productos de software
- 4.Gestión de los cambios en los requisitos
- 5.Caso práctico
- Resumen
- Actividades
- Ejercicios de autoevaluación
- Solucionario
- Glosario
- Bibliografía
Introducción
Objetivos
-
Saber crear una lista priorizada y estimada de requisitos candidatos.
-
Saber elegir de la lista cuáles son los requisitos más adecuados y prioritarios para el producto de software que hay que desarrollar.
-
Entender cómo tiene que evolucionar esta lista a lo largo del proceso de desarrollo del software.
1.Factores que hay que considerar para la gestión de requisitos
1.1.Factores básicos para la gestión de requisitos
1.2.Impacto financiero de los requisitos
2.Estimación de requisitos
2.1.Magnitudes para la estimación de requisitos
2.2.Precisión de las estimaciones
2.3.Técnicas de estimación
2.3.1.Comparación y triangulación
2.3.2.Estimación colaborativa: planning poker
2.4.Estimación de requisitos no funcionales
3.Priorización y selección de requisitos
3.1.Gestión de productos de software
3.1.1.La visión del producto
-
¿A quién va dirigido el producto? ¿Quién lo comprará? ¿Quién lo usará?
-
¿Qué necesidad o qué oportunidad cubre? ¿Cuál es el valor añadido del producto?
-
¿Qué atributos del producto son críticos para su éxito? ¿Cómo será, a grandes rasgos, el producto?
-
¿Cómo se compara el producto con los demás productos existentes? ¿Qué es lo que lo hace diferente?
-
¿Cómo se recuperará la inversión? ¿Cuáles serán las fuentes de ingresos que generará el producto?
-
¿Es factible pensar que lo podremos desarrollar y amortizar?
3.1.2.Producto mínimo entregable
3.1.3.User-story mapping


3.2.Técnicas de priorización
3.2.1.La técnica de los 100 dólares
-
El cliente tiene que poder ver quién ha hecho una recomendación.
-
El cliente tiene que poder compartir el plan de viaje en las redes sociales.
-
El cliente tiene que poder pagar por transferencia bancaria.
3.2.2.Prioridades limitadas
-
Sacrificar otros requisitos por este.
-
Intentar mantener.
-
Sacrificar este requisito por otros.
-
Musthave (sin estos requisitos la iteración es un fracaso).
-
Shouldhave (son igual de importantes que los musthave, pero podemos pasar sin ellos temporalmente).
-
Couldhave (también denominados nice to have en el sentido de que su presencia incrementa la satisfacción del cliente a pesar de ser menos prioritarios).
-
Won’t have (no entran en la iteración actual y, por lo tanto, de momento no los tenemos en cuenta).
3.2.3.El modelo Kano


Característica |
A |
L |
B |
I |
C |
Q |
Categoría |
---|---|---|---|---|---|---|---|
Generar el plan de viaje |
10% |
12% |
52% |
8% |
10% |
8% |
Básica |
Compartir el plan de viaje |
40% |
20% |
20% |
10% |
5% |
5% |
Apasionante |
Pagar en la agencia |
2% |
11% |
15% |
40% |
7% |
25% |
Indiferente |
Amplitud de la base de datos de hoteles |
6% |
33% |
32% |
12% |
0% |
17% |
Lineal/Básica |
3.2.4.A/B testing

-
Diseño gráfico (colores, textos, ubicación de los diferentes elementos en la pantalla) del elemento que tiene que usar el usuario para llevar a cabo la acción concreta (botón de “Comprar”, botón de “Registrarse”, etc.).
-
En general, los diferentes textos, tanto a nivel de títulos como de descripciones de los productos.
-
Longitud de los formularios y tipos de campos de los formularios.
-
Precio del producto y/o promociones especiales.
-
Relación entre texto e imágenes en las pantallas.
3.3.Selección de requisitos: El backlog del producto
3.3.1.Requisitos no funcionales y el backlog
3.3.2.El backlog y otros documentos de requisitos
4.Gestión de los cambios en los requisitos
4.1.Factores de cambios en los requisitos
-
Cambios en el problema que estamos solucionando debidos a modificaciones en la economía, regulaciones (aparición de nuevas leyes) o cambios en el mercado (cambios en las preferencias de los clientes o la aparición de un nuevo competidor).
-
Cambios en la opinión de los clientes respecto a lo que quieren, como por ejemplo, si cambiamos de interlocutor (debido a que nuestro interlocutor deja el trabajo o cambia de departamento) y el nuevo interlocutor tiene una idea diferente.
-
Cambios en el entorno, como la aparición de nuevas tecnologías que hacen que los requisitos sobre un sistema cambien (por ejemplo, al aparecer la red Internet, muchas empresas se encontraron con la necesidad de dar acceso remoto a sus aplicaciones, necesidad que antes no existía).
-
Cambios debido al hecho de que los usuarios, al usar el software, se han dado cuenta de que este no acaba de satisfacer del todo sus necesidades.
4.2.Los cambios en el backlog

5.Caso práctico
-
Alberto y Cristina, dos desarrolladores.
-
Marta, especialista en experiencia de usuario.
-
Luisa, product manager.
5.1.Visión del producto
“Para las agencias de viajes que quieren vender viajes por Internet, Viajes UOC 2.0 es un sistema de ventas que permite conseguir nuevos clientes a través de Internet sin renunciar a su negocio tradicional (clientes de la agencia). Al contrario que el sistema actual, nuestro producto permite un modelo mixto entre compra on-line y compra en la agencia.”
5.2.Obtención de requisitos candidatos
5.3.Estimación de los requisitos
5.3.1.Estimación de la primera historia
Persona |
Primera ronda |
---|---|
Alberto |
5 |
Cristina |
8 |
Marta |
13 |
Persona |
Primera ronda |
Segunda ronda |
---|---|---|
Alberto |
5 |
8 |
Cristina |
8 |
8 |
Marta |
13 |
13 |
Persona |
Primera ronda |
Segunda ronda |
Tercera ronda |
---|---|---|---|
Alberto |
5 |
8 |
13 |
Cristina |
8 |
8 |
13 |
Marta |
13 |
13 |
13 |
5.3.2.Estimación de las siguientes historias
Persona |
Primera ronda |
---|---|
Alberto |
5 |
Cristina |
5 |
Marta |
5 |
5.4.Priorización de los requisitos
-
Juan, un agente de viajes.
-
Sonia, directora de marketing.
-
Dolores, propietaria de una agencia.
-
Ramón, ingeniero de requisitos.
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
|
---|---|---|---|---|---|---|---|---|---|---|
Juan |
100 |
|||||||||
Sonia |
10 |
10 |
10 |
10 |
20 |
10 |
10 |
10 |
10 |
|
Dolores |
20 |
20 |
30 |
30 |
||||||
Total |
30 |
110 |
30 |
10 |
20 |
40 |
10 |
40 |
10 |
5.5.Selección de requisitos
Cost |
|
---|---|
Como agente de viajes, quiero añadir una opinión sobre un destino. |
5 |
Como comercial, quiero hacer una oferta de viaje a un destino concreto. |
20 |
Como propietario de agencia, quiero poder hacer ofertas a usuarios concretos. |
20 |
Como cliente, quiero hacer una pregunta sobre un destino. |
3 |
Como cliente, quiero ver la información que hay sobre un destino. |
13 |
Como cliente, quiero solicitar un chat en directo con un agente de viajes. |
100 |
Como cliente, quiero recibir una alerta cada vez que se publique nueva información sobre un destino. |
3 |
Como usuario, quiero recibir una alerta cuandohaya una oferta de viaje a un destino concreto. |
3 |
Como cliente, quiero solicitar un chat en directo con otros usuarios interesados en este destino. |
100 |
Resumen
Actividades
b) Hacedla estimación suponiendo que un jabalí pesa unos 90 kg.
b) ¿Y si fuera Juan: 1, María: 5, Pol: 10?
-
Que el artista pueda añadir una foto a un proyecto.
-
Que el artista pueda añadir un vídeo a un proyecto.
-
Que el artista pueda añadir un audio a un proyecto.
-
Poder cancelar una aportación si todavía no se ha llegado a la fecha tope.
-
Añadir nuevas recompensas a un proyecto que ya ha empezado a pedir financiación.
-
Modificar las recompensas de un proyecto aunque algún mecenas ya se haya comprometido (por ejemplo, habíamos dicho que regalaríamos una entrada y una camiseta pero ahora nos lo hemos pensado mejor y sólo queremos regalar la entrada).
-
Poder reducir el límite de la financiación solicitada una vez iniciado el proceso si vemos que no podremos llegar a tiempo.
-
Transferir el dinero al artista aunque no se llegue al mínimo.
A1 |
A2 |
A3 |
A4 |
A5 |
A6 |
A7 |
A8 |
A9 |
A10 |
|
---|---|---|---|---|---|---|---|---|---|---|
P1 |
A |
A |
E |
E |
E |
E |
E |
E |
E |
E |
P2 |
N |
N |
N |
N |
N |
N |
I |
N |
P |
P |
P3 |
I |
A |
A |
A |
E |
A |
E |
A |
E |
A |
P4 |
E |
N |
E |
E |
I |
N |
I |
I |
N |
P |
P5 |
E |
P |
I |
E |
A |
N |
E |
I |
E |
I |
P6 |
P |
E |
E |
I |
E |
E |
P |
I |
I |
I |
P7 |
E |
E |
P |
E |
P |
P |
I |
E |
P |
E |
P8 |
A |
A |
E |
A |
E |
A |
I |
A |
A |
E |
P9 |
E |
I |
I |
I |
E |
E |
I |
P |
I |
E |
P10 |
N |
E |
N |
E |
N |
N |
P |
I |
N |
P |
P11 |
A |
A |
E |
E |
I |
A |
P |
A |
A |
P |
P12 |
I |
E |
A |
A |
A |
E |
A |
P |
P |
A |
P13 |
I |
A |
A |
E |
A |
A |
I |
A |
I |
E |
P14 |
N |
N |
N |
I |
N |
N |
P |
N |
E |
P |
Ejercicios de autoevaluación
Solucionario
Animal |
Puntos |
---|---|
Ciervo |
100 |
Ardilla |
1 |
Elefante |
1.000 |
Ratón |
0 |
Zorro |
10 |
Cerdo jabalí |
100 |
Topo |
5 |
Animal |
Estimación (puntos) |
Peso estimado |
Peso real |
---|---|---|---|
Ciervo |
100 |
90 kg |
70-150 kg |
Ardilla |
1 |
0,9 kg |
0,2-0,3 kg |
Elefante |
1.000 |
900 kg |
5.000-6.000 kg |
Ratón |
0 |
0 kg |
0,01-0,03 kg |
Zorro |
10 |
9 kg |
4,5-8,5 kg |
Cerdo jabalí |
100 |
90 kg |
60-120 kg |
Topo |
5 |
4,5 kg |
0,2 kg |
-
La estimación del ciervo era bastante acertada, probablemente debido a que tiene un peso bastante similar al del jabalí.
-
El peso de la ardilla, sin embargo, está bastante sobrestimado, debido, en parte, a la escala utilizada. Como no hemos querido usar decimales, teníamos que elegir entre 0 gr y 1kg, demasiada diferencia si tenemos en cuenta la escala de peso en la que nos movemos. Por lo tanto, tendríamos que introducir los decimales en la escala o bien usar una unidad más pequeña.
-
El peso del elefante, en cambio, está subestimado por un motivo similar, a pesar de que, en este caso, es posible que el error de estimación sea debido, en parte, a la carencia de referencias intermedias con las que comparar (el animal que más se acerca al peso real del elefante es unas 50 veces menos pesado).
-
El zorro y el ratón están bastante aproximados pero el topo no (ni mucho menos). En este caso, es evidente que la persona que hizo la estimación creía que un topo es un animal bastante más grande delo que realmente es. En este caso, una estimación colaborativa nos hubiera ayudado a detectar este déficit de información.
A1 |
A2 |
A3 |
A4 |
A5 |
A6 |
A7 |
A8 |
A9 |
A10 |
|
---|---|---|---|---|---|---|---|---|---|---|
R1 |
L |
L |
B |
B |
B |
B |
I |
B |
I |
I |
R2 |
I |
L |
A |
A |
I |
L |
I |
A |
B |
A |
R3 |
I |
I |
I |
I |
A |
C |
I |
I |
I |
I |
R4 |
C |
C |
I |
C |
I |
C |
I |
C |
C |
I |
R5 |
B |
I |
B |
I |
B |
B |
I |
I |
B |
I |
R6 |
A |
A |
C |
C |
C |
A |
C |
A |
A |
C |
R7 |
L |
L |
L |
I |
L |
L |
I |
L |
I |
I |
Q |
A |
L |
C |
I |
B |
|
---|---|---|---|---|---|---|
R1 |
0 |
0 |
2 |
0 |
3 |
5 |
R2 |
0 |
4 |
2 |
0 |
3 |
1 |
R3 |
0 |
1 |
0 |
1 |
8 |
0 |
R4 |
0 |
0 |
0 |
6 |
4 |
0 |
R5 |
0 |
0 |
0 |
0 |
5 |
5 |
R6 |
0 |
5 |
0 |
5 |
0 |
0 |
R7 |
0 |
0 |
6 |
0 |
4 |
0 |
2. La principal ventaja es que la persona o personas que hacen la estimación solo tienen que fijarse en un concepto: el tamaño, y no tienen que tener en cuenta factores como el estado anímico del equipo, riesgos que se pueden materializar, etc. Ver el subapartado 2.1.
3. La velocidad es una medida del progreso de un equipo por unidad de tiempo y sirve para estimar la duración de un proyecto a partir del tamaño de sus requisitos. Ver el subapartado 2.1.
4. A medida que los requisitos tienen granularidad más gruesa, serán más grandes y difíciles de estimar por comparación y, por lo tanto, la precisión será menor. La serie de Fibonacci nos ayuda a reflejar este hecho. Ver el subapartado 2.2.
5. En el caso de no coincidir, los participantes vuelven a hablar para entender el motivo de la diferencia de criterio. Ver el subapartado 2.3.2.
6. La visión del producto describe por qué se está llevando a cabo el desarrollo y cuál es el estado final deseado. Ver el subapartado 3.1.1.
7. La principal ventaja de esta técnica es que permite maximizar el valor obtenido por el desarrollo, puesto que, al hacer el recorrido de la tabla en anchura, evitamos situaciones en las que tenemos una funcionalidad muy desarrollada pero otra igual de importante sin empezar. Ver el subapartado 3.1.3.
8. Las características básicas son aquellas que el cliente espera del producto (...). Si carece de alguna de estas, el cliente considerará el producto incompleto. Su presencia, en cambio, no aumenta significativamente la satisfacción del cliente. Ver el subapartado 3.2.3.
9. A lo largo del tiempo, las características apasionantes se convierten en lineales y las lineales, en básicas, por lo cual hay que revisar la clasificación de las diferentes características con el paso del tiempo. Ver el subapartado 3.2.3.
10. El backlog es una lista priorizada de trabajo pendiente para finalizar el proyecto de desarrollo. Ver el subapartado 3.3.
11. Un backlog es emergente porque puede evolucionar a medida que cambia el conocimiento que tenemos sobre las necesidades de los stakeholders y las tareas a hacer en cada momento. Ver el subapartado 3.3.
12. Un backlog está detallado apropiadamente cuando usa niveles de detalle diferentes para las entradas que contiene (y el nivel de detalle es el adecuado para cada entrada). Ver el subapartado 3.3.
Glosario
- A/B testing m
- Técnica empírica de priorización de requisitos que consiste en implementar dos requisitos alternativos (A y B), establecer una métrica que determine cuál de los dos tiene más éxito y exponer a un subconjunto de los usuarios al requisito A y otro subconjunto al B.
- backlog m
- Lista priorizada de trabajo pendiente para finalizar el proyecto de desarrollo.
- comparación f
- Técnica de estimación consistente en buscar otro requisito ya estimado y establecer el coste del requisito a estimar en función de coste del requisito estimado.
- estimación (de requisitos) f
- Consiste en etiquetar los requisitos con un valor que dé una idea de cómo afecta al coste total del proyecto la inclusión de aquel requisito.
- gestión de requisitos f
- Proceso mediante el cual decidimos cuáles de los requisitos candidatos formarán parte del conjunto definitivo de requisitos.
- Kano (modelo) m
- Teoría de desarrollo de productos orientada a la satisfacción del cliente, que tiene como finalidad poder predecir el nivel de satisfacción del cliente en función de cuáles sean las características presentes en el producto.
- planning poker m
- Técnica de estimación colaborativa donde cada persona hace su estimación sin saber cuál será la estimación de los demás.
- priorización de requisitos f
- Proceso mediante el cual establecemos la prioridad relativa de los requisitos del software.
- producto mínimo entregable m
- Producto con la funcionalidad mínima, que cumple las necesidades de unos clientes concretos.
- puntos de historia m pl
- Unidad ficticia de estimación de tamaño de requisitos.
- requisito candidato m
- Requisito que todavía no hemos decidido si tendremos o no en consideración a la hora de desarrollar el software.
- tamaño (de un requisito) f
- Dimensión de estimación relativa que no tiene en cuenta la duración, sino la complejidad y los riesgos que comporta implementar un requisito.
- triangulación f
- Técnica de estimación consistente en buscar un requisito de coste superior y uno de coste inferior al requisito en cuestión y establecer el coste definitivo del requisito en función de estos dos costes estimados.
- velocidad (de un equipo de desarrollo) f
- Magnitud que mide el progreso de un equipo por unidad de tiempo (típicamente en puntos de historia por iteración).
- visión (del producto) f
- Punto de vista que describe por qué se está llevando a cabo el desarrollo y cuál es el estado final deseado.