Simple Science

Ciencia de vanguardia explicada de forma sencilla

# Informática# Ingeniería del software# Inteligencia artificial

Métodos interactivos para priorizar requisitos de software

Nuevas técnicas mejoran cómo los equipos priorizan las necesidades de software de manera efectiva.

― 7 minilectura


Priorización InteligentePriorización Inteligenteen Proyectos de Softwarerequisitos.equipos de software priorizan susRevoluciona la manera en que los
Tabla de contenidos

En el desarrollo de software, decidir qué Requisitos o funciones construir primero es clave. Los desarrolladores a menudo se enfrentan a un montón de ideas o necesidades, pero tienen tiempo y recursos limitados para ofrecer las mejores. Priorizar requisitos ayuda a los equipos a enfocar lo que más importa, basándose en factores como lo que quieren los usuarios, cuánto cuesta y cómo se conectan las cosas en la tecnología.

La Importancia de la Prioridad

Cuando priorizas los requisitos de software, puedes:

  1. Identificar las necesidades más importantes.
  2. Crear un plan claro sobre qué construir a continuación.
  3. Decidir qué debe hacerse para la versión más simple del producto.
  4. Manejar cualquier conflicto que surja debido a dependencias tecnológicas.

A menudo, los equipos utilizan varios Métodos para averiguar qué requisitos priorizar. Algunos enfoques implican dar a cada requisito un peso basado en costo, valor y esfuerzo. Estos métodos tradicionales pueden basarse en experiencias pasadas o estar fundamentados puramente en el conjunto actual de requisitos.

Métodos Comunes para Priorizar

Algunas formas comunes de priorizar requisitos incluyen:

  • Bubble Sort: Este método compara cada requisito con otros. Sin embargo, se vuelve complicado a medida que crece el número de requisitos.
  • Votación Cumulativa: Los interesados reciben un número determinado de puntos o cantidades de dinero para repartir entre los requisitos y mostrar sus preferencias.
  • Método de los Diez Mejores: Los interesados hacen una lista de sus diez mejores selecciones sin ningún orden específico; luego, se combinan en una sola lista.

Aunque estos enfoques pueden funcionar, a menudo tienen problemas con Proyectos más grandes que tienen muchos requisitos. Algunos métodos utilizan un enfoque más detallado, como el Proceso de Jerarquía Analítica (AHP), que se basa en comparar todos los pares posibles de requisitos. Pero esto puede causar problemas cuando el número de requisitos se vuelve demasiado grande.

Abordando Problemas de Escalado

Para abordar el desafío del escalado, han surgido nuevos métodos. Por ejemplo, usar aprendizaje automático puede ayudar a predecir qué requisitos son esenciales sin necesidad de comparar cada posible par. Sin embargo, estos a menudo carecen de la capacidad de incluir factores adicionales como las necesidades de los usuarios o las dependencias entre requisitos.

Se han desarrollado otros métodos interactivos para facilitar a los Analistas la Priorización de requisitos, incluso con menos comparaciones. Por ejemplo, algunos enfoques utilizan algoritmos genéticos o solucionadores de restricciones para hacer el proceso más eficiente.

Introduciendo un Método Interactivo

Un nuevo enfoque utiliza un solucionador de restricciones, desarrollado específicamente por Microsoft, para ayudar en la priorización de requisitos. Este método implica comparar requisitos a través de la entrada directa de analistas de requisitos. Los analistas aportan su conocimiento y experiencia para ayudar a determinar la importancia relativa de los diferentes requisitos.

Este método propuesto busca combinar el conocimiento inicial sobre los requisitos con los insights obtenidos durante una sesión interactiva con el analista. Al recopilar información de manera gradual, el método busca producir una lista final de requisitos priorizados mientras minimiza la carga de trabajo del analista.

Preguntas de Investigación

El estudio de este método de priorización interactiva gira en torno a tres preguntas principales:

  1. ¿Mejora el método interactivo la priorización en comparación con un enfoque no interactivo?
  2. ¿Cómo se compara este nuevo método con los métodos avanzados de priorización existentes?
  3. ¿Es este método interactivo más fuerte contra errores cometidos por los analistas?

Resultados de la Evaluación del Método

El método que usa el solucionador de restricciones mostró resultados prometedores. Cuando se probó con requisitos reales de proyectos de atención médica, superó a los métodos tradicionales tanto en efectividad como en robustez contra errores cometidos por los analistas.

Con la versión interactiva del método, los analistas pudieron tomar decisiones más informadas, lo que llevó a una priorización de requisitos significativamente mejor. Al recopilar información de los analistas, las clasificaciones finales de los requisitos estaban más alineadas con lo que realmente era valioso para el proyecto.

Importancia de la Interacción

A través de las pruebas, quedó claro que cuanto más participaban los analistas proporcionando información, mejor era la priorización final de los requisitos. En escenarios donde los analistas podían comparar múltiples pares de requisitos, el proceso llevó a tasas de desacuerdo más bajas sobre lo que se considera las mejores opciones.

Por ejemplo, en pruebas que involucraron diferentes grados de aportación del analista, los resultados mostraron una clara tendencia: cuanto más pares comparaban los analistas, más precisa se volvía la priorización. Esto significaba que incluso un pequeño aumento en la participación del analista podía mejorar significativamente los resultados.

Comparando Métodos

Cuando se comparó el nuevo método con métodos de priorización interactivos establecidos, mostró consistentemente mejores resultados. El método que utiliza el solucionador de restricciones produjo tasas de desacuerdo más bajas con las mejores prácticas existentes. Esto indica que el nuevo enfoque no solo es eficiente, sino que realmente proporciona una mejor priorización que los métodos usados anteriormente.

Incluso con algunos errores en la toma de decisiones durante la aportación del analista, el nuevo método se mantuvo resistente. Los resultados revelaron que el nuevo enfoque podía tolerar mejor los errores de los analistas que sus predecesores. Esto es vital porque el error humano es una parte común de cualquier proceso de toma de decisiones.

Aplicación en el Mundo Real

La aplicación en el mundo real del método basado en el solucionador de restricciones demuestra su efectividad. Un proyecto específico involucró desarrollar un sistema para el cuidado de ancianos. El proyecto tenía una variedad de requisitos que necesitaban priorizarse de manera efectiva.

Al aplicar el nuevo método, el equipo de desarrollo pudo equilibrar las necesidades técnicas con las prioridades de los usuarios. La estructura les permitió ver no solo qué era crítico implementar primero, sino también cómo crear un plan de desarrollo manejable.

Consideraciones Futuras

El método formulado muestra promesa, pero se necesita más trabajo. La investigación futura podría centrarse en experimentar con diferentes tipos de requisitos y explorar cuán bien este enfoque puede generalizarse a través de varios proyectos. También puede haber oportunidades para refinar cómo se estructura o se pondera la aportación del analista.

Además, estudios empíricos podrían ayudar a medir cómo perciben los usuarios los resultados de sus requisitos priorizados. Recopilar comentarios de los analistas podría dar una idea de cuán cómodos se sienten usando el algoritmo de priorización y si satisface efectivamente sus necesidades.

Conclusión

El nuevo método de priorización interactiva representa un avance significativo en cómo los equipos de software gestionan sus procesos de requisitos. Al aprovechar el conocimiento de los analistas de una manera estructurada, permite una toma de decisiones más precisa que se alinea tanto con las necesidades de los usuarios como con los requisitos técnicos.

Este método ha demostrado mejorar la eficiencia general, reducir la cantidad de esfuerzo requerido por los analistas y entregar mejores resultados en escenarios del mundo real. A medida que los equipos continúan enfrentando proyectos complejos con muchos requisitos en competencia, este enfoque innovador puede ayudarles a navegar estos desafíos de manera más efectiva.

Fuente original

Título: Improving Software Requirements Prioritization through the Lens of Constraint Solving

Resumen: Requirements prioritization is a critical activity during the early software development process, which produces a set of key requirements to implement. The prioritization process offers a parity among the requirements based on multiple characteristics, including end-users' preferences, cost to implement, and technical dependencies. This paper presents an interactive method to requirements prioritization that leverages the pairwise comparisons and a constraint solver. Our method employs an interactive accumulation of knowledge from the requirements analyst when the relative priority among the requirements cannot be determined based on the existing knowledge from the requirements documents. The final ranking of the requirements is produced via the constraint solver and interactive pairwise comparisons. We evaluate the proposed method using the requirements from a real healthcare project. The proposed prioritization method relying on a constraint solver outperforms state-of-the-art interactive prioritization methods in terms of effectiveness and robustness to analyst's errors.

Autores: Jonathan Winton, Francis Palma

Última actualización: 2023-06-21 00:00:00

Idioma: English

Fuente URL: https://arxiv.org/abs/2306.12391

Fuente PDF: https://arxiv.org/pdf/2306.12391

Licencia: https://creativecommons.org/licenses/by/4.0/

Cambios: Este resumen se ha elaborado con la ayuda de AI y puede contener imprecisiones. Para obtener información precisa, consulte los documentos originales enlazados aquí.

Gracias a arxiv por el uso de su interoperabilidad de acceso abierto.

Artículos similares