Cahiers des charges

LinkedInFacebookTwitterEmailCopy Link

Comment réussir un cahier des charges fonctionnel ?

Du recueil des besoins au cahier des charges

Design d'interface

De notre point de vue, il est essentiel de bien identifier les acteurs qui vont participer à la rédaction du cahier des charges et auprès desquels il sera nécessaire de recueillir les besoins. Ces personnes seront choisies en fonction de leur capacité à identifier et à définir des besoins, ainsi qu’à se projeter dans l’avenir. Il s’agit de personnes qui ont une vue constructive des améliorations qu’il serait souhaitable d’apporter par rapport au fonctionnement actuel.

Bien entendu, ces utilisateurs représentatifs de leurs métiers devront pouvoir dégager le temps nécessaire pour non seulement exprimer des besoins mais également relire des comptes rendus de réunion, lire le cahier des charges et le valider.

Le recueil des besoins est pratiquement un métier en soi. En effet, les utilisateurs ont souvent besoin d’être guidés et la compréhension de leurs besoins doit être constamment vérifiée. Pour cela, diverses techniques peuvent être utilisées comme par exemple :

  • comparaisons par rapport à ce qui se fait chez des confrères,
  • workflow,
  • schémas,
  • maquettes d’écrans,
  • Etc.

Dans le cadre de l’expression des besoins, il arrive parfois que certains besoins exprimés soient contradictoires. Il est dans ce cas très utile de pouvoir disposer d’un représentant des utilisateurs qui dispose du pouvoir de décision en cas de désaccord entre les utilisateurs.

« Fonctionnel… »

Pour le démarquer des cahiers des charges techniques, le cahier des charges qui décrit les besoins est parfois également appelé « Cahier des charges fonctionnel ». Cette caractérisation ne doit cependant pas faire oublier tous les autres types de besoins.

En ce qui concerne les besoins, il ne s’agit pas bien entendu que des besoins fonctionnels. Il est essentiel de traiter également de nombreux autres besoins tels que par exemple les besoins en matière de performances, d’ergonomie ou de sécurité.

La qualité des écrits est bien entendu fondamentale dans le cadre de la rédaction du cahier des charges. Le cahier des charges se doit d’être limpide et sans ambigüité. Pour ce faire, il sera agrémenté d’exemples à chaque fois que possible. A ce sujet, AMJ recommande d’établir notamment une charte rédactionnelle qui servira de guide tout au long de la rédaction du cahier des charges.

La présentation générale est aussi importante, elle doit être jolie et agréable et donner envie au lecteur de lire le document. En aucun cas elle doit rebuter le lecteur.

Il ne faut pas non plus confondre le quoi et le comment. En effet, le cahier des charges tout en étant très structuré doit refléter le besoin métier de l’utilisateur (le quoi). Il ne doit pas exposer des solutions informatiques (le comment) mais des besoins fonctionnels ou métiers.

Les pièges à éviter

Certains pièges sont aussi à éviter, il est essentiel de ne pas non plus tomber dans le syndrome de la recherche de la cible fonctionnelle parfaite qui conduit souvent à définir une usine à gaz. Il convient donc de savoir procéder à des arbitrages lorsque nécessaire afin de ne pas trop complexifier les besoins.

Même s’il est important qu’il soit précis et relativement complet, le cahier des charges n’est pas non plus une spécification fonctionnelle détaillée et il convient de savoir s’arrêter au bon moment pour passer à sa validation.

La validation du cahier des charges est un acte très délicat mais particulièrement important. En effet, les cahiers des charges sont souvent des documents volumineux et peu agréables à lire. L’expérience montre qu’ils sont souvent validés sans être réellement lus ce qui peut s’avérer catastrophique pour le projet. Pour que les cahiers des charges soient lus les utilisateurs doivent disposer d’un temps de validation et la clarté du document contribue aussi largement à sa lisibilité. Le fait de solliciter les utilisateurs pour une signature manuscrite constitue un acte d’engagement fort qui contribue à une réelle validation.

Enfin, il ne faut toutefois pas confondre la réussite du cahier des charges avec la réussite d’un projet qui sont deux éléments liés mais très différents.

Catégories : Blog, Consulting, Projet

Pourquoi est-il nécessaire de rédiger un cahier des charges ?

Telle est la question

Plans roulés et pont1

La question pourrait être la même lorsqu’il s’agit de construire un immeuble, une voiture ou n’importe quel autre objet : pourquoi faut-il faire des plans ? Il faut faire des plans parce que cela permettra déjà de savoir quel est le produit fini attendu et surtout, cela permettra de faire une estimation de coûts et de délais.

En d’autres termes, si votre budget et vos délais sont très extensibles (ce qui est plutôt rare), il est possible de ne pas réaliser de cahier des charges. Cela signifie que vous avez les moyens de payer pour demander aux réalisateurs de

casser tout ou partie de ce qui a été élaboré pour le refaire d’une autre façon. Réaliser un cahier des charges nécessite du temps et de la réflexion. Cela requiert donc un effort et il est en effet très séduisant de penser que par miracle, il serait possible de s’affranchir de formaliser ses besoins. Personnellement, je ne connais aucun métier dans lequel il est possible d’obtenir quelque chose pour un délai et un coût donné sans l’avoir préalablement décrit avec un minimum de précisions.

Si les besoins ne sont pas précisément décrits, le risque est bien évidemment d’obtenir un service qui ne répond pas aux besoins ou qui y répond mais de façon partielle. Comment expliquer et démontrer alors que les besoins attendus ne sont pas pris en compte si aucun cahier des charges n’a été rédigé. Ainsi à la question « Pourquoi est-il nécessaire de faire un cahier des charges ?», il est possible de répondre avec une autre question « Comment puis-je faire pour vérifier que mes besoins ont bien été pris en compte et comment démontrer qu’il existe des manques le cas échéant ?».

Les bonnes pratiques

Ne pas réaliser de cahier des charges va à l’encontre des bonnes pratiques reconnues au plan international. Cf  ITIL service design : Identifying service requirements : “The need for accurate and representative information from the business is paramount”.

Il ne faut cependant pas confondre cahier des charges et carcan. Si certains considèrent parfois le cahier des charges comme un carcan trop rigide, ce n’est pas le cahier des charges en lui-même qui est trop rigide mais bien souvent le budget du projet et le délai associé.

En effet, tant que le cahier des charges n’est pas validé, il est toujours possible de modifier les besoins qui le composent (en réajustant le délai de livraison associé). Après validation du cahier des charges, il doit toujours être possible d’apporter des modifications au projet pour autant que cela ait été prévu dans le projet. Ces modifications seront alors à traiter en tant qu’évolutions. Cependant, pour que tout cela soit possible, encore faut-il l’avoir prévu en amont. Ainsi, dès le début du projet, en plus du coût du projet lui-même, il convient de prévoir un coût d’évolutions.

Prévoir que le projet évoluera

Deux grandes erreurs sont souvent commises : le refus des évolutions en cours de projet (après rédaction du cahier des charges) et le refus des évolutions à l’issue de la mise en production. Cela provient essentiellement du fait que l’on pense que les personnes qui rédigent le cahier des charges disposent d’une boule de cristal qui leur permettra de préciser 100% des besoins. Dans la pratique, ce n’est jamais le cas. En 20 ans d’expérience, je n’ai jamais vu un projet aboutir sans un minimum d’évolutions.

Lorsque les enveloppes de budget d’évolutions ne sont pas prévues au début du projet, cela génère systématiquement des tensions entre maîtrise d’œuvre et maîtrise d’ouvrage avec des personnes qui finissent parfois par travailler les unes contre les autres. Or, comment est-il possible de réussir un projet lorsque les parties prenantes travaillent les unes contre les autres au lieu de travailler ensemble ? Bien entendu, toute nouvelle application induit un changement et il existe toujours des utilisateurs réfractaires. Si les évolutions ne sont pas possibles ou trop limitées, ils vont alors trouver là une aubaine formidable pour enterrer définitivement le projet.

Le fonctionnement basé sur la prévision des évolutions s’apparente un peu au fonctionnement des méthodes agiles avec 3 itérations. Une première qui couvre 80% des besoins et qui découle du cahier des charges initial.

Une seconde qui devrait couvrir environ 10% de besoins supplémentaires découverts après la rédaction du cahier des charges. Une troisième qui doit permettre de mettre en œuvre les 10% restants. Ainsi, dans ce type de démarche, le nombre d’itérations est connu et fixé d’avance, ce qui permet un bon cadrage du budget global.

Gérer le risque

Il existe également un risque très important lié au fait de ne pas (ou mal) faire de cahier des charges : il se peut tout simplement qu’une fonction fondamentale ne soit tout simplement pas réalisable avec l’outil de développement retenu. Si cette fonction est identifiée par les utilisateurs alors que 80% du projet est déjà réalisé, tout peut alors être mis à la poubelle… Si le choix d’un outil est généralement fait en amont du cahier des charges, dans le cadre d’une étude d’opportunité par exemple, c’est pendant ou à l’issue du cahier des charges (tant que rien n’a été construit) qu’il est encore temps de changer d’outil de construction si nécessaire. En l’absence de cahier des charges, cette nécessité de changement risque fort d’intervenir trop tard.

Enfin, le cahier des charges permet aussi de détecter si le besoin est suffisamment mûr ou non. En effet, le simple fait de mettre les besoins par écrit permet parfois de détecter des avis divergents ou des changements d’avis intempestifs. Il est bien entendu nettement préférable de traiter ces divergences et incertitudes dans le cadre de la rédaction d’un cahier des charges plutôt que de construire directement pour tout casser ensuite.

Catégories : Blog, Consulting, Projet

Comment décrire un besoin ou comment rédiger un cahier des charges ?

Le cahier des charges

Fondations3

Bien entendu, les utilisateurs peuvent exprimer leurs besoins comme ils le souhaitent. Cependant le document qui servira de référence en la matière correspondra au cahier des charges.

La phase de rédaction du cahier des charges correspond en quelques sortes à la phase dans laquelle sont posées les fondations du projet.

Les phases qui suivent le cahier des charges visent à construire le projet à partir des éléments qui ont été définis dans le cahier des charges. Le contenu du cahier des charges est en ce sens tout particulièrement important.

En effet, l’expérience montre que plus les erreurs produites dans le cahier des charges sont détectées tardivement dans les phases qui suivent, plus leur correction à un coût élevé.

Il est clair que dans la construction d’un pont ou d’un immeuble, il coûte très cher de corriger un défaut dans les fondations lorsque les ouvriers sont en train de faire les finitions ou la toiture.

L’expérience montre également que les descriptions de fonctions souffrent facilement de très nombreux maux lorsqu’elles ne sont pas écrites de façon professionnelle et structurée comme par exemple :

  • manque de clarté,
  • ambiguïtés,
  • absence de traçabilité,
  • manque de cohérence,
  • oublis,
  • etc..

Le cahier des charges se doit également d’être précis. Lorsqu’il existe des imprécisions qui subsistent à l’issue du cahier des charges et des spécifications (ce qui arrive parfois), cela se transforme souvent en source de litige.

La maîtrise d’ouvrage aura tendance à dire « C’était évident ». L’expérience montre cependant que rien n’est évident.

Exemple :

Dans un projet de base documentaire, nous avions demandé un moteur de recherche avancée qui selon le cahier des charges devait permettre des recherches sur mot clés.

Dans la première livraison, le moteur permettait des recherches sur mots clés à condition de tous les saisir dans l’ordre où ils avaient été saisis lors du dépôt du document dans la base. Inutile de préciser que c’était inutilisable.

Dans la seconde livraison, il n’était possible de saisir qu’un seul mot clé dans la zone de mots clés du moteur de recherche avancée. Cette version était déjà mieux mais plutôt très limitée pour un moteur de recherche dit « avancé ».

Enfin, la troisième version fut la bonne.

Le bon équilibre

Bien entendu, le cahier des charges ne doit pas tout préciser. Il ne faut pas non plus tomber dans le syndrome de l’excès de précisions qui risque d’être trop consommateur de temps et de budget. En effet, dans les projets, la hiérarchie attend des résultats concrets et de façon « rapide ». Passer trop de temps sur la phase de cahier des charges agace souvent assez vite les managers, ce qui peut conduire dans certains cas à l’abandon du projet avec pertes et fracas.

La rédaction d’un cahier des charges repose de plus sur un savoir faire qui couvre plusieurs domaines :

  • savoir cadrer le besoin (objectifs, périmètre,…),
  • savoir le recueillir,
  • savoir le comprendre,
  • savoir trouver le bon niveau de détail,
  • savoir le formaliser.

Qualité

Enfin, étant donné que le cahier des charges va devoir servir de référence (lors de la phase de recette) pour vérifier si les besoins ont bien été pris en compte et si la qualité est assurée, il doit prendre en compte les grands critères de qualité des logiciels décrits dans la norme ISO 9126 (maintenant intégrée dans la famille des normes ISO 25000).

Autant dire que les risques de défauts dans les fondations des projets sont nombreux si le cahier des charges ne tient pas compte des éléments qui précèdent. Dans la pratique, il est considéré que 80% des problèmes rencontrés dans les applications trouvent leur origine dans la phase de rédaction du cahier des charges (ITIL).

De plus, tous les référentiels de qualité s’accordent pour dire que la qualité se forge le plus en amont possible des projets.

Bien entendu, pour permettre de produire un cahier des charges de qualité qui soit en mesure de servir de fondations aux projets, AMJ a produit un référentiel méthodologique complet qui détaille chacun de ces aspects. De la même façon qu’il existe des techniques pour construire les fondations d’une maison, il existe aussi des techniques pour élaborer les fondations d’un projet.

Catégories : Blog, Consulting, Méthodologie, Projet

Conseil en informatique et systèmes d’information

Le conseil en organisation et systèmes d’information fait partie des toutes premières activités de AMJ GROUPE depuis la création de la société en 1986.

Aujourd’hui, nous assistons nos clients aussi bien dans leurs choix stratégiques en matière d’organisation et de systèmes d’information que dans la formalisation de leurs besoins, soit en maîtrise d’ouvrage soit en maîtrise d’œuvre.

Nous sommes principalement reconnus pour nos compétences dans le domaine de l’assistance à maitrise d’ouvrage et en particulier pour ce qui est des études d’opportunités, rédactions de cahiers des charges, assistance au pilotage de projets et recette. Domaines sur lesquels notre capitalisation depuis 20 ans nous apporte un réel savoir-faire que nous vous ferons partager. Nos méthodes d’intervention adaptées au contexte de nos clients et l’approche pragmatique de nos consultants expérimentés nous permettent de vous assurer le succès de nos missions. Par ailleurs, notre indépendance vis-à-vis de tout fournisseur de matériels et logiciels nous permet de vous garantir la totale objectivité de nos travaux et recommandations..

De façon plus ponctuelle, nous intervenons également dans d’autres domaines tels que la sécuritél’audit, les sélections de progiciels ainsi que les schémas directeurs et la rationalisation des systèmes d’information,

Nos prestations en matière de sécurité sont principalement tournées vers la rédaction de procédures, les PCA/ PRA ainsi que les cellules de crises et analyses de risques.

Enfin, nous intervenons dans le domaine de l’intégration de progiciels de façon générale mais avec des compétences plus spécifiques sur la gamme des produits SAGE.

Notre savoir faire est basé sur notre expérience mais pour chacun de ses domaines d’application respectifs il tient bien entendu aussi compte de l’état de l’art en la matière comme par exemple ITIL, l’IEEE 830, SWEBOK, COBIT,…. Les démarches éléborées par AMJ-groupe au fil de son expérience restent avant tout pratiques, opérationnelles et adaptables.

Nos clients sont essentiellement des grands comptes du secteur privé et public avec quelques PME.

Notre indépendance vis à vis des constructeurs et des éditeurs de logiciels ainsi que notre connaissance des organisations, renforcées par notre approche globale des architectures, nous permet d’orienter vos choix vers une meilleure intégration de vos objectifs d’entreprise. Ceci vous permettra de mieux rentabiliser et optimiser vos investissements informatiques, ce qui reste notre préoccupation première.

Catégories : Blog, Consulting

Assistance à maîtrise d’ouvrage

Assistance à maîtrise d'ouvrage

Vous avez besoin d’assistance dans la mise en place de vos systèmes d’information ? Le pôle consulting d’AMJ GROUPE vous propose une assistance à maîtrise d’ouvrage (AMOA).

La raison d’être de cette activité est d’assister la Maîtrise d’ouvrage face à la Maîtrise d’œuvre dans les domaines suivants :

Les différentes prestations d’assistance à maîtrise d’ouvrage (AMOA)

A ce titre, AMJ GROUPE assure les entretiens et réunions de groupes de travail nécessaires pour permettre de recueillir les besoins. A l’issue de chaque entretien/ réunion, un compte rendu est rédigé. Il est ensuite soumis à la validation des participants et contribue à l’élaboration du recueil des besoins. A partir de l’analyse de ces éléments et des divers documents récupérés AMJ GROUPE, assure la rédaction du cahier des charges.

Les divers documents sont rédigés dans le respect de la charte de rédaction d’AMJ GROUPE. Par ailleurs les tâches sont exécutées conformément à la démarche d’assistance à maîtrise d’ouvrage d’AMJ GROUPE.

Une fois validé, ce document sert notamment de base à l’élaboration des cas de test qui seront utilisés lors de la recette. AMJ GROUPE rédige ainsi le cahier de recette et peut ensuite effectuer tout ou partie de l’exécution des cas de recette.

Si besoin, AMJ GROUPE peut prendre en charge la rédaction de la documentation utilisateurs. A ce stade et compte tenu de la connaissance fonctionnelle d’AMJ GROUPE, nous prenons généralement aussi en charge les formations des utilisateurs.

En parallèle, AMJ GROUPE peut également assurer le suivi et pilotage de l’ensemble du projet pour le compte de la maîtrise d’ouvrage.

Enfin, AMJ GROUPE peut assurer la communication et la conduite du changement auprès des utilisateurs concernés.

Nous pouvons cibler notre intervention sur un domaine particulier comme par exemple la rédaction de cahier des charges ou de cahiers de recette. Nous pouvons également couvrir l’ensemble des travaux de type assistance à maitrise d’ouvrage : du recueil des besoins à la recette en incluant une participation au pilotage de vos projets.

Catégories : Blog, Consulting, Méthodologie, Projet

Enjeux des recettes

Tampon2

L’activité de recette est une activité particulièrement sensible dans un projet car son objectif est de définir le niveau de  qualité des produits livrés par rapport à un seuil d’acceptation défini dans un cahier des charges. En effet, pour mesurer, il faut un objet à mesurer (le logiciel développé), un outil de mesure (le cahier de recettes) et une référence pour la mesure (le cahier des charges).

Bien entendu, ce cahier des charges aura notamment intégré les critères de qualité de la norme ISO qui permettent d’évaluer la qualité des logiciels.

La recette consiste à apporter en quelques sortes une certification de la qualité. Comme toute activité d’évaluation, elle doit reposer sur une méthodologie éprouvée et être exécutée avec une très grande rigueur.

Les principaux risques

Les principaux risques liés au fait de ne pas formaliser les tests de recette sont les suivants :

  • passer l’essentiel du temps à tester des cas qui ne seront qu’exceptionnellement exécutés par les utilisateurs alors que les cas métiers les plus fréquents seront peu ou pas testés. Parfois, le désir de vouloir trouver les anomalies conduit à tester des séries de cas particuliers/ exceptionnels au détriment des cas d’utilisation usuels des utilisateurs. On récupère alors une application qui traite très bien les 20% de cas les plus rares alors qu’elle plante sur les 80% de cas les plus couramment utilisés.
  • mal répartir les cas de test et oublier des domaines importants. La formalisation des tests permet de s’assurer que tous les domaines du cahier des charges sont bien couverts.
  • être dans l’incapacité d’expliquer aux équipes de développement les conditions dans lesquelles les dysfonctionnements constatés sont apparus. Il est essentiel pour les développeurs de connaître les caractéristiques précises de survenance des anomalies. Une recette bien formalisée permet de tracer ces éléments dans des fiches dédiées ce qui représente un gain de temps considérable dans le diagnostic de l’origine du problème.
  • refaire plusieurs fois les mêmes cas de recette au sein d’une même session de recette. En effet, lorsque les cas ne sont pas écrits et si la recette dure ne serait ce que quelques heures, il est fort possible que les mêmes cas soient exécutés plusieurs fois. En effet, la personne en charge de la recette ne saura plus forcément si tel ou tel cas précis a été exécuté ou non. Cela a un double inconvénient : perte de temps au détriment d’autres cas qui ne seront probablement pas exécutés.

Dans l’idéal, pour ne pas négliger les phases de recette, qui se trouvent souvent sur le chemin critique, il faut les anticiper suffisamment à l’avance et donc les planifier dès le début du projet. Dans la pratique, il est possible de commencer à préparer la recette dès la fin de la phase de cahier des charges.

Attention toutefois, des arbitrages fonctionnels et des précisions sont apportés lors des phases d’analyse et de conception. Ces éléments ont souvent des impacts sur le descriptif des tests à réaliser. Pour ce qui est du cahier de recette, il est donc préférable d’effectuer l’essentiel de la rédaction pendant la phase de développement.

Par contre les travaux d’organisation de la recette seront à effectuer en amont du développement.

Catégories : Blog, Consulting, Projet