Les spécifications fonctionnelles sont à la gestion de projet ce que la boussole est à la navigation : elles permettent de garder le cap pour arriver à destination.
Comme une boussole, les spécifications fonctionnelles orientent les équipes vers les objectifs fixés en décrivant les fonctionnalités et les exigences du projet, évitant ainsi les errements et les pertes de temps inutiles.
Dans cet article, nous allons explorer l’importance des spécifications fonctionnelles et comment elles aident le chef de projet à atteindre ses objectifs.
Qu’est-ce qu’une spécification fonctionnelle ? Définition
Les spécifications fonctionnelles sont un ensemble d’élément décrivant fonctionnellement les attentes et besoins des utilisateurs et des métiers dans le cadre d’un projet. Elles sont réunies dans le cahier des charges fonctionnel, rédigé au démarrage d’un projet et permettant de le cadrer.
Les specs fonctionnelles sont ainsi indépendantes de la façon dont seront réalisés techniquement les livrables du projet. Elles s’expriment donc en terme de fonctions et non de solutions.
Elles se basent sur l’expression de besoin des parties prenantes, et sont retranscrites dans un vocabulaire le plus simple et précis possible dans le cahier des charges du projet.
Lorsqu’il existe de nombreuses spécifications fonctionnelles et techniques, le cahier des charges est alors scindé en 2 : d’un côté le cahier des charges fonctionnel contenant les specs fonctionnelles, de l’autre le cahier des charges technique comprenant les spécifications techniques, elles-mêmes dérivées des fonctionnelles.
Vous pouvez voir ces spécifications fonctionnelles comme autant de cas d’utilisation d’un produit ou d’un service, comme : les fonctionnalités, les éléments interactifs, le fonctionnement de chaque étape du parcours utilisateur, etc…
A noter qu’il existe deux types de spécifications fonctionnelles que nous allons creuser par la suite :
- Les SFG, ou Spécifications Fonctionnelles Générales.
- Les SFD, ou Spécifications Fonctionnelles Détaillées.
Pour aller + loin : Découvrez dans cet article les différences entre spécifications techniques et spécifications fonctionnelles.
Comprendre les 2 types de spécifications fonctionnelles
Il existe en effet 2 types de spécifications fonctionnelles :
- Spécifications Fonctionnelles Générales (SFG).
Elles sont la représentation fonctionnelle du besoin métier, sont rédigées par la maîtrise d’ouvrage et apparaissent dans le cahier des charges fonctionnel. - Spécifications Fonctionnelles Détaillées (SFD).
Elles précisent les fonctionnalités listées dans les SFG et présente une ébauche de solution. Elles sont rédigées par la maîtrise d’œuvre, et apparaissent généralement dans un document de spécifications détaillées.
Spécifications Fonctionnelles Générales
Les Spécifications Fonctionnelles Générales (SFG) sont la représentation fonctionnelle des besoins métiers pour un projet.
Lors de la rédaction du cahier des charges, il est essentiel d’inclure les specs fonctionnelles pour les transmettre au prestataire et surtout pour bien délimiter le périmètre fonctionnel du projet. Ces spécifications apparaissent généralement dans le cahier des charges fonctionnel.
Bien qu’il n’y ait pas de modèle défini pour rédiger les SFG, leur objectif principal est de parvenir à un consensus entre la maîtrise d’ouvrage (le client) et la maîtrise d’œuvre (le prestataire ou fournisseur) sur les principales fonctionnalités à implémenter dans les livrables projet.
Spécifications Fonctionnelles Détaillées
Les documents de spécifications techniques de la MOE, ou les spécifications fonctionnelles détaillées (SFD), ont pour objectif de clarifier les fonctionnalités définies dans les spécifications fonctionnelles générales.
Les SFD décrivent ainsi en détail le comportement des fonctionnalités et les sous-fonctions de la solution envisagée, en conformité avec l’ensemble des critères définies dans le cahier des charges.
Elles sont élaborées par la maîtrise d’oeuvre (MOE), c’est à dire l’exécutant, et sont bien sûr validées par le client (MOA) avant de démarrer la phase d’exécution du projet.
Ces spécifications apparaissent généralement dans un document de spécifications détaillées qui vient compléter le cahier des charges. Ils sont souvent utilisés en informatique, notamment dans le développement de logiciels et d’applications mobiles.
Quel est l’intérêt des specs fonctionnelles ?
Les spécifications fonctionnelles permettent de décrire précisément l’ensemble des fonctions qu’un livrable, produit ou service doit respecter. Elles permettent ainsi de délimiter de façon précise le périmètre fonctionnel du projet.
Elle sont donc utiles pour :
- Le client, qui vérifie que les fonctionnalités prévues dans le projet répondent bien à ses exigences.
- Le chef de projet, qui doit estimer la portée du projet, et attribuer les ressources nécessaires à celui-ci, ainsi que procéder à la planification des membres de l’équipe projet.
- L’équipe projet, qui bénéficie d’une base solide permettant de déterminer les spécifications fonctionnelles détaillées ainsi que les spécifications techniques détaillées du projet.
- L’équipe support, qui s’en sert comme d’un référentiel produit.
Qui rédige les spécifications fonctionnelles ?
Les spécifications fonctionnelles sont rédigées par l’équipe technique de la maîtrise d’ouvrage (MOA) ou par un assistant à maîtrise d’ouvrage, qui connaît bien le contexte du projet.
Par exemple, si mon projet est de monter un centre d’appel ou une hotline téléphonique, j’ai tout intérêt à faire appel à un AMOA qui connaît bien le secteur, pour rédiger des spécifications fonctionnelles cohérentes avec mon besoin, tout en minimisant les coûts associés.
C’est ce qu’on appelle les spécifications fonctionnelles générales, ou SFG.
Les spécifications fonctionnelles peuvent ensuite être complétées lors de la phase de cadrage du projet, aussi bien par la maîtrise d’ouvrage que par l’équipe projet côté maîtrise d’œuvre (MOE). C’est ce qu’on appelle les spécifications fonctionnelles détaillées, ou SFD.
Bien sûr, tout ajout en terme de spécifications techniques devra être validé par le client.
Quand rédiger les spécifications fonctionnelles ?
Les spécifications techniques sont rédigées en amont de la publication d’un appel d’offre, et au plus tôt lors de la phase d’avant-vente ou de la phase d’initialisation du projet.
Elles peuvent ensuite être complétées en aval lors de la phase de cadrage et de préparation du projet.
Exemples de spécifications fonctionnelles
Imaginons que vous rédigez un cahier des charges pour la mise en place d’un nouveau générateur de secours pour un datacenter (centre de données) informatique. Son rôle est d’assurer le maintien de l’opérabilité du bâtiment et des serveurs hébergés, en garantissant un approvisionnement ininterrompu en électricité.
Le cahier des charges fonctionnel va s’intéresser au résultat attendu. Celui-ci va être découpé en différentes fonctions concernant le maintien opérationnel du bâtiment en cas de coupure d’électricité.
On y retrouvera donc les fonctions suivantes :
- Durée minimale et maximale pendant laquelle l’électricité doit être garantie dans le bâtiment.
- Temps de bascule maximum admissible. Dans le cas d’un datacenter, la bascule doit être quasi immédiate, pour éviter toute coupure de service pour les infrastructures hébergées en haute disponibilité.
- Règles environnementales à respecter.
Comment rédiger des specs fonctionnelles ?
Voici 10 conseils pour bien rédiger vos spécifications fonctionnelles dans votre cahier des charges fonctionnel :
- Évitez de faire des SFD au lieu des SFG.
Les spécifications fonctionnelles détaillées (SFD) apportent déjà une ébauche de solution, et s’effectue par la maîtrise d’œuvre, après la rédaction du cahier des charges et du lancement projet. Concentrez-vous plutôt sur la rédaction des spécifications fonctionnelles générales (SFG). - Définissez le périmètre fonctionnel du projet.
A quelle problématique répond le projet ? Que doit absolument faire votre produit ou votre service, avant toute autre chose ? Par exemple, un distributeur de billets doit absolument distribuer des billets pour les clients de la banque. Mais consulter son compte en banque ou recharger son forfait mobile peut arriver plus tard, via une future mise à jour ou une nouvelle version. - Hiérarchisez les fonctions et priorisez-les.
Demandez-vous pour chacune d’entre elles si elle est absolument nécessaire dès la première version du produit ou si c’est quelque chose qui pourrait être intégré après coup en tant qu’amélioration. - Utilisez un diagramme pieuvre afin de distinguer les fonctions de services et les fonctions contraintes.
Le diagramme pieuvre est votre meilleure ami pour la rédaction d’un cahier des charges fonctionnel. En effet, il vous permet de distinguer visuellement les fonctions de service ainsi que les fonctions contraintes. - Assurez-vous que tous les besoins métiers et utilisateurs ont bien été recensés.
Pour cela, conduisez des interviews, animez des ateliers de travail, des séances de brainstorming, etc… L’objectif est de recueillir les besoins de l’ensemble des personnes concernées, puis de les analyser et de les rédiger en spécifications fonctionnelles. - Prenez le temps nécessaire pour rédiger vos spécifications.
Rédiger des spécifications fonctionnelles, c’est l’une des choses les plus compliquées à faire en gestion de projet. ça nécessite une bonne dose de concentration, beaucoup de temps et quelques pincées d’expérience. Ne bâclez pas cette étape ! - Utilisez un diagramme FAST.
La méthode FAST (pour Fonction Analysis System Technique) est très utile pour analyser, prioriser et structurer les fonctions entre elles. (cf exemple ci-dessous). - Utilisez un vocabulaire simple et précis.
Évitez les termes techniques obscurs, les sigles spécifiques au métier ou encore un langage laissant la place au doute, à l’interprétation et aux ambiguïtés. Vous éviterez ainsi des malentendus. - Soyez exhaustif dans la rédaction de vos fonctions.
Par exemple, plutôt que de dire que le système doit être suffisamment rapide, indiquez un critère quantitatif de ce que signifie être rapide pour vous. ça pourrait être « imprimer au minimum 20 pages par minute », par exemple, pour une imprimante. - Respectez les caractéristiques NCRFCV pour que chaque fonction soit compréhensible.
Les critères NCRFCV signifient Nécessaires, Concises, Réalisables, Fines, Cohérentes, Vérifiables.
Exemple d’un diagramme pieuvre, permettant de visualiser les fonctions de services (fonctions principales ou FP), ainsi que les fonctions contraintes (FC)
Exemple de diagramme FAST
Critères de spécifications bien rédigées
Des exigences fonctionnelles bien rédigées présentent les caractéristiques suivantes :
- Nécessaires.
Bien que les exigences fonctionnelles puissent avoir des priorités différentes, chacune d’entre elles doit être liée à un objectif commercial ou à une exigence particulière de l’utilisateur. - Concises.
Utilisez un langage simple, facile à comprendre et sans superflus afin d’éviter toute confusion ou erreur d’interprétation. - Réalisables.
Toutes les specs fonctionnelles que vous rédigez doivent être réalistes par rapport aux contraintes de temps et de budget fixées. - Fines.
N’essayez pas de combiner plusieurs exigences en une seule. Plus vos exigences sont précises, plus il devient simple de les gérer. - Cohérentes.
Assurez-vous que les spécifications fonctionnelles ne se contredisent pas entre elles et utilisez une terminologie cohérente. - Vérifiables.
Il doit être possible de déterminer si l’exigence a été satisfaite à la fin du projet via la création d’un plan de test.
Comment utiliser les spécifications fonctionnelles en mode agile ?
Contrairement au cycle en V où les spécifications fonctionnelles sont détaillées dès le démarrage du projet de façon exhaustive, la méthode agile implique de rédiger les spécifications fonctionnelles tout au long du projet.
Ainsi, dans les méthodologies telles que Scrum, les specs fonctionnelles s’apparentent aux récits utilisateurs (user stories), qui traduisent les besoins des utilisateurs en une ou plusieurs fonctionnalités.
Celles-ci sont priorisées, rédigées, affinées tout au long du projet. Les fonctionnalités sont réalisées au fur et à mesure de l’avancement des sprints, des cycles de développement courts et itératifs.