Comment rédiger le cahier des charges fonctionnel d’une application ?

Comment rédiger le cahier des charges fonctionnel d’une application ?

Le cahier des charges fonctionnel (ou cdcf) est le document central dans votre gestion de projet informatique. Il recense l’ensemble des informations nécessaires pour développer votre solution, notamment à quel(s) besoin(s) il répond, ses fonctionnalités ou ses limites.

C’est pourquoi il est important de mettre en place une méthode de rédaction pour ne pas perdre en temps ni en qualité. Nous verrons dans un premier temps le rôle du cahier des charges fonctionnel, puis, le détail des 6 composantes du cahier des charges. 

Sommaire
 

Définition du rôle d’un cahier des charges fonctionnel

Allons plus loin dans notre définition du cahier des charges fonctionnel. Pour réaliser de manière optimale votre projet, il est nécessaire de comprendre son rôle et son utilité. Le cahier des charges fonctionnel est décisif pour la bonne maîtrise de votre projet. Il permet de concrétiser votre vision, tout en optimisant vos investissements en temps et en argent

Le cahier des charges fonctionnel vous permet de traduire vos besoins en termes de fonctionnalités et de contraintes. Il est en quelque sorte le contrat passé entre vous et votre fournisseur/prestataire de développement.

Bien souvent, cahier des charges et expression de besoins se confondent. 

  • L’expression de besoins : concise et synthétique, c’est un document factuel et non technique, qui décrit votre besoin dans ses grandes lignes, de manière simple et en allant droit au but. En moyenne, il fait entre 1 et 5 pages.  
  • Le cahier des charges fonctionnel : exhaustif, c’est un document qui clarifie l’ensemble des services qui seront rendus par votre solution. 

Le cahier des charges fonctionnel intervient après l’expression des besoins initiale. Pour en savoir plus sur ce dernier vous pouvez lire notre article : comment rédiger une expression de besoins efficace

Cahier des charges fonctionnel et approche agile

Rédiger un cahier des charges fonctionnel lorsque la méthode projet choisie est agile nécessite quelques adaptations. 

L’approche agile se veut pragmatique et vise à la satisfaction du besoin utilisateur. Elle consiste à concevoir et développer l’application non pas d’un bloc, mais par itérations, sprint par sprint. Tout l’intérêt est de construire l’application avec les retours utilisateurs à chaque sprint. Vous pouvez intégrer de nouvelles fonctionnalités ou réajuster le périmètre fonctionnel si vos besoins évoluent. La revue du livrable à chaque sprint permet à l’équipe de développement agile de se concentrer sur la création de valeur

Dans une démarche agile, la priorisation des fonctionnalités peut évoluer à chaque sprint : vous pouvez décider d’ajouter ou de retirer des fonctionnalités. Il n’est donc pas utile d’avoir un cahier des charges extrêmement détaillé. Il reste toutefois indispensable de définir clairement l’objectif du projet, ses utilisateurs et les fonctionnalités essentielles à implémenter. 

Le cahier des charges fonctionnel agile se concentre sur le MVP ou produit minimum viable. Il se focalise donc sur un périmètre restreint : la définition du besoin minimal. Il doit être compréhensible par toutes les parties prenantes afin de faciliter sa bonne réalisation et servir à définir le “backlog” du projet (liste de tâches à réaliser lors d’un sprint pour atteindre l’objectif du sprint) Même s’il se concentre sur le besoin minimal avec une approche MVP, vous pourrez faire évoluer votre solution digitale lors du développement. Les fonctionnalités ajoutées seront alors détaillées à chaque sprint. Pour mieux comprendre les différences en termes de gestion de projet agile et traditionnelle, nous vous invitons à lire notre article : Méthode agile vs classique, quelle méthode utiliser selon votre projet ?

 

Cahier des charges fonctionnel et approche traditionnelle

Dans une méthode classique (non agile), le cahier des charges fonctionnel de votre projet doit être par nature exhaustif et détaillé. Il peut être relatif au MVP de votre projet ou à une solution plus conséquente. 

 

6 étapes pour réussir la rédaction de son cahier des charges fonctionnel

Étape 1 : Décrire le contexte du projet

Pour améliorer la compréhension de votre projet par les différentes parties prenantes, la première étape est de définir son contexte. Si vous développez votre solution en interne, vous pouvez être plus concis (à condition que les processus soient bien connus des différents acteurs du projet). En effet, le niveau d’information de vos collaborateurs et la compréhension de l’écosystème de l’entreprise vous facilitent la tâche. Dans le cas où vous avez recours à un prestataire, nous vous invitons à fournir une analyse bien plus fine du contexte dans lequel s’inscrit votre projet. 

N’hésitez pas à entrer dans les détails pour faire comprendre aux parties prenantes votre vision et l’écosystème dans lequel le projet en question sera déployé. 

Nous conseillons de déterminer en interne un chef de projet chargé de la communication avec votre prestataire. Son objectif est de mener le projet à bien et il devra, dans ce cadre, donner toutes les informations nécessaires à la compréhension du projet.

Ensemble, vous devez définir : 

  • le contexte du projet : la problématique, les objectifs, les enjeux, les utilisateurs identifiés, etc. ;  
  • le secteur d’activité de l’entreprise ; 
  • les services impactés par le projet ;
  • les personnes ressources impliquées dans le projet ; 
  • les interlocuteurs privilégiés pour chaque partie impliquée dans le projet. 

L’objectif est d’optimiser la communication entre les différentes équipes chargées du projet, pour fluidifier les échanges entre les parties prenantes et améliorer les délais de prise de décision. 

 

Étape 2 : Préciser les fonctionnalités dans votre cahier des charges fonctionnel

Après avoir éclairci le contexte de votre projet web ou mobile, vous devez définir les besoins fonctionnels

La définition de vos besoins est une étape charnière dans la réussite de votre projet et chacun d’entre eux doit être consigné dans votre cahier des charges fonctionnel. En effet, avoir des besoins mal définis, c’est prendre le risque de voir votre projet échouer ou d’obtenir un résultat différent de vos attentes : d’où l’importance de rédiger son cahier des charges fonctionnel avec précision ! 

Vous devez identifier et recenser chacune des spécificités, fonctions et fonctionnalités de votre future solution. N’hésitez pas à apporter des précisions. De quelles fonctionnalités avez-vous besoin ? Pour quel(s) usage(s)

Exemple d’un cahier des charges fonctionnel d’une application mobile, vous devez identifier : 

  • Chacune des fonctionnalités attendues par la solution
  • Les différentes interactions et compatibilités nécessaires avec vos outils existants

L’intérêt, en faisant cela, est d’assurer la réussite de votre projet et surtout la correspondance entre le livrable attendu et vos besoins initiaux

 

Étape 3 : Fixer des objectifs dans votre cahier des charges fonctionnel

Toutes les actions et les visions de votre solution doivent être consignées dans votre cahier des charges. En d’autres termes, chaque élément de votre projet de développement doit avoir un but explicite : un objectif.

Pour un projet d’application web ou mobile, nous conseillons la méthodologie suivante : rédigez de façon explicite vos besoins au fur et à mesure que l’utilisateur avance dans l’application. Il s’agit de détailler le parcours utilisateur écran par écran.   

Article similaire :  Estimer la valeur financière de votre application professionnelle

Pour chaque fonction, vous pouvez vous appuyer sur ces 4 critères :

  • Son objectif ;
  • Sa description ; 
  • Ses contraintes/règles de gestion ; 
  • Son niveau de priorité.

 

Plusieurs recommandations

Si votre projet requiert un back-office, pensez à définir aussi ses fonctionnalités dans votre cahier des charges fonctionnel.  Pour définir simplement le back-office, il faut l’imaginer comme un tableau de bord accessible seulement par certains utilisateurs (les administrateurs). Il vous permet d’effectuer différentes actions, par exemple : l’administration des utilisateurs et de leurs rôles, l’édition de certains paramétrages, l’accès à des statistiques et KPI. 

Par ailleurs, si vous avez prévu plusieurs versions de votre projet ou que certaines fonctionnalités doivent évoluer, pensez à notifier la version dont il est question : V1, V2, V3, etc. 

Exemple de versions pour une fonctionnalité : 

  • V1 : L’utilisateur peut gérer son planning manuellement en ajoutant/supprimant des événements.
  • V2 : L’utilisateur peut également synchroniser son agenda Google avec son planning.
  • Etc. 

Enfin, il est conseillé d’agrémenter dans la mesure du possible chaque fonctionnalité de votre projet d’une maquette ou d’un visuel explicatif. S’il n’est pas possible pour vous de créer des maquettes haute fidélité, de simples « dessins » schématiques aideront déjà votre prestataire. Le but étant qu’il puisse se faire une première idée du design de votre projet et des contraintes qui y sont liées. 

Tout ceci, là encore, pour que vous puissiez vous assurer de la bonne compréhension de vos besoins et attentes auprès de l’équipe chargée du développement.

 

Étape 4 : Définir vos contraintes dans votre cahier des charges fonctionnel

Dans tous les projets, il y a des besoins et des objectifs, et il y a aussi des limites et des contraintes. Vous devez les préciser. Par exemple : 

  • Les contraintes techniques : votre projet doit être compatible avec d’autres systèmes, un accès restreint est nécessaire pour un certain type d’utilisateur.
  • Les contraintes légales et réglementaires : votre projet requiert que le visiteur partage des informations relatives à son état de santé ? Renseignez-vous sur les contraintes réglementaires de chaque store, Apple est par exemple très tatillon à ce sujet.
  • Les contraintes de temps : vous devez fournir, a minima, une estimation de la date de livraison souhaitée de votre projet. Dans certains cas, comme le lancement d’un produit par exemple, il est important d’être réaliste sur les délais de production. N’hésitez pas à bien anticiper vos besoins pour le développement de votre logiciel web ou mobile.
  • Les contraintes logistiques : si vous avez besoin de gérer un flux logistique, la gestion de vos stocks et/ou de vos commandes, n’hésitez pas à le détailler dans votre cahier des charges fonctionnel.
  • Les contraintes budgétaires : vous avez un budget à respecter et il est important d’en informer votre prestataire dans le cadre d’une solution sur mesure. Dans certains cas, votre fournisseur de service pourra vous préconiser, au besoin, le développement d’un MVP. Le MVP ou Most Valuable Product, est la version d’un produit qui permet d’obtenir un maximum de retours client pour une charge de travail minimale. L’objectif est ensuite de faire évoluer votre MVP pour obtenir la version définitive décrite dans votre cahier des charges fonctionnel.

Il vous appartient de les lister dans votre cahier des charges fonctionnel. 

 

Étape 5 : Lister les ressources nécessaires dans votre cahier des charges fonctionnel

Après avoir défini le périmètre de votre projet (besoins fonctionnels, contraintes et limites), évoquez les ressources nécessaires à la réussite de votre projet dans votre cahier des charges fonctionnel. 

Il existe plusieurs types de ressources, à rassembler ou à créer. Cela va de votre charte graphique, à vos ressources humaines, techniques ou logistiques. Vous devez les identifier en amont du lancement de votre projet. 

Étape 6 : Fixer une deadline réaliste pour votre cahier des charges fonctionnel

Votre projet doit être défini dans le temps, avec une date de fin précise. Ceci dit attention, cette deadline doit être réaliste. Vous pouvez définir plusieurs échéances qui correspondent à plusieurs étapes : 

  • Date de début de développement
  • Date de livraison en recette pour tests
  • Date de livraison en production de la version 1

Si vous êtes contraints de respecter une date à cause d’un événement précis ou d’un lancement de produit, il sera peut-être nécessaire de réduire le nombre de fonctionnalités ou d’ajouter un développeur à l’équipe projet. Certaines fonctionnalités peuvent être décalées à la version 2 de votre application. Pensez à prioriser les fonctionnalités dès l’élaboration de votre cahier des charges. 

Pour les applications mobiles, il existe également des contraintes de temps liées à la publication de votre application mobile sur les stores Apple et Google Play. Il faudra compter un délai de révision de l’application par les équipes d’Apple et de Google avant sa publication définitive. Celui-ci est variable selon les plateformes : une journée environ pour Google Play, deux jours pour l’Apple Store (en prévoyant une marge de manœuvre car dans certains cas, il se peut qu’il y ait des discussions lors de la validation par Apple).

Pour en savoir plus sur les délais de développement, nous avons un article : Quels sont les délais de développement pour un logiciel ou une application ?.

 

Conclusion

Votre cahier des charges fonctionnel est l’élément de référence de votre projet. Qu’importe la méthodologie utilisée. Il est similaire à des plans d’architecture pour la construction d’une maison. Toutes les fonctionnalités, les besoins, les contraintes, les deadlines… doivent y être inscrits. 

Le cahier des charges fonctionnel vous permet aussi d’estimer au plus juste le budget nécessaire à votre projet. Le temps qui y est consacré est gagné plusieurs fois lors du développement. En effet, un cahier des charges bien rédigé permet de lever les doutes et de cadrer le périmètre du projet. 

Chez AxioCode, notre mission est d’accompagner les entreprises dans le développement d’applications robustes et pérennes, tout en établissant une relation de confiance durable.

Nous avons développé un outil unique de productivité pour répondre efficacement aux exigences de durabilité : améliorer le suivi fonctionnel et technique pour des applications facilement maintenables, évolutives et durables, dans le cadre d’une gestion de projet maîtrisée. En savoir plus sur notre méthode de création du cahier des charges

En tant qu’experts des architectures web et mobiles, nous vous accompagnons tout au long de vos projets et nous vous fournissons les solutions adaptées à vos besoins. 

Si vous souhaitez une assistance pour la rédaction de votre cahier des charges fonctionnel, contactez-nous