Lorsque vous contactez une agence digitale comme WebstanZ, c’est parce que vous avez un besoin spécifique, un projet concret à mettre en place. Nous commençons par vous écouter afin d’appréhender vos attentes et les éventuelles contraintes. Un workshop d’élicitation est généralement organisé.
L’élicitation est un processus dont l’objectif est de recueillir l’information utile et nécessaire à la proposition, la conception et la mise en oeuvre d’une solution optimale
Ces premiers échanges débouchent sur la rédaction d’une description fonctionnelle, consignant les fonctionnalités attendues dans un document. À ce stade sont reprises les différentes demandes (requirements), ce qui fait partie du périmètre et ce qui est “hors scope”, ainsi qu’une première approche en termes de User eXperience (UX), de User Interface (UI) et d’accessibilité. Une offre de prix précise peut alors vous être proposée.
Ensuite, il faut décrire ce que le système doit faire : identifier les acteurs (utilisateurs), établir les flux (processus) et les interactions entre toutes ces entités. C’est là qu’intervient l’analyse fonctionnelle.
C'est quoi une analyse fonctionnelle ?
L'analyse fonctionnelle est une approche structurante au service de l'équipe en charge de la création ou de l'amélioration d'un produit. L'objectif consiste à identifier le besoin client, pour déterminer les fonctions du produit, avant de rechercher les solutions techniques et technologiques à mettre en œuvre. (...)”
A quoi sert-elle ?
Outre les avantages évidents liés à la formalisation des fonctionnalités, l’analyse fonctionnelle assure au client que WebstanZ a bien compris son projet, ses tenants et aboutissants. La confiance, essentielle au bon déroulement de la collaboration, en est renforcée.
L’idée sous-jacente de l’analyse fonctionnelle est de construire un système robuste, en évitant les surprises de dernière minute, dans une optique de qualité générale de produit.
Quand est ce qu'elle intervient ?
En fonction du niveau de définition du projet, l’analyse fonctionnelle peut débuter avant la remise de l’offre de prix, afin d’étoffer et préciser la description fonctionnelle, mais elle commence parfois après l’acceptation du devis par le client.
WebstanZ emploie une méthodologie de gestion de projet hybride et pragmatique, avec une première phase en cascade, avant de passer à une seconde phase en mode itératif, basée sur approche agile et des principes Scrum.
Si l’analyse fonctionnelle intervient naturellement lors de la phase en cascade en début de projet, elle est affinée lors des étapes itératives de développement (sprints), par le biais de tâches de découverte (discovery).
Lors de la maintenance du projet, une fois la mise en production effectuée, une analyse fonctionnelle peut encore s’avérer utile et nécessaire pour étudier certains change requests ambitieux, dans un esprit de cohérence, de valeur ajoutée et de pertinence.
Utiliser des Use Cases pour modéliser les flux
Un cas d'utilisation (Use Case) est un concept utilisé dans le développement de logiciels, la conception de produits et d'autres domaines pour décrire comment un système peut être utilisé pour atteindre des objectifs ou des tâches spécifiques. Il décrit les interactions entre les utilisateurs ou les acteurs et le système pour atteindre un résultat spécifique
Chez WebstanZ, nous utilisons FigJam pour modéliser les flux d’informations. FigJam est une extension de Figma, un outil collaboratif que nous utilisons pour discuter des aspects UX/UI de manière visuelle.
Sur l'image ci dessous, nous voyons un exemple de Use Case typique d’un site e-commerce. Depuis le catalogue en ligne, le visiteur décide d’ajouter un article dans son panier d’achats (extend indique que la tâche est déclenchée suite à une action de l’utilisateur). Cela a pour effet de demander à Drupal (en back office) d’enregistrer le résultat de l’action dans la base de données. Ensuite, le front end (logique applicative côté utilisateur) affiche un lien vers le panier d’achat modifié. Les actions de Drupal et du front end sont déclenchées automatiquement, dans la foulée de la première interaction (include). Les notations extend et include sont reprises de la normalisation UML.
Rédiger des User Stories répondant aux besoins des utilisateurs
Une user story est une explication générale et informelle d'une fonctionnalité logicielle écrite du point de vue de l'utilisateur final. Son objectif est d'expliquer comment une fonctionnalité logicielle apportera de la valeur au client.
Pour reprendre l’exemple d’ajout au panier d’achats de l'image, on pourrait rédiger la User Story “Visiteur - Ajoute un article dans son panier” de la manière suivante :
En tant que visiteur
Je souhaite ajouter un article dans mon panier
Afin de pouvoir le commander
La formulation “En tant que/Je souhaite/Afin de” est typique de la notion de User Story.
“En tant que…” identifie l’acteur de l’action (le persona)
“Je souhaite…” décrit la fonctionnalité désirée
“Afin de…” précise le but, l’objectif qui crée de la valeur du point de vue de l’utilisateur final
Une liste des étapes successives peut être détaillée.
- L’utilisateur accède au catalogue de produits.
- Il clique sur une icône d’ajout au panier en face d’un article.
- L’article est ajouté à son panier d’achats.
C’est ce qu’on appelle les critères d’acceptation (acceptance criteria) permettant de tester la fonctionnalité une fois implémentée, afin de s’assurer qu’elle correspond bien au besoin identifié au départ.
Prioriser les tâches avec MoSCoW
La méthode MoSCoW est une technique visant à établir les priorités des besoins ou des exigences en matière d'assistance à maîtrise d'ouvrage et de développement logiciel. (...)
MoSCoW est un acronyme qui condense les termes suivants :
Must have : la fonctionnalité est essentielle au système et doit être implémentée.
Should have : la fonctionnalité est intéressante et devrait être implémentée.
Could have : fonctionnalité “nice to have”, pas nécessaire mais constitue un plus.
Won’t have : fonctionnalité à ne pas implémenter pour le moment.
Les priorités servent à communiquer aux développeurs les fonctionnalités à implémenter dans l’ordre d’importance, en sachant qu’elles peuvent être revues dans le temps.
Conclusion
Nous avons vu que l’analyse fonctionnelle permet de décrire les fonctionnalités d’un projet web, d’assurer l'amélioration et le changement en équipant l’entreprise d'outils digitaux qui répondent à ses besoins métier. Les différents formats et formulations permettent d’assurer la bonne compréhension des besoins du client par l’agence. Le développement peut alors se faire sur des bases robustes, afin de produire un travail de qualité et établir une relation de confiance avec le client, en évitant les surprises en cours de route.
Besoin d'aide pour votre analyse fonctionnelle ?