Comment rédiger un cahier des charges : nos conseils
Savez-vous que la moitié des défaillances des logiciels ont pour origine l’expression des besoins, autrement dit le cahier des charges ? Savez-vous qu’une erreur dans le cahier des charges coûte cent fois plus cher à corriger lorsqu’elle est détectée sur le logiciel en production ? Il en résulte que l’art d’élaborer un bon cahier des charges, appelé ingénierie des besoins, est une activité dont le retour sur investissement avoisine 50. Investir un euro aujourd’hui pour en économiser cinquante demain est une stratégie payante. Voici nos conseils pour élaborer ce document.
Qu'est-ce qu'un cahier des charges ?
Un cahier des charges (CDC) est « un document par lequel le demandeur exprime son besoin en termes de fonctions de service et de contraintes » (norme AFNOR X50-151). Il a la valeur d'un contrat, formellement transmis, pour être approuvé par les parties concernées.
Le demandeur est un client (maître d’ouvrage) qui éprouve un besoin ou qui représente ceux qui l’éprouvent. Il est responsable de la publication du CDC.
Ce dernier est soumis à un potentiel fournisseur (par exemple un développeur), à qui incombera le projet de réalisation.
A quoi sert le cahier des charges ?
Le cahier des charges est l’outil qui apporte une vision commune du système à l’étude, et permet d’améliorer la relation entre client et fournisseur. Pour ce faire, il doit permettre de :
Déterminer les attentes en termes fonctionnels, par une analyse systématique et exhaustive des souhaits, une synthèse auprès des parties prenantes et une mise en évidence des priorités.
Stimuler le fournisseur, par une ouverture du champ de la recherche, par une incitation à l'optimisation technologique et une libération du choix de solutions, dans un cadre imposé.
Favoriser le dialogue, en soulignant les exigences intangibles, en délimitant les marges de manœuvre, le périmètre fonctionnel, tout en s'ouvrant aux suggestions.
Le CDC détermine votre projet, ainsi que les conditions qui permettront de le mener à bien. Le fournisseur partira de ce document de référence pour proposer une solution informatique.
Il permet au client de clarifier sa stratégie, au fournisseur de savoir ce qu'il peut ou ne peut pas proposer au client, en lui Il fournissant les informations nécessaires à la réalisation du projet. C'est à la fois un document de référence du projet et un outil de dialogue entre fournisseur et client. Il précise également le cadre fonctionnel dans lequel les solutions devront s’inscrire.
Ce document est indispensable pour permettre à chaque acteur de prendre connaissance des règles du jeu qui s'imposent à tous. Un bon cahier des charges permet de gagner du temps et d'éviter de s'engager dans une fausse direction. C'est une la base de travail de tout projet de réalisation.
Comment élaborer un cahier des charges ?
L’élaboration d’un CDC est un projet en soi, qui comporte quatre étapes interdépendantes et imbriquées :
Le recueil
Il consiste à recueillir les attentes des futurs utilisateurs (au moyen d’interviews, réunions, ateliers, observation directe), ainsi que les contraintes (techniques, réglementaires, et autres).
L’analyse
Chaque utilisateur va exprimer ses attentes dans son jargon. Sa demande ne sera pas toujours claire, ni réaliste, ni cohérente avec la stratégie et le contexte de l’entreprise. Elle ne sera pas toujours compatible avec l’existant. L’analyse consiste à l’examiner sous différents angles, à prioriser les fonctions attendues, à les mettre en cohérence, à lever les ambiguïtés, à éliminer les redondances, à détecter les incomplétudes.
La spécification
La spécification consiste à décrire les besoins et à les documenter de manière à la fois formelle et compréhensible par toutes les parties prenantes, en les formulant dans un langage précis.
Nous donnons plus loin la checklist MATHURIN qui permet de détecter la plus grande partie des erreurs de formulation. Et pour bien structurer le CDC, nous vous offrons en téléchargement un modèle de cahier des charges.
La validation
La validation consiste à s’assurer que les parties prenantes concernées s’accordent sur les documents rédigés. Elle peut intervenir à différentes étapes : validation des comptes rendus d’interviews ou de réunions, relectures d’une partie des spécifications, revue formelle du cahier des charges complet.
Comment fait-on en pratique ?
La stratégie d’élaboration consiste à aller du général au particulier. On commencera par des méthodes créatives (brainstorming), permettant de cerner les grandes fonctions attendues, puis on « descendra » vers les méthodes formalisées.
Nous préconisons les étapes suivantes, à adapter au cadre de votre projet.
Cadrer et planifier. Lors de cette première étape, on va choisir les personnes à interviewer, ou à faire intervenir lors des ateliers de travail, le modèle de CDC utiliser, les jalons importants, les comités de pilotage, de validation, les groupes de travail, les charges et délais du projet. Ainsi, cette phase permettra de recenser les ressources disponibles pour chaque phase, qu’elles soient internes ou externes.
Analyser l’existant : On passera en revue la documentation sur l’existant, le cadre organisationnel de l’entreprise, les services impactés, les processus actuels, les outils actuels et les axes d’amélioration à envisager. L’ensemble des données existantes, leur fiabilité et leur structuration doivent également être examinés.
Mener l’analyse préliminaire : Le but de cette étape est de découvrir et de spécifier l’objectif du futur système, du futur système, les parties prenantes du futur système.
Développer les cas d’utilisation : Un cas d’utilisation est un ensemble cohérent de scénarios des interactions entre un utilisateur et le système à l’étude. Élaborer des cas d’utilisation est un moyen simple et puissant de les recueillir, analyser et spécifier les fonctions attendues. Il centralise ainsi les éléments essentiels à la bonne compréhension du périmètre.
Recueillir et analyser des besoins et contraintes : il consiste à recueillir les attentes de l’organisation et des utilisateurs, les règles de gestion, les contraintes, au moyen d’interviews, ateliers, etc., Synthétiser et classer les informations recueillies, Analyser les informations recueillies.
Spécifier les exigences : il consiste formuler les besoins recueillis, à les Intégrer dans le cahier des charges et à vérifier la cohérence de l’ensemble de ce dernier. Cela inclut les exigences liées aux données, telles que leur format, leur volumétrie et leur usage prévu.
Valider de l’ensemble : lors de cette étape, on va s’assurer que les spécifications répondent aux attendus des parties prenantes.
Le contenu d'un bon cahier des charges
Yves Constantinidis, expert en ingénierie logicielle, a mis au point une structure du cahier des charges en dix chapitres et deux annexes. Ce modèle a été éprouvé sur de nombreux projets.
La première partie (chapitres 1 à 4) décrit le contexte général, les objectifs, les acteurs et le périmètre du futur système. Vous pouvez y détailler votre modèle économique, présenter votre cible, donner des informations sur votre stratégie marketing et détailler l’organisation de votre entreprise et les habitudes des futurs utilisateurs.
Les chapitres suivants détaillent les fonctions attendues, et aussi les qualités qui s’imposent au futur système (les « exigences non fonctionnelles »). Une telle structuration facilite la gestion du projet tout au long de son exécution.
1. CONTEXTE: Contexte du projet ; Présentation de l’existant
2. OBJECTIFS DE LA SOLUTION: Énoncé des résultats et bénéfices attendus du système
3. ACTEURS ET UTILISATEURS: Maîtrise d’ouvrage, maîtrise d’œuvre, utilisateurs etc.
4. PÉRIMÈTRE DU SYSTÈME: Diagramme de contexte et autres éléments du périmètre.
5. RÈGLES MÉTIER: Règles qui vont impacter le système.
6. CAS D’UTILISATION: Scénarios d’interactions système-utilisateur.
7. BESOINS FONCTIONNELS: Arborescence des exigences fonctionnelles
8. INTEROPÉRABILITÉ ET INTERFACES: Description de la communication entre le système à l’étude et d’autres composants du système d’information.
9. EXIGENCES DE QUALITÉ DU PRODUIT: Sécurité, Utilisabilité, Fiabilité, performances, …
10. CONTRAINTES: Faits, hypothèses, coûts, délais, environnement physique et technique
11. PRESTATIONS ATTENDUES: Planning, Intégration de progiciels tiers, Installation, mise en exploitation Migration, Documentation ; Formation ; Maintenance ; Assistance, …
12. ANNEXES: Conventions de dénomination, glossaire, diagrammes
Les sept écueils à éviter
Voici les « sept péchés capitaux » de l’élaboration d’un cahier des charges :
Bruit. Du texte vide de sens n'apporte aucune information sur les caractéristiques du problème à résoudre. Par exemple : « Le fournisseur devra mettre en œuvre tous les moyens disponibles pour assurer le meilleur niveau de service » ne signifie rien.
Silence. Certaines informations sont omises sans que l'on sache si elles sont oubliées ou laissées à l’analyse du fournisseur. C’est le cas lorsque l'environnement technique et humain dans lequel doit fonctionner le système ne sont pas précisés. Ne pas formuler une exigence fonctionnelle attendue peut entraîner des malentendus lourds de conséquences en phase de développement.
Sur-spécification. C'est une spécification trop technique ou trop détaillée. Cela nuit souvent à la souplesse fonctionnelle du système, surtout dans un contexte évolutif. On a souvent tendance à définir un problème en décrivant des informations techniques. Il ne faut spécifier que ce qui est spécifique et éviter tout détail inutile.
Contradiction. Définitions incompatibles d'une même caractéristique du problème dans deux paragraphes distincts. Ce problème est souvent dû à une rédaction partagée entre plusieurs rédacteurs.
Ambiguïté. Formulation permettant plusieurs interprétations : le texte suggère de nombreuses possibilités que chacun interprète à sa façon. Ou l’auteur utilise un jargon pour évoquer une situation qu’il ne maîtrise pas.
Référence en avant. Référence à des caractéristiques définies plus loin dans le texte. À éviter chaque fois que possible.
Vœu pieux. Description d'une caractéristique dont il sera impossible de vérifier la qualité après réalisation. Toute exigence doit être vérifiable.
Comment bien rédiger les spécifications fonctionnelles ?
Une rédaction claire et structurée est essentielle pour éviter les mauvaises interprétations. Aussi, dans son Guide pratique du cahier des charges informatique (éditions GERESO), Yves Constantinidis préconise que chaque exigence vérifie une check-list répondant à l’acronyme MATHURIN :
M comme Mesurable … ou du moins vérifiable. Sans critère d’appréciation, c’est un vœux pieu (rien ne sert d’écrire que le système doit être « fiable ». On doit spécifier la durée maximum d’indisponibilité ou l’intervalle moyen entre deux défaillances).
A comme acceptée. Elle doit faire l’objet d’un consensus entre parties prenantes.
T comme traçable. On doit connaître son origine, ainsi que son évolution au cours du projet : source, date, auteur, modifications …
H comme hiérarchisée, autrement dit priorisée.
U comme Univoque. Elle doit être avoir une seule interprétation possible. Laisser une ambiguïté, c’est laisser le développeur prendre des décisions à la place du client.
R comme Réalisable. Si elle n’est pas réalisable, elle n’a pas sa place dans un CDC. On peut faire appel à un expert technique pour connaître le coût et les ressources nécessaires.
I comme Indépendante de la solution. Le cahier des charges fonctionnel doit présenter les résultats attendus, et non la technique.
N comme Nécessaire. Toute exigence doit profiter à au moins un utilisateur ou correspondre à une contrainte. La question à (se) poser est : qui va tirer profit de la mise en œuvre de cette fonction ou caractéristique ?
Une architecture fonctionnelle bien posée réduit considérablement les risques d’ajustements tardifs.
Nous espérerons que cet article vous aidera à rédiger le cahier des charges optimal de vos futurs projets. Avec un dernier conseil avant de vous laisser entreprendre de vos propres ailes : n’oubliez pas de souscrire à une assurance RC PRO ! En effet, celle-ci est nécessaire afin d’exercer sereinement votre activité et de protéger votre réputation. N’hésitez pas à consulter notre page dédiée à la Responsabilité Civile Professionnelle pour en savoir plus sur nos garanties et métiers que nous assurons.