Articulo de referencia

Priorización de requisitos

La priorización de requisitos se utiliza en la gestión de productos de software para determinar qué requisitos candidatos de un producto de software deben incluirse en una versi...

La priorización de requisitos se utiliza en la gestión de productos de software para determinar qué requisitos candidatos de un producto de software deben incluirse en una versión determinada. Los requisitos también se priorizan para minimizar el riesgo durante el desarrollo, de modo que los requisitos más importantes o de mayor riesgo se implementen primero. Existen varios métodos para evaluar la priorización de los requisitos de software. [ 1 ] [ 2 ]

Introducción

En la gestión de productos de software existen varios subprocesos. En primer lugar, está la gestión de cartera, donde se define una estrategia de desarrollo de productos basada en información del mercado y de las empresas asociadas. En la planificación de la hoja de ruta del producto (o de la tecnología ), se identifican los temas y los activos principales de los productos de la cartera y se crean las hojas de ruta. En la gestión de requisitos, se recopilan y organizan los requisitos de software candidatos para un producto. Finalmente, en la planificación de la versión, estos requisitos se priorizan y seleccionan para una versión, tras lo cual se puede preparar el lanzamiento del producto de software. Por lo tanto, uno de los pasos clave en la planificación de la versión es la priorización de requisitos.

Enfoque de costo-valor

Un método eficaz y relativamente sencillo para priorizar los requisitos de un producto de software es el enfoque de costo-valor. Este enfoque fue creado por Joachim Karlsson y Kevin Ryan, y posteriormente desarrollado y comercializado por la empresa Focal Point (adquirida por Telelogic en 2005). Su idea básica consistía en determinar, para cada requisito candidato, el costo de su implementación y su valor.

La evaluación de valores y costos para los requisitos se realizó utilizando el Proceso Analítico Jerárquico (PAJ). Este método fue creado por Thomas Saaty . Su idea básica es que, para todos los pares de requisitos (candidatos), una persona evalúa un valor o un costo comparando un requisito del par con el otro. Por ejemplo, un valor de 3 para (Req1, Req2) indica que el requisito 1 tiene un valor tres veces mayor que el requisito 2. Obviamente, esto indica que (Req2, Req1) tiene un valor de ⅓. En el enfoque de Karlsson y Ryan, se identifican cinco pasos para revisar los requisitos candidatos y determinar una prioridad entre ellos. Estos se resumen a continuación. [ 3 ]

  1. Los ingenieros de requisitos revisan cuidadosamente los requisitos de los candidatos para comprobar que estén completos y que se enuncien de forma inequívoca.
  2. Los clientes y usuarios (o sustitutos adecuados) aplican el método de comparación por pares del AHP para evaluar el valor relativo de los requisitos candidatos.
  3. Los ingenieros de software experimentados utilizan la comparación por pares del AHP para estimar el coste relativo de implementar cada requisito candidato.
  4. Un ingeniero de software utiliza el AHP para calcular el valor relativo y el costo de implementación de cada requisito candidato, y los representa en un diagrama de costo-valor. El valor se muestra en el eje Y de este diagrama y el costo estimado en el eje X.
  5. Las partes interesadas utilizan el diagrama de costo-valor como un mapa conceptual para analizar y debatir los requisitos de los candidatos. A continuación, los gerentes de software priorizan los requisitos y deciden cuáles se implementarán.

Ahora bien, el enfoque de costo-valor y la priorización de requisitos en general se enmarcan en el contexto de la gestión de productos de software . Como se mencionó anteriormente, la planificación de lanzamientos forma parte de este proceso. La priorización de los requisitos de software es un subproceso de la planificación de lanzamientos.

El proceso de planificación de lanzamiento consta de los siguientes subprocesos:

  1. Priorizar los requisitos
  2. Seleccionar requisitos
  3. Definir los requisitos de lanzamiento
  4. Validar los requisitos de lanzamiento
  5. Preparar el lanzamiento

Otras técnicas de priorización

Referencias

  1. ^ Lehtola, Laura, Marjo Kauppinen y Sari Kujala. " Desafíos de priorización de requisitos en la práctica ". Mejora de procesos de software centrados en el producto. Springer Berlín Heidelberg, 2004. 497-508.
  2. Berander, Patrik y Anneliese Andrews. « Priorización de requisitos. Archivado el 27/10/2014 en Wayback Machine ». Ingeniería y gestión de requisitos de software. Springer Berlin Heidelberg, 2005. 69-94.
  3. Karlsson, J. y Ryan, K. (1997). Un enfoque de costo-valor para priorizar requisitos, IEEE Software septiembre/octubre de 1997 , 67-74.
  4. "Modelo de puntuación ICE para la priorización" .

Lecturas adicionales

  • I. van de Weerd, Sjaak Brinkkemper , R. Nieuwenhuis, J. Versendaal y L. Bijlsma (2006). Un marco de referencia para la gestión de productos de software. Informe científico. Departamento de Ciencias de la Información y la Computación, Universidad de Utrecht, Países Bajos, 2006 . Enviado para publicación.