Découvrez les spécifications fonctionnelles
Les spécifications fonctionnelles… Elles vont être vos nouveaux meilleurs amis dans votre quotidien professionnel, vous allez les adorer autant que vous allez les détester.
On m’en parle beaucoup, mais quand va t-on enfin me dire ce que c’est ?
Pas de panique, je vais vous synthétiser tout ça :
Les spécifications fonctionnelles sont généralement divisées en “user stories”, qui décrivent les fonctionnalités d'un système ou d'un logiciel du point de vue de l'utilisateur. Ces spécifications décrivent ce que le système doit faire, comment il doit le faire, et les résultats attendus.
Les spécifications fonctionnelles sont utilisées dans le développement de logiciels pour décrire les exigences et les fonctionnalités que le logiciel doit fournir pour répondre aux besoins des utilisateurs. Elles peuvent inclure des descriptions détaillées des fonctionnalités, des cas d'utilisation, des exigences de performance, des exigences de sécurité, des interfaces utilisateur, des scénarios de test, et d'autres informations pertinentes pour le développement et la validation du logiciel.
Les spécifications fonctionnelles sont un élément clé de la gestion de projet, et sont utilisées pour guider le développement, la conception et les tests du logiciel. En suivant les spécifications fonctionnelles, les testeurs peuvent s'assurer que le logiciel répond aux exigences des utilisateurs, et qu'il fonctionne de manière efficace et fiable.
Identifiez la structure
Dans un contexte agile, les spécifications fonctionnelles peuvent être un peu différentes de ce que l'on trouve dans les approches plus traditionnelles. Voici quelques éléments que vous pouvez généralement trouver dans les spécifications fonctionnelles :
Les user stories (ou récits utilisateur) : Ce sont des descriptions courtes et simples de fonctionnalités du point de vue de l'utilisateur. Elles se concentrent sur les besoins et les objectifs de l'utilisateur, plutôt que sur les détails techniques.
Les critères d'acceptation : Ce sont des critères qui définissent les conditions pour qu'une user story soit considérée conforme, après avoir été testée... Ils peuvent inclure des exigences de qualité, de performance, de sécurité et de convivialité.
Les maquettes : Ce sont des dessins qui représentent l'interface utilisateur de la fonctionnalité. Elles montrent comment l'utilisateur interagit avec le système pour accomplir la tâche en question.
Les tests automatisés : Ils sont inclus dans les spécifications fonctionnelles pour s'assurer que chaque fonctionnalité est testée automatiquement lorsqu'elle est développée.
Les estimations de temps et de coût : Elles sont incluses dans les spécifications fonctionnelles pour aider l'équipe à planifier et à prioriser les travaux à réaliser.
Dans l'approche agile, les spécifications fonctionnelles sont souvent vues comme un document vivant qui est mis à jour régulièrement tout au long du projet. Cela permet à l'équipe de s'adapter rapidement aux changements, et d'évoluer en fonction des besoins de l'utilisateur.
Un exemple : dans une mission, nous avions régulièrement des évolutions sur un écran de l’application. Cet écran changeait de nom.
Pour y accéder, il y avait deux chemins possibles, via un bouton sur l’application et par un autre bouton, mais d’une autre application dont nous avions la charge.
À la lecture des spécifications, quelque chose m’interpelle : seul un des deux chemins était mentionné !
Je suis allé voir les développeurs pour m’assurer qu’ils avaient identifié le second chemin.
Il s’est avéré que non, une anomalie et un retour en développement ont donc été évités.
Cette anecdote pour dire : Vous êtes important, vos expériences comptent, vous avez développé (ou allez développer) des connaissances fonctionnelles qui, mises au profit du projet, auront une valeur inestimable ; donc donnez votre avis quand cela est nécessaire.
Appréhendez les spécifications fonctionnelles à travers une première lecture
À l’instar d’un vendeur de ballons transformant sa maison en aéronef, la clé du succès est de prendre de la hauteur !
Vous allez pouvoir désormais vous concentrer sur l’analyse de ces spécifications fonctionnelles. Le premier objectif est de s’approprier le contexte du projet, et de savoir où cela va nous mener !
OK, mais par quoi je dois commencer ?
C’est LA question que j’avais posée à mon formateur à mes débuts. Habitué à seulement exécuter, ne pas me poser trop de questions, cela change désormais, surtout dans le contexte agile.
Vous avez peut-être l’image du syndrome de la balançoire en tête, cette fameuse illustration montrant 5 images, allant de “Comment le client a exprimé son besoin” à “Ce dont le client avait réellement besoin”.
L’idée est donc, durant votre première lecture, que vous ayez une approche haute et sans a priori.
Voici quelques conseils :
Prenez le temps de comprendre le contexte : avant de plonger dans les détails des spécifications fonctionnelles, assurez-vous de comprendre le contexte du projet. Cela peut inclure des informations sur les utilisateurs, les objectifs du projet et les contraintes.
Parcourez les grandes sections des specs (spécifications fonctionnelles) : identifiez les différentes sections des entrants pour avoir une idée globale du contenu. Cela peut inclure les fonctionnalités, les cas d'utilisation, les exigences de performance, de sécurité, de convivialité, etc.
Concentrez-vous sur les sections importantes : identifiez les sections qui vous semblent les plus importantes pour les tests et la livraison du projet. Cela peut inclure les user stories, les critères d'acceptation, les maquettes et les estimations de temps et de coût.
Identifiez les termes clés : faites attention aux termes clés et aux sigles qui sont utilisés tout au long du document. Notez-les pour les rechercher plus tard, si nécessaire.
Analysez les exigences en détail : prenez le temps de lire les exigences en détail, pour comprendre les attentes des utilisateurs et les fonctionnalités du système. Assurez-vous de comprendre les critères d'acceptation, et de vérifier si toutes les exigences sont claires, complètes et cohérentes.
Identifiez les lacunes et les questions : notez les lacunes et les questions qui pourraient nécessiter une clarification auprès du product owner ou des parties prenantes. Ces questions peuvent aider à améliorer les spécifications fonctionnelles, et à s'assurer que l'équipe de développement est sur la même longueur d'onde que les parties prenantes.
À vous de jouer !
Contexte
Vous êtes intégré dans une équipe agile pour une entreprise spécialisée dans la vente de papier, nommée “Nous sommes à la page”.
L’entreprise souhaite faire évoluer son site internet pour permettre à ses clients d’effectuer directement leurs commandes de rames de papier, sans passer par les commerciaux.
L’équipe dans laquelle vous évoluez est composée d’un product owner, Édouard, trois développeurs, puis Andy et vous pour les tests.
Ce projet est appelé CLC (initiales de “Ciao les commerciaux”), et vous avez reçu les spécifications fonctionnelles, qu'Édouard vous a transmises. Vous procédez à une première lecture.
Consignes
Vous avez reçu les spécifications fonctionnelles de l’application et vous en prenez connaissance.
Votre mission actuelle est de :
rédiger une courte synthèse sur les enjeux et la finalité du projet ;
soulever quelques questions / points d’attention.
En résumé
Les spécifications fonctionnelles sont généralement divisées en “user stories”, qui décrivent les fonctionnalités d'un système ou d'un logiciel du point de vue de l'utilisateur.
Prenez le temps de comprendre le contexte, avant de plonger dans les détails des spécifications fonctionnelles.
Concentrez-vous sur les sections importantes : identifiez les sections qui vous semblent les plus importantes pour les tests et la livraison du projet.
Identifiez les termes clés : faites attention aux termes clés et aux sigles qui sont utilisés tout au long du document.
Maintenant que nous avons abordé l'importance des spécifications fonctionnelles, élargissons notre point de vue en analysant le cheminement des exigences dans les fonctionnalités.