Gestion des exigences

Un article de Wikipédia, l'encyclopédie libre.

La gestion des exigences consiste à gérer les exigences d'un projet, à détecter les incohérences entre elles et à assurer leur traçabilité.

Dans de nombreux métiers l'expression de ces exigences donne lieu à une quantité de documents dont la cohérence et la qualité conditionnent le succès ou l'échec des projets concernés.

Il existe des logiciels spécialisés qui permettent d'aider à la réalisation de cette activité.

Sommaire

[modifier] Indépendance de la classification des exigences

On peut adopter différentes classifications des exigences selon l'approche ou l'organisation préexistante, par exemple :

  • En fonction des personnes qui les émettent : exigences utilisateurs, exigences métier, exigences techniques.
  • En fonction de leur niveau de précision : objectifs, spécification générales, spécification détaillées, scénario d'utilisation.
  • En fonction de la nature de l'exigence : fonctionnalité, ergonomie (utilisabilité), de robustesse, performance, sécurité.

Cependant, dans tous les cas on retrouve des problématiques récurrentes auxquelles la gestion des exigences apporte des solutions :

  • Collecte
  • Validation
  • Gestion des priorités
  • Gestion du changement
  • Liens avec le reste du projet

[modifier] Traçabilité des exigences

La traçabilité des exigences est un concept clé mis en avant dans la gestion des exigences.

[modifier] Anecdote

Un jour un constructeur automobile décida de réduire les coûts sur l'un de ses modèles phares. Une équipe se pencha sur les spécifications du modèle et chercha des axes de réduction des coûts. Quelqu'un s'avisa que le modèle était conçu pour résister à un vent arrière, avec de la pluie, de 200km/h ce qui entrainait des coûts de fabrication importants. On décida donc de changer cela en allégeant la fermeture du coffre à bagage situé à l'arrière. Ce n'est qu'à l'automne, chez les concessionnaires, qui trouvaient de l'eau dans les coffres, que l'on s'avisa que les voitures étaient acheminées par train Express.

(Cette anecdote n'a pas de valeur historique mais seulement illustrative.)

[modifier] Définition

La traçabilité est la possibilité de lire facilement ce qu'il est advenu et ce qu'il est censé advenir de quelque chose.

La traçabilité des exigences est le fait de pouvoir à tout instant connaitre facilement les liens entre les exigences, ainsi qu'entre les exigences et le reste du projet (notamment les besoins utilisateur, réalisation et tests).

Elle permet de répondre aux questions du type :

  • Quel besoin cette exigence couvre-t-elle ?
  • Où met-on en œuvre cette exigence ?
  • Cette exigence est-elle nécessaire ?
  • Comment interpréter cette exigence ?
  • Quelle décision de conception affecte la mise en œuvre de l'exigence ?
  • Est-ce que toutes les exigences sont prises en compte ?
  • Pourquoi a-t-on conçu la solution de cette manière et quelles étaient les autres possibilités ?
  • Cet élément de conception est-il nécessaire ?
  • La solution réalisée est-elle conforme aux exigences ?
  • Comment testera-on cette exigence ?
  • Est-ce que le projet est terminé ?
  • Quel est l'impact du changement d'une exigence ?

[modifier] CMMI

Le Capability Maturity Model Integration décrit les activités liées à la gestion des exigences dans la conception logicielle:

  • Comprendre et intégrer les exigences au projet
  • Valider les exigences
  • Gérer le changement d'exigences
  • Maintenir la traçabilité des exigences
  • Gérer les incohérences entre le projet et les exigences.

[modifier] Comprendre et intégrer les exigences au projet

Les parties prenantes du projet expriment des besoins, qui sont formulés sous forme d'exigences. Les responsables du projet, après avoir compris les exigences et en avoir vérifié la cohérence, les intègrent au projet.

Cela peut impliquer :

  • De maintenir une liste des acteurs habilités à exprimer les exigences.
  • De maintenir des critères pour accepter ou non les exigences.
  • D'analyser des exigences vis à vis des critères.
  • De formaliser l'acception d'une exigence.

[modifier] Valider les exigences

Pour garantir l'engagement des parties prenantes du projet, en ce qui concerne les impacts sur le projet d'une nouvelle exigence ou d'un changement, on évalue les conséquences sur le projet et on demande validation de l'exigence par les parties.

Cette activité peut donner lieu à :

  • Une analyse d'impact d'une exigence ou d'un changement d'exigence
  • Un document formalisant l'engagement des parties sur les exigences et leurs impacts.

[modifier] Gérer le changement

Au cours d'un projet les exigences évoluent pour diverses raisons. Il est important de gérer efficacement les changements et les ajouts. Pour pouvoir évaluer correctement les impacts il est important que l'origine et la justification de tous les changements soient documentées. On peut en outre vouloir mesurer la volatilité des changements.

Cela peut impliquer de produire :

  • Un état des exigences
  • Une base de données des exigences
  • Une base de données des décisions concernant les exigences.

[modifier] Maintenir la traçabilité des exigences

On parle de traçabilité bidirectionnelle. Notamment on doit pouvoir tracer une exigence depuis son plus haut niveau jusqu'au plus bas.


[modifier] Wiki et exigences

Un outil de gestion d'exigences doit avoir des caractéristiques proches de celles d'un wiki. Notamment il doit permettre la modification d'un même item par de nombreuses personnes, doit gérer les versions et l'historique.

[modifier] Outils

Il existe de nombreux outils de gestion des exigences : twiki, Polarion ALM with Subversion, Programming Research IRqA, Accept 360°, Compuware Optimal Trace, Telelogic DOORS, Geensys Reqtify, IBM Rational RequisitePro, CaliberRM etSerena Dimensions RM. Open Source Requirements Management Tool (OSRMT) est un outil sous licence GNU GPL Le langage de modélisation SysML un diagramme d'exigence qui permet de les représenter graphiquement. power AMC intègre un outil de gestion d'exigences qui fonctionne avec MS Office. L'environnement MS Visual Studio intègre des modules de gestion d'exigences. Enterprise Architect’s Requirements Management and Modeling Tool [1] pour les gérer la complexité, les risques, la traçabilité.

[modifier] Voir aussi

[modifier] Liens internes

[modifier] Liens externes

Autres langues