Prise de besoin et extraction des exigences
Besoins bruts et exigences précises
Nous utilisons dans ce site les notions de besoin et d'exigence. Ces deux termes sont, en réalité, des synonymes. Nous employons le terme besoin lorsque celui-ci est émis par les parties prenantes et n'est pas encore totalement défini (c.-à-d. le besoin dans un état brut). Par exemple : « J'ai besoin que les utilisateurs puissent créer leur profil la première fois » serait un besoin. Comme on le voit ici, celui-ci est incomplet et peut porter à confusion, car il n'est pas encore précisé.
Nous utilisons le terme exigence lorsque le besoin est précisé. Il s'agit du travail de l'analyste (fonctionnel ou d'affaires) de préciser ce besoin. En anglais, on utilise l'expression Requirement elicitation, que l'on pourrait traduire par extraction des exigences, afin de rendre les besoins complets, exacts, clairs, faisables et vérifiables.
L'énoncé d'une exigence doit contenir :
- Un lieu ou une localisation;
- Un acteur;
- Une action;
- Un résultat ou une attente;
- Une contrainte ou une absence de contrainte explicite.
En reprenant l'exemple ci-dessus, l'exigence formalisée suite à une analyse deviendrait « Suite à la première authentification dans le portail (lieu), le système (acteur) oblige (action) le membre à créer son profil (résultat), sauf s'il est un administrateur (contrainte) ».
Techniques pour obtenir et comprendre l'information
Un des objectifs de l'analyste fonctionnel est d'être le plus efficace que possible. Il doit prendre connaissance d'un maximum d'informations pertinentes pour le temps qui lui est alloué. Il doit donc apprendre, lors de ses interactions avec les autres intervenants du projet, à distinguer ce qui est important de ce qui l'est moins. Ceci le guidera à déterminer, selon les besoins, quelles sont les fonctionnalités prioritaires, à développer en premier.
Il existe plusieurs moyens afin de prendre connaissance d'un domaine d'affaires, des besoins, et de définir les exigences. Nous traitons ici de la manière dont un analyste fonctionnel peut faire la collecte d'information :
- Par soi-même (lectures, observations, manipulations logicielles)
- Avec un interlocuteur (entrevues, échanges)
- En équipe (ateliers, groupe de discussion)