Rédiger un cahier des charges fonctionnel

In: En mode Projet!

24 juin 2010

Cet article est le premier d’une série ayant pour but d’aider à la gestion de projets. J’aborderais ici la rédaction du cahier des charges fonctionnel, premier maillon de l’élaboration technique.

La rédaction de ce cahier des charges est cruciale car elle permet de :

  • valider la faisabilité de votre projet
  • anticiper son évolution
  • faire comprendre votre projet à des personnes extérieures
  • vous assurez via un document écrit que ce qui est demandé sera développé
  • et (surtout!), de ne rien oublier

Ok, allons-y!

  1. Décrivez votre projet

    • le contexte
    • l’environnement
    • comment s’inscrit votre projet dans cet environnement
  2. Il s’agit d’une synthèse de votre projet, vous devrez aborder les éléments suivants :

  3. Lister les fonctionnalités principales
  4. Dans un premier temps, faites la liste des fonctionnalités principales de votre projet (en tout cas celles que vous avez en tête). Ne vous formalisez pas encore sur l’ordre et le lien entre ces fonctionnalités.
    Cette liste doit vous servir à débroussailler et à commencer la définition de chaque fonction.

    Exemple de liste :
    - affichage d’une promotion
    - entrée d’une promotion
    - traduction automatique d’une question posée par un utilisateur

    Petit aparté : à cette étape vous voyez bien la nécessité d’avoir décrit votre projet, puisque avec simplement la liste exemple ci-dessus vous ne comprenez pas vraiment en quoi consiste le projet…

    Une fois que vous avez fait une liste qui vous paraît exhaustive, des fonctionnalités, vous pouvez commencer un premier tri. Vous pouvez trier les fonctionnalités d’administration et d’affichage.
    Exemple : « afficher une promotion » est une fonctionnalité d’affichage (forcément…) et « entrée d’une promotion » est une fonctionnalité d’administration.

  5. Définir chaque fonctionnalité

Voici les éléments que j’utilise pour définir une fonctionnalité :

  • nom de la fonctionnalité
  • groupes d’utilisateurs
  • principe de la fonctionnalité
  • annexe(s)
  • Points clés

Nom de la fonctionnalité : pas grand chose à dire si ce n’est qu’il ne s’agit pas d’un nom créatif mais du nom réel décrivant la fonction, « poser une question » par exemple dans le cas d’un site de Q&A.

Groupe d’utilisateurs : qui peut/va utiliser cette fonctionnalité? l’admin? les users? les membres? Ok mais n’oubliez pas de définir ce qui se cache derrière chacun de ces termes (de préférence avant la définition des fonctionnalités)

Principe de la fonctionnalité : on commence à rentrer dans le vif du sujet! En une phrase vous allez devoir dire ce que fait cette fonctionnalité. Pour certaines c’est très simple, mais pour d’autres vous verrez que cela sera plus complexe. Cette complexité à formuler votre fonctionnalité doit vous alerter : est-ce qu’il n’y en aurait pas 2 en une seule? est-ce vraiment une fonctionnalité ou simplement l’attribut d’une autre? Si trop de questions se posent, mettez la de côté vous y reviendrez plus tard. Vous verrez que souvent tout s’éclaire au fur et à mesure que vous spécifiez votre projet.
Rentrons encore un peu plus dans le vif! Lorsque vous formulez le principe, vous allez employer certains termes qui semblent clairs pour vous mais qui n’ont pas encore de définition dans le projet. Exemple : « fonctionnalité permettant de répondre à une question », si vous n’avez jamais défini ce qu’était « une question » cela pourrait donner lieu à libre interprétation. Donc soulignez le mot « question » (ou utilisez votre propre code) pour vous signaler que vous devrez définir ce qui se cache derrière.
En procédant de cette manière, vous laisserez certainement très peu de fonctionnalités sans définition, et vous en trouverez d’autres cachées car, soit elles étaient trop évidentes pour vous apparaître, soit vous n’y avez pas du tout pensé!

Je vous conseille donc de procéder de la sorte en formulant le principe de chacune de vos fonctionnalités (+ les nouvelles qui sont apparues bien sur).

Annexe(s) : Il s’agit des maquettes de votre projet. Bien sur, le mieux est d’être exhaustif est de réaliser une maquette pour chaque fonctionnalité, mais pressé par le temps il vous faudra certainement faire des choix. Éléments très importants dans votre projet, ces maquettes graphiques permettront à votre interlocuteur de mieux comprendre ce que vous spécifiez (je vous fais un dessin?;) ) et vous alerterons sur d’éventuelles anomalies dans votre vision de la fonctionnalité.
Si vous ne maîtrisez pas Photoshop, faites des croquis, mais faites-le!
Ensuite, il vous suffit de noter le nom de l’annexe à cet endroit (exemple : fiche-produit.jpg que l’on trouvera dans un fichier à part ou à la suite du dossier)

Points clés : Nous sommes dans l’étape cruciale qui va détailler les points déterminants de votre fonctionnalité. Chaque attribut devra être détaillé. Comme lors de l’énoncé du « principe », vous devrez vous mettre des alertes sur tout nouvel attribut et fonction non encore définis. Voici quelques exemples :
Un premier très simple, pour la fonctionnalité « compte client » :
Points clés :
1. Coordonnés du client :
- nom
- prénom
- civilité
- ….
- Assujetti TVA :
- oui : n° de TVA?
- non
2. Rattachement à un groupe de clients (Alerte à cette endroit : nous devrons définir ce qu’est un « groupe de clients »)

Un second exemple avec une fonctionnalité de gestion du SEO :

1. Gestion de la balise « title » :

  • Possibilité d’appliquer des règles de remplissage de la balise title par type de page (alerte)
  • La règle est la suivante : éléments personnalisés + nom du produit
  • Éléments personnalisés = champ libre modifiable. Exemple de champs personnalisé : « Home Cinema », ce qui donnera comme titre de page : « Home Cinema + nom du produit »
  • Modification d’éléments personnalisés :
    - afficher l’élément personnalisé en cours
    - afficher le champ d’entrée du nouvel élément
    - le nouvel élément remplace l’ancien

Voila relisez-vous 10 fois, faites le lire à quelqu’un d’extérieur et assurez-vous que cette personne a bien compris.

Cette méthode n’a bien sur pas la prétention de spécifier de gros projets, mais marche très bien pour spécifier des projets tels que des sites web e-commerce/de contenu ou des applications mobiles.

N’hésitez pas à me faire part de vos commentaires!

1 Réponse to Rédiger un cahier des charges fonctionnel

Avatar

Gérer les différentes étapes d’un projet | Do.NotRub.Me

juillet 28th, 2010 at 13 h 47 min

[...] l’article sur la rédaction d’un cahier des charges fonctionnel je vous propose de voir la gestion des différentes étapes d’un [...]

Commenter

Pourquoi ce blog?

Ce blog pour partager des expériences autour de mon parcours d'entrepreneur du web. Marketing, gestion de projet, recherche, développement web et mobile, création graphique, mais pas que...sport, économie et philosophie tardive!
Vous pouvez me suivre sur twitter et m'ajouter à vos contacts Viadeo et Linkedin (Si nous ne nous connaissons pas encore, merci dans ce cas de me laisser un petit message)