
Exactitude et précision: deux qualités distinctes
Quand on parle d’une “bonne exigence” en gestion de projet, la première qualité qui vient à l’esprit est l’exactitude: l’exigence reflète-t-elle correctement le besoin du client? Cette question est légitime, mais elle masque un problème plus insidieux. Une exigence peut être parfaitement exacte, c’est-à-dire fidèle à ce que le client a demandé, tout en étant si imprécise que chaque lecteur l’interprète différemment. Comme le souligne Jonathan Babcock sur Practical Analyst, la distinction entre exactitude (accuracy) et précision (precision) est au coeur de la qualité des exigences, et la confondre conduit à des spécifications qui semblent solides mais génèrent du retravail en aval.
Pourquoi le langage naturel pose problème
Le langage quotidien est conçu pour la communication interpersonnelle, où le contexte, le ton et la possibilité de poser des questions compensent les imprécisions. Une spécification d’exigences fonctionne dans un contexte radicalement différent: elle est lue par des personnes qui n’étaient pas présentes lors de sa rédaction, parfois des mois plus tard, et qui doivent en déduire exactement ce qu’il faut construire, tester ou valider.
Karl Wiegers, dans Writing Quality Requirements, identifie une série de termes qui signalent systématiquement un défaut de précision: “efficient”, “user-friendly”, “robust”, “flexible”, “adequate”, “fast”. En français, les équivalents sont tout aussi problématiques: “performant”, “ergonomique”, “adapté”, “convivial”, “suffisant”. Ces termes partagent une caractéristique commune: ils expriment une intention sans définir un seuil mesurable. Quand un chef de projet écrit “le système doit être rapide”, il pense peut-être à un temps de réponse inférieur à une seconde, alors que le développeur considère que trois secondes est acceptable et que le testeur ne sait pas quel critère appliquer.
L’écart entre exactitude et précision en pratique
Considérons deux formulations d’une même exigence. “Le rapport doit être complet” est exacte au sens où le client souhaite effectivement un rapport exhaustif, et personne ne contesterait cette intention. Mais cette formulation est imprécise: que signifie “complet”? Toutes les transactions de l’année? Du trimestre? Avec quel niveau de détail? “Le rapport inclut les colonnes référence, montant et date pour l’ensemble des transactions des 12 derniers mois, triées par date décroissante” exprime le même besoin, mais élimine toute marge d’interprétation.
Un second exemple illustre la même dynamique dans un registre différent. “Le système doit répondre rapidement” est exact, puisque la performance est bien un besoin réel. “Le système affiche les résultats de recherche en moins de 2 secondes pour un volume allant jusqu’à 10 000 enregistrements” transforme une intention en critère vérifiable. La différence entre ces deux formulations n’est pas une question de style, c’est une différence de nature: la première est une déclaration d’intention, la seconde est une spécification.
Ce que la précision rend possible
La précision des exigences n’est pas une exigence bureaucratique: elle conditionne directement trois activités critiques du projet. La vérifiabilité est la première: une exigence qui ne peut pas être testée objectivement n’est pas une exigence au sens opérationnel du terme. Le BABOK (Business Analysis Body of Knowledge), publié par l’IIBA, inclut la vérifiabilité parmi les attributs fondamentaux d’une exigence de qualité. Si la question “comment allons-nous vérifier que cette exigence est satisfaite?” n’a pas de réponse claire, la formulation doit être retravaillée.
L’estimation est la deuxième activité affectée: une exigence imprécise est impossible à estimer de manière fiable, parce que chaque interprétation implique un effort de réalisation différent. Les écarts d’estimation qui apparaissent lors de la planification sont souvent le symptôme d’exigences insuffisamment précises plutôt que d’une mauvaise maîtrise des techniques d’estimation.
La gestion du changement complète ce triptyque: quand une exigence est vague, il devient difficile de déterminer si une demande de modification constitue un véritable changement de périmètre (scope) ou simplement une clarification de ce qui était implicite depuis le début. Cette ambiguïté est une source fréquente de conflits entre le client et l’équipe projet, parce que chacun peut légitimement défendre son interprétation.
Comment passer de l’exactitude à la précision
Le passage d’exigences exactes mais imprécises à des exigences précises repose sur quelques pratiques concrètes. La première est la relecture croisée: faire relire chaque exigence par une personne qui n’a pas participé à sa rédaction, idéalement un développeur ou un testeur, et lui demander de reformuler ce qu’il a compris. Les écarts entre l’intention de l’auteur et la compréhension du relecteur révèlent les ambiguïtés.
La seconde est le remplacement systématique des adjectifs qualitatifs par des critères mesurables. Chaque occurrence de “rapide”, “simple”, “complet” ou “adapté” dans une spécification doit déclencher la question: “Quel seuil ou quelle condition rend cette exigence vérifiable?” Si la réponse ne peut pas être formulée, il est probable que le besoin lui-même n’est pas encore suffisamment compris.
La troisième est la traçabilité vers les tests. Pour chaque exigence, identifier le scénario de test correspondant au moment de la rédaction, et non après coup, force une formulation précise parce qu’un test ne peut pas valider une intention, seulement un comportement observable.
Au-delà de la précision individuelle
Une exigence peut être individuellement précise tout en posant problème à l’échelle du document. La cohérence entre exigences, c’est-à-dire l’absence de contradictions, et la complétude de l’ensemble, c’est-à-dire la couverture de tous les scénarios pertinents, sont des qualités qui se vérifient au niveau de la spécification dans son ensemble. Un registre de traçabilité, reliant chaque exigence à son origine (besoin métier, contrainte réglementaire) et à ses livrables (composant, cas de test), est l’outil le plus efficace pour maintenir cette cohérence globale à mesure que le nombre d’exigences augmente.