Está en la página 1de 29

4.

Priorización de Requerimientos

¿Qué es priorización de requerimientos?


La calidad de un software es comúnmente determinada por la satisfacción que
genera en el cliente a quien se entrega, por ello la elicitación y especificaciones
funcionales correctas son esenciales para asegurar la calidad que tendrá el
software. La priorización ayuda a identificar los requerimientos más
importantes definiendo de esta manera los que son de suma importancia para
el desarrollo del sistema y los que son más triviales.
El proceso de priorización provee garantía para (entre otras) las siguientes
actividades:
❑ Que los stakeholders decidan lo esencial para el sistema
❑ Para planear requerimientos ordenados y óptimos para una
implementación exitosa
❑ Estimar la satisfacción esperada del cliente
❑ Poder manejar requerimientos contradictorios
❑ Intentar obtener el mayor valor para el sistema al menor costo

1 / 28
4. Priorización de Requerimientos
4.1. Aspectos de la Priorización

Hay diversos aspectos a tomar en cuenta a la hora de priorizar los


requerimientos. Cada aspecto es una propiedad o un atributo perteneciente al
proyecto que se está trabajando que puede definir qué tan fundamental es una
acción o proceso que deba llevar a cabo el sistema. Cuáles aspectos considerar
a la hora de realizar la priorización dependerá de la situación específica en la
que se esté trabajando, y estos aspectos por lo general serán evaluados por los
stakeholders, entre ellos se encuentran los mencionados a continuación:

Importancia : Todos deben estar de acuerdo en el significado.

Tres valores:

❑ Alta – Media – Baja 1


❑ Esencial – Condicional – Opcional 2 3
❑ Crítica – Importante - Útil

2 / 28
4. Priorización de Requerimientos
4.1. Aspectos de la Priorización

Importancia

Alta – Esencial

❑ Requerimiento de misión crítica


❑ El software no es aceptable sin él.
Media – Condicional
❑ Operaciones de soporte del sistema.
❑ Amplía la funcionalidad del software, pero se puede aceptar sin él al
comienzo.
Baja – Opcional
❑ Interesante tener esta funcionalidad o cualidad, si los recursos lo permiten.
❑ Funciones que no son muy valiosas.

3 / 28
4. Priorización de Requerimientos
4.1. Aspectos de la Priorización

❑ Costo : Esfuerzo y recursos que se requieren para implementar un requerimiento.


❑ Castigo : Una consecuencia de no implementar el requerimiento.
❑ Volatilidad : Son los cambios en los requerimientos después de que el conjunto
básico ha sido aceptado por los clientes y los desarrolladores de software
(Stark,1999)

Tipos de cambios :
❑ Requerimientos agregados
❑ Requerimientos eliminados
❑ Requerimientos modificados

Por etapas:
❑ Pre-Release en etapa de especificación
❑ Pre-Release en etapa de construcción
❑ Post-Release

4 / 28
4. Priorización de Requerimientos
4.1. Aspectos de la Priorización

Volatilidad

Causas:
❑ Factores Externos
❑ Regulaciones de gobierno
❑ Estrategias de marketing
❑ Factores Internos
❑ Poca intervención del usuario
❑ Proyectos extensos
❑ Imposibilidad de cerrar ciertamente los requerimientos del proyecto
❑ Poca retroalimentación de otras fases del proceso.

Impacto:
❑ Impacto sobre el cronograma del proyecto
❑ Impacto económico.
❑ Impacto en calidad de producto
5 / 28
4. Priorización de Requerimientos
4.1. Aspectos de la Priorización

Volatilidad

Riesgo : Una probabilidad de que el requerimiento no entregue el valor esperado.

Hay muchos tipos de riesgos que amenazan a los proyectos de software:

❑ No cumplir el plazo previsto inicialmente.


❑ Que la tecnología que se ha seleccionado cumpla con las expectativas..
❑ Que el producto que finalmente se ha desarrollado no es el que los
clientes/usuarios quieren.

Además de estos existen una amplia gama de aspectos a considerar que pueden ser
presentados por cualquier persona que trabaje en el proyecto o tenga relación alguna
con el mismo; además cabe destacar que estos aspectos pueden ser combinados en
“uno solo”.

6 / 28
4. Priorización de Requerimientos

4.2. Técnicas de Priorización


Ahora se presentarán varias técnicas que pueden ser utilizadas para llevar a cabo la
priorización de requerimientos, algunas de ellas asumen que cada requerimiento está
asociado con una prioridad.

4.2.1. Proceso Analítico de Jerarquización AHP


El proceso de jerarquía analítica consiste en analizar todas las posibles paridades de
requerimientos clasificados de manera jerárquica, usualmente en una escala que va de
1 a 9, siendo 1 “baja importancia” y 9 “alta importancia”. El número total de
comparaciones que se llevan a cabo es n x (n-1)/2, siendo n la cantidad de
requerimientos.

(Para mayor información consultar El proceso de jerarquía analítica (AHP))


Consultado el 19 de febrero del 2019
https://prosprev.com/2014/06/25/el-proceso-de-jerarquia-analitica-ahp/

7 / 28
4. Priorización de Requerimientos

4.2.3. Ranking

Está técnica está basada en una escala ordinal en la cuál a los requerimiento se
les asigna una posición en el ranking, que va de 1 a n, siendo n la cantidad de
requerimientos, pero a diferencia del proceso de jerarquía analítica, el puesto
1 es el de mayor importancia.

8 / 28
4. Priorización de Requerimientos

4.2.4. Requerimientos Top-Ten

Consiste en hacer que los usuarios escojan su “top 10” de requerimientos, sin
tener necesariamente un orden específico dentro de los mismos, situación que
es de gran utilidad para cuando se tiene varios stakeholders con posibles puntos
de vista distintitos.

En resumen se puede llegar a la siguiente tabla:


RESUMEN DE LAS TÉCNICAS MENCIONADAS
Técnica Escala Granularidad Sofisticación
AHP Relacional Fina Muy compleja
Asignación numérica Relacional Fina Compleja
agrupamiento
Ranking Ordinal Media Fácil

Top-Ten - Muy áspera Muy Fácil

9 / 28
4. Priorización de Requerimientos

4.3. El Proceso de Priorización y los Negociadores

Negociar: Consiste en llegar a un acuerdo en los requerimientos, con las


personas interesadas en el proyecto.

Se realiza :

❑ Cuando hay conflictos.


❑ Diferentes objetivos y perspectivas de las personas interesadas.

Se deben identificar los conflictos :


NEGOCIACIÓN
❑ Elementos en conflicto
❑ Autores, fuentes(participaran ENTRADA :CONJUNTO DE REQUERIMIENTOS EN
en la negociación) TRASLAPE O CON CONFLICTOS.
❑ Descripción del conflicto
❑ Posibles alternativas SALIDA: UN CONJUNTO DE REQUERIMIENTOS
❑ Importancia/Urgencia EN COMUN ACUERDO.
10 / 28
4. Priorización de Requerimientos

4.3. El Proceso de Priorización y los Negociadores

La etapa de negociación esta intercalada con la obtención y el análisis.

Plantilla propuesta Conflicto <id> - <nombre>


Descripción
Requerimientos
relacionados
Alternativas
Consecuencias
Posibles soluciones
Comentarios

Se deben evitar los conflictos emocionales.


Además de los conflictos y las alternativas, se deben hacer explícitas las argumentaciones
que apoyan la solución seleccionada.

11 / 28
4. Priorización de Requerimientos

4.3. El Proceso de Priorización y los Negociadores

PASOS (1) PASOS (2)

❑ Definir el problema. ❑ Determinar los criterios/reglas para


❑ Definir los interesados. evaluar las alternativas.
❑ Identificar los objetivos de cada ❑ Negociación, basada en:
interesado. ✓ Realizar propuestas y definir qué
❑ Analizar los objetivos: aspectos se está dispuesto a cambiar.
✓ Inconsistencias ✓ Buscar alternativas para los puntos en
✓ Riesgos conflicto
✓ Supuestos ✓ Establecer beneficios y compromisos de
cada una de las partes.
Se pueden usar herramientas que ayuden en el proceso:
❑ Plantillas para identificar conflictos.
❑ Tormentas de ideas y votaciones.
❑ Espacios de trabajo compartidos – herramientas colaborativa – Wikis
❑ Herramientas automáticas
12 / 28
4. Priorización de Requerimientos
4.3. El Proceso de Priorización y los
Negociadores

Modelo Win -Win

Elementos:

❑ Condiciones ganadoras(Condiciones Win)


Objetivos y definiciones de los interesados
respecto al sistema.
❑ Acuerdo
Una condición ganadora que no presenta
conflictos.
❑ Problema
Se crea cuando hay un conflicto entre
condiciones ganadoras
❑ Opciones
Soluciones ganadoras.

13 / 28
4. Priorización de Requerimientos

4.4. Usando Requerimientos Priorizados

Generalmente los desarrolladores no implementan todos los requerimientos


por cuestiones de limitaciones de tiempo, dinero, recursos, etc. Por tanto se
vuelve importante el tema de clasificar los requerimientos de mayor a menor
prioridad para el desarrollo del sistema

14 / 28
4. Priorización de Requerimientos

4.4.1. Nivel de Abstracción

Para la prioridad no podemos usar un nombre significativo. La prioridad es


un ente abstracto, resultado de combinar distintos aspectos de la incidencia
y no el reflejo de algo en concreto. Por lo tanto no queda más remedio que
limitarse a los típicos niveles de Alto/Bajo.

Aún así hay varios aspectos a considerar:

❑ Evitar el uso de la palabra urgente. Una incidencia de prioridad “urgente”


sólo liará los conceptos de urgencia y prioridad.
❑ Definir en el nombre las incidencias críticas (entraremos en ello más
adelante)
❑ Usar un número y niveles incrementales, como en el caso del impacto y
la urgencia.

15/ 28
4. Priorización de Requerimientos

4.4.2. Repriorización

La repriorización de factores permite priorizar dentro de un plan de


resultados. Por ejemplo, si los resultados de un cliente indican una baja
puntuación para un factor de 'padres', estos resultados pueden priorizarse y
ser resueltos antes de otros factores. La priorización de factores permite
asegurarse de solucionar primero las necesidades más apremiantes de los
clientes.

La gestión de resultados permite repriorizar factores en el tiempo y el


sistema mantiene automáticamente un historial de repriorización.

16 / 28
4. Priorización de Requerimientos

4.4.3. Requerimientos No Funcionales


Definen cómo debe ser el sistema, aspectos del sistema visibles para el usuario,
que no están relacionados de forma directa con el comportamiento funcional del
sistema.

Abarcan diversos aspectos:

❑ Interfaz de usuario y factores humanos: tipo de interfaz, experiencia.


❑ Documentación requerida, destinatarios, tipo de documentación técnica.
❑ Consideraciones de hardware: compatibilidad con otro hardware, existencia
de otros sistemas.
❑ Características de ejecución: usuarios concurrentes, carga de trabajo.
❑ Gestión de errores y excepciones.
❑ Cuestiones de calidad: fiabilidad, disponibilidad, robustez.
❑ Modificaciones futuras.
❑ Ambiente físico: condiciones climáticas, exposición a golpes, accidentes.
❑ Seguridad.

17 / 28
4. Priorización de Requerimientos

4.4.3. Requerimientos No Funcionales

18 / 28
4. Priorización de Requerimientos
4.4.4. Evaluación de la Priorización
Una matriz de priorización es una herramienta de gestión y control de proyectos que se utiliza para
determinar problemas clave y evaluar las alternativas apropiadas ante un objetivo determinado.

Es decir, es un sistema que facilita la toma de decisiones y que garantiza que se emprenden acciones basadas
en criterios de utilidad objetiva. Ayuda a conocer cuáles son las formas de actuar más rentables y beneficiosas
en un caso concreto. Se utiliza en múltiples contextos, que pueden incluir desde la compra de material en una
empresa, a la contratación de personal para un proyecto concreto o para ayudar a los gerentes de proyectos a
determinar qué problemas deben resolverse primero para cumplir con los objetivos.

Para crear una de estas matrices, las cuestiones clave deben priorizarse y ponderarse antes de que las
opciones de acción posible puedan aplicarse. Gracias a esta herramienta, se obtiene una puntuación para
clasificar las diferentes posibilidades de implementación. Las opciones que obtienen más puntos son las más
viables y beneficiosas de llevar a cabo.

Cuando se elabora una, se usan lluvias de ideas para crear una lista priorizada de elementos. Con ello, se
consideran las opiniones de todas las personas involucradas en la planificación del proyecto. Una vez que las
ideas han sido enumeradas, cada una debe ser evaluada y ponderada, siguiendo un conjunto de criterios.

Hay dos tipos utilizados en la gestión de proyectos, que incluyen las matrices simples y ponderadas. La simple
usa cada factor con el mismo peso, mientras que la ponderada da a algunos factores más valor que a otros.

19 / 28
4. Priorización de Requerimientos

4.4.4. Evaluación de la Priorización

Cuando usar una matriz de priorización

Se debe considerar crear una matriz de priorización en los siguientes casos:

❑ Cuando existe una aglomeración de tareas pendientes de ejecución.


❑ Cuando no se está seguro del mejor uso de los recursos o energía disponible en una
organización.
❑ Cuando se están buscando metas de mejora específicas.
❑ Cuando se quiere tomar una decisión en situaciones donde los criterios para una
buena solución son conocidos o aceptados, pero su importancia relativa es
desconocida o discutida.

20 / 28
4. Priorización de Requerimientos
4.4.4. Evaluación de la Priorización

¿Qué es el método MoSCoW?


Priorizar es a menudo desafiante, particularmente, cuando se trata de la implementación de
nuevas ideas o tecnologías. Todos los integrantes de una organización quieren que los objetivos se
consigan con la mayor rapidez posible y eso es, algunas veces, prácticamente imposible.

Hay varias herramientas disponibles para facilitar la priorización. El método MoSCoW es una de ellas.
Dai Clegg, de la compañía de software Oracle, lo inventó. Con él se etiqueta cada requisito, lo que
facilita la priorización.

Aunque el origen de este método de priorización está en el desarrollo de software, también es muy
aplicable para lanzamientos de mercado, de productos, iniciar un nuevo negocio o cambiar procesos.
Con el método MoSCoW, los requisitos se determinan para el resultado del proyecto o producto. Se
trata de establecer los requisitos por orden de prioridad. Los más importantes deben cumplirse
primero para tener más posibilidades de éxito.

Su nombre es un acrónimo formado por las primeras letras de las palabras en


inglés must, should, could y won’t. La M significa “Debe tener”; la S, “Debería tener”; la C, “Podría
tener” y la W, “No tendré”. Las dos oes han sido agregadas para hacer legible la palabra “MoSCoW”,
que quiere decir Moscú, en inglés, aunque no tienen ningún significado.

21 / 28
4. Priorización de Requerimientos

4.4.4. Evaluación de la Priorización

Cuando usar una matriz de priorización

Se debe considerar crear una matriz de priorización en los siguientes casos:

❑ Cuando existe una aglomeración de tareas pendientes de ejecución.


❑ Cuando no se está seguro del mejor uso de los recursos o energía disponible en una
organización.
❑ Cuando se están buscando metas de mejora específicas.
❑ Cuando se quiere tomar una decisión en situaciones donde los criterios para una
buena solución son conocidos o aceptados, pero su importancia relativa es
desconocida o discutida.

22 / 28
4. Priorización de Requerimientos
4.4.4. Evaluación de la Priorización
Ejemplo
Por ejemplo, una matriz de priorización podría usarse para ayudar a decidir la compra de
una pieza importante de equipo o la selección de un proveedor. Dependiendo de cuánto
tiempo se tenga y de la complejidad del problema, hay varias opciones para construir una
matriz de priorización.
En el caso de la adquisición de una pieza de equipo, se deberían establecer los usos que se
le darían y la importancia de los mismos.
¿Cómo se hace?
Paso 1: acordar el objetivo final. El primer paso para aplicar el método de criterios
analíticos completo es garantizar que las personas que trabajan en la matriz acuerden el
objetivo final que intentan alcanzar.
Paso 2: hacer una lista de criterios necesarios para cumplir el objetivo. A continuación, se
crea una lista de criterios o características necesarias para lograr el objetivo. La idea es,
simplemente, enumerar los criterios sin tener en cuenta su importancia relativa. Eso se
lleva a cabo más adelante.

23 / 28
4. Priorización de Requerimientos
4.4.4. Evaluación de la Priorización
El equipo puede hacer esto mediante discusión o lluvia de ideas. El objetivo es enumerar
todos los criterios que se pueden aplicar a todas las opciones.

Paso 3: comparar la importancia relativa del criterio. Una vez que se desarrolla la lista
total, el siguiente paso es juzgar la importancia relativa de cada criterio en comparación
con los demás. Para eso, se hace una matriz en forma de L con todos los criterios
enumerados, tanto en los ejes horizontales como los verticales.

Se compara la importancia de cada criterio en el lado vertical de la matriz con cada criterio
enumerado a lo largo del lado horizontal usando ponderaciones. Se agregan los valores
registrados en cada columna y luego los totales de las columnas para obtener el total
general.

Se agregan los valores registrados en cada fila y luego los totales de la fila para obtener el
total general. El total en las columnas debe cuadrar con el de las filas.
Se divide cada fila total por el total general. Este porcentaje es la ponderación que muestra
la importancia relativa de cada criterio.

24 / 28
4. Priorización de Requerimientos
4.4.4. Evaluación de la Priorización
Paso 4: evaluar las opciones en relación con los criterios ponderados. Ahora que se conoce
la importancia relativa de cada criterio, el siguiente paso es evaluar en qué medida las
opciones posibles cumplen con cada uno de los criterios.

Esas opciones posibles podrían ser cosas como qué pasos de mejora dar primero,
qué equipo comprar o qué proveedor utilizar.

Para completar este paso, se crea una nueva matriz en forma de L con todas las opciones
posibles tanto en la horizontal como en la vertical.

Paso 5: evaluar los criterios contra cualquier otro criterio. Se selecciona el primero que se
desee considerar y se compara cada opción posible con cualquier otra opción posible
preguntando en qué medida cumplirá ese criterio o característica.

Por ejemplo, si el primer criterio que se estaba considerando era el alto potencial de
ahorro, se compararía cada opción con cualquier otra, en términos de su potencial para
generar altos ahorros monetarios.

25 / 28
4. Priorización de Requerimientos

4.4.4. Evaluación de la Priorización


Paso 6: comparar las posibles opciones con los criterios restantes. Del mismo modo, se
completa una matriz que compare cada una de las opciones posibles para cada uno de
los criterios restantes. Si se hace eso para todos los criterios, se tendría que crear un total de
matrices que compararan cada combinación de opciones posibles por su capacidad relativa de
cumplir con cada uno de los criterios identificados.
Se puede optar por simplificar este proceso eliminando algunos criterios que tengan un
porcentaje muy bajo de ponderación.
Paso 7: reunir todos los datos recopilados. El último paso en el método de criterios
analíticos completos es unir la capacidad relativa de una posible elección de un criterio deseado
con la ponderación relativa de ese criterio.
Para hacer esto, se crea una nueva matriz en forma de L con todas las opciones o posibles
elecciones en la parte vertical y todos los criterios considerados en la horizontal.
En definitiva, la disciplina de una matriz de priorización permite evitar que se establezcan
prioridades arbitrarias que tienen menos probabilidades de ayudar a alcanzar los objetivos
deseados. Sin embargo, el método analítico completo requiere de un tiempo y esfuerzo
considerables, y debe usarse solo si los riesgos o los beneficios potenciales lo justifican.

26 / 28
4. Priorización de Requerimientos

4.4.5 Usando los Resultados de la Priorización.

Al tener la prioridad establecida. ¿Y para que nos sirve? Principalmente para


tres cosas:

❑ Determinar el orden de resolución de incidencias.


❑ Definir objetivos de servicio
❑ Detectar incidencias críticas

(Para mayor información consultar Cómo hacer una matriz de priorización)


Consultado el 23 de febrero del 2019
https://ingenioempresa.com/matriz-de-priorizacion/

27 / 28
Referencias Bibliográficas

▪ Sommerville, I. (2016). Software Engineering. (10 ed.). Pearson Addison Wesley.

▪ Pressman, R. (2010). Ingeniería del Software: Un enfoque práctico.(7 ed.). McGRAW-HILL.

▪ Pantaleo, G. y Lis Rinaudo, L. (2014). Ingeniería de software. Alfaomega.

▪ Sánchez Alonso, S. y Sicilia Urban, M.A. y Rodríguez García, D. (2012). Ingeniería de software. Un enfoque
desde la guía SWEBOK. Alfaomega.

▪ León, G. (1 de marzo de 2011). Ingeniería de Sistemas de Software. Slideshare.


https://es.slideshare.net/8800702/ingenieria-de-sistemas-de-software

▪ Betancourt, D. (24 de Noviembre de 2018). Cómo hacer una matriz de priorización. Ingenio Empresa.
www.ingenioempresa.com/matriz-de-priorizacion.

▪ Huerta, J. (17 de Noviembre de 2014). Priorizando incidencias. JOSE HUERTA.


https://josehuerta.es/gestion/servicios/incidencias/priorizando-incidencias

▪ Linares, E. (s.f.). Ingeniería de Requerimientos. SlidePlayer.


https://slideplayer.es/slide/1653087/release/woothee

▪ El proceso de jerarquía analítica. (25 de Junio de 2014). Recuperado de


https://prosprev.com/2014/06/25/el-proceso-de-jerarquia-analitica-ahp/

28 / 28

También podría gustarte