Simple Science

La science de pointe expliquée simplement

# Informatique# Génie logiciel# Intelligence artificielle

Méthodes interactives pour prioriser les exigences logicielles

De nouvelles techniques améliorent la façon dont les équipes priorisent efficacement les besoins logiciels.

― 7 min lire


Priorisation Maligne dansPriorisation Maligne dansles Projets Logicielsde dev priorisent leurs besoins.Révolutionne la façon dont les équipes
Table des matières

Dans le développement logiciel, savoir quelles Exigences ou fonctionnalités construire en premier est super important. Les développeurs se retrouvent souvent avec plein d'idées ou de besoins, mais ils ont un temps et des ressources limités pour livrer les meilleurs. Prioriser les exigences aide les équipes à se concentrer sur ce qui compte le plus, en se basant sur des trucs comme ce que veulent les utilisateurs, combien ça coûte, et comment tout est connecté dans la technologie.

L'Importance de la Priorisation

Quand tu priorises les exigences logicielles, tu peux :

  1. Identifier les besoins les plus importants.
  2. Créer un plan clair pour ce qu'il faut construire ensuite.
  3. Décider ce qui doit être fait pour la version la plus simple du produit.
  4. Gérer les conflits qui peuvent surgir à cause des dépendances tech.

Souvent, les équipes utilisent différentes Méthodes pour déterminer quelles exigences prioriser. Certains moyens consistent à donner un poids à chaque exigence basé sur le coût, la valeur et l'effort. Ces méthodes classiques peuvent s'appuyer sur des expériences passées ou juste sur l'ensemble actuel des exigences.

Méthodes Courantes de Priorisation

Quelques manières courantes de prioriser les exigences incluent :

  • Tri à Bulles : Cette méthode compare chaque exigence aux autres. Cependant, ça devient compliqué à mesure que le nombre d'exigences augmente.
  • Vote Cumulatif : Les parties prenantes reçoivent un certain nombre de points ou de montants en dollars à distribuer parmi les exigences pour montrer leurs préférences.
  • Méthode des Dix Meilleurs : Les parties prenantes listent leurs dix choix sans ordre précis ; ensuite, tout ça est combiné en une seule liste.

Bien que ces approches soient utiles, elles peinent souvent avec des Projets plus grands qui ont beaucoup d'exigences. Certaines méthodes adoptent une approche plus détaillée, comme le Processus d'Analyse Hiérarchique (AHP), qui repose sur la comparaison de toutes les paires possibles d'exigences. Mais ça peut poser des problèmes quand le nombre d'exigences devient trop important.

Résoudre les Problèmes d'Échelle

Pour surmonter le défi d'échelle, de nouvelles méthodes ont émergé. Par exemple, l'utilisation de l'apprentissage automatique peut aider à prédire quelles exigences sont essentielles sans avoir besoin de comparer chaque paire possible. Cependant, elles manquent souvent de la capacité à inclure des facteurs supplémentaires comme les besoins des utilisateurs ou les dépendances entre les exigences.

D'autres méthodes interactives ont été développées pour faciliter la priorisation des exigences, même avec moins de comparaisons. Par exemple, certaines approches utilisent des algorithmes génétiques ou des solveurs de contraintes pour rendre le processus plus efficace.

Présentation d'une Méthode Interactive

Une nouvelle approche utilise un solveur de contraintes, spécialement développé par Microsoft, pour aider à prioriser les exigences. Cette méthode implique de comparer les exigences via des entrées directes des Analystes. Les analystes apportent leur savoir et leur expérience pour aider à déterminer l'importance relative des différentes exigences.

Cette méthode proposée vise à combiner les connaissances initiales sur les exigences avec les informations recueillies lors d'une session interactive avec l'analyste. En collectant les avis progressivement, la méthode cherche à produire une liste finale d'exigences prioritaires tout en minimisant la charge de travail de l'analyste.

Questions de Recherche

L'étude de cette méthode de priorisation interactive tourne autour de trois questions principales :

  1. La méthode interactive améliore-t-elle la priorisation par rapport à une approche non interactive ?
  2. Comment cette nouvelle méthode se compare-t-elle aux méthodes avancées de priorisation existantes ?
  3. Cette méthode interactive est-elle plus robuste face aux erreurs des analystes ?

Résultats de l'Évaluation de la Méthode

La méthode utilisant le solveur de contraintes a montré des résultats prometteurs. Lorsqu'elle a été testée avec les exigences réelles d'un projet de santé, elle a surpassé les méthodes traditionnelles tant en termes d'efficacité que de robustesse face aux erreurs des analystes.

Avec la version interactive de la méthode, les analystes ont pu prendre des décisions plus éclairées, ce qui a mené à une priorisation des exigences beaucoup meilleure. En recueillant les avis des analystes, les classements finaux des exigences étaient plus en phase avec ce qui était réellement précieux pour le projet.

Importance de l'Interaction

À travers les tests, il est devenu clair que plus les analystes participaient en fournissant leurs avis, meilleure était la priorisation finale des exigences. Dans des scénarios où les analystes pouvaient comparer plusieurs paires d'exigences, le processus a conduit à des taux de désaccord plus bas sur ce qui est considéré comme les meilleurs choix.

Par exemple, dans des tests impliquant divers degrés de contribution des analystes, les résultats ont montré une tendance claire : plus les analystes comparaient de paires, plus la priorisation devenait précise. Cela signifiait qu'une petite augmentation de l'implication des analystes pouvait significativement améliorer les résultats.

Comparaison des Méthodes

Lorsque la nouvelle méthode a été comparée aux méthodes de priorisation interactive établies, elle a constamment montré de meilleurs résultats. La méthode utilisant le solveur de contraintes a produit des taux de désaccord plus bas avec les meilleures pratiques existantes. Cela indique que la nouvelle approche n'est pas seulement efficace, mais qu'elle offre réellement une meilleure priorisation que les méthodes utilisées auparavant.

Même avec quelques erreurs dans la prise de décision lors des entrées des analystes, la nouvelle méthode est restée résiliente. Les résultats ont révélé que la nouvelle approche pouvait mieux tolérer les erreurs humaines que ses prédécesseurs. C'est vital, car l'erreur humaine fait partie intégrante de tout processus décisionnel.

Application dans le Monde Réel

L'application dans le monde réel de la méthode basée sur le solveur de contraintes montre son efficacité. Un projet spécifique impliquait le développement d'un système de soins pour les personnes âgées. Le projet avait une variété d'exigences qui devaient être priorisées efficacement.

En appliquant la nouvelle méthode, l'équipe de développement a pu équilibrer les besoins techniques avec les priorités des utilisateurs. La structure leur a permis de voir non seulement ce qu'il était critique d'implémenter en premier mais aussi comment créer un plan de développement gérable.

Considérations Futures

La méthode formulée montre du potentiel, mais il reste du travail à faire. Les recherches futures pourraient se concentrer sur l'expérimentation avec différents types d'exigences et explorer à quel point cette approche peut se généraliser à divers projets. Il pourrait aussi y avoir des opportunités de peaufiner comment l'avis des analystes est structuré ou pondéré.

De plus, des études empiriques pourraient aider à évaluer comment les utilisateurs perçoivent les résultats de leurs exigences prioritaires. Recueillir les retours des analystes pourrait donner un aperçu de leur confort à utiliser l'algorithme de priorisation et savoir s'il répond efficacement à leurs besoins.

Conclusion

La nouvelle méthode de priorisation interactive représente un progrès significatif dans la façon dont les équipes logicielles gèrent leurs processus d'exigences. En s'appuyant sur les connaissances des analystes d'une manière structurée, elle permet de prendre des décisions plus précises qui s'alignent à la fois sur les besoins des utilisateurs et les exigences techniques.

Cette méthode a montré qu'elle améliore l'efficacité globale, réduit l'effort requis des analystes, et livre de meilleurs résultats dans des scénarios réels. Alors que les équipes continuent de faire face à des projets complexes avec de nombreuses exigences concurrentes, cette approche innovante peut les aider à naviguer plus efficacement à travers ces défis.

Source originale

Titre: Improving Software Requirements Prioritization through the Lens of Constraint Solving

Résumé: 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.

Auteurs: Jonathan Winton, Francis Palma

Dernière mise à jour: 2023-06-21 00:00:00

Langue: English

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

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

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

Changements: Ce résumé a été créé avec l'aide de l'IA et peut contenir des inexactitudes. Pour obtenir des informations précises, veuillez vous référer aux documents sources originaux dont les liens figurent ici.

Merci à arxiv pour l'utilisation de son interopérabilité en libre accès.

Articles similaires