La plupart des projets WCMS (système de gestion de contenus web) que nous gérons chez Acolad font appel à des méthodologies Agile. Nous optons pour cette stratégie parce que nous savons que les idées et les concepts inclus dans ces méthodologies aboutissent à des produits offrant plus d’avantages à nos clients. Mais comment cette approche affecte-t-elle le rôle traditionnel de l'analyste fonctionnel dans un projet ?
Dans une approche classique en cascade, le travail de l'analyste est clairement défini. L'analyste rassemble toutes les exigences, détaille les spécifications fonctionnelles et fournit un long document finalisé à l'équipe de développement, qui construit l'application comme spécifié. Dans un monde Agile, le rôle de l'analyste est moins clair. Dans les projets Agile, l'équipe de projet multidisciplinaire travaille de manière collaborative sur la livraison rapide de petits éléments de travail relatifs au produit. Ceci se déroule lors de courtes périodes de travail successives, appelées sprints. En ce qui concerne la documentation, la règle dit qu'une « quantité appropriée » de documentation devrait être produite.
Mais que cela signifie-t-il en pratique ? Le rôle de l'analyste fonctionnel n'existe-t-il plus ? Toutes les activités d'analyse et de documentation sont-elles effectuées par l'équipe de développement ? La totalité des exigences rédigées est-elle entièrement remplacée par des prototypes interactifs intuitifs ?
Les équipes web
Lorsqu’on observe l'équipe d’un projet web standard, on retrouve normalement la composition suivante : le client (business et informatique), une équipe UX et design responsable de la conception, un partenaire d'hébergement et l'équipe de mise en œuvre.
L'équipe de mise en œuvre d'Acolad correspond généralement aux fonctions suivantes : un chef de projet, un/des développeur(s) front-end, un analyste fonctionnel, un responsable technique, un architecte, un spécialiste en infrastructure et un/des développeur(s) WCMS. Ces rôles ne doivent pas obligatoirement être assumés par une personne différente. Lors de projets plus petits, l'architecte ou rôle infrastructurel peut également être assumé par le responsable technique.
Cependant, quand on observe le rôle de l'analyste fonctionnel, il est clair qu’il est assumé par une autre personne dans la plupart des cas. Cela signifie-t-il que cette tâche est trop spécifique pour être effectuée par l'un des profils plus techniques ? Pas du tout. Mais dans la pratique, nous constatons que cela fonctionne mieux lorsqu’une personne spécifique prend le lead pour effectuer le travail d'un analyste fonctionnel. Cela ne signifie pas cependant que les autres membres de l'équipe ne sont pas impliqués dans le processus d'analyse. L'analyste est en amont de la piste d'analyse et il impliquera également d'autres membres de l'équipe dans le processus de mise en forme et de remise en question de la solution fonctionnelle. Il est important de garder tout le monde informé sur le produit, sa qualité n'en est que meilleure.
Observons maintenant d'un peu plus près le rôle de l'analyste fonctionnel dans la gestion de projet web Agile
1. DISCUTER DES ASPECTS FONCTIONNELS DU PRODUIT REQUIS AVEC LE CLIENT, AINSI QUE L’ÉQUIPE UX ET L’ÉQUIPE DE CONCEPTION ET DÉFINIR LES EXIGENCES FONCTIONNELLES
Avant que la conception graphique, fonctionnelle et technique d'un site web puisse commencer, un concept de site est requis. Ce concept est conçu par le client, avec une équipe UX ainsi qu’une équipe de conception. Il comprend généralement une architecture d'information, un guide de style, un inventaire fonctionnel, des wireframes et des prototypes pour illustrer le comportement fonctionnel et les flux de navigation. Il est important que l'équipe de mise en œuvre soit impliquée le plus rapidement possible, car dans cette phase, les bases de toutes fonctionnalités futures sont définies.
C'est typiquement là que l'analyste fonctionnel intervient. L'objectif de cette intervention est d'avoir une vision plus approfondie des exigences fonctionnelles du concept et d'informer l'équipe conceptuelle des possibilités et des limites de la plateforme technique (système de gestion de contenu web). Cela permet de s'assurer que la solution élaborée peut être intégrée dans l'environnement technique de manière fluide et économique. Une intervention anticipée permet également d'établir une bonne relation entre tous les membres de l'équipe, ce qui est bénéfique tout au long du projet.
2. DISCUTER DES EXIGENCES ET DES CONTRAINTES NON FONCTIONNELLES AVEC LE CLIENT
Outre les exigences fonctionnelles, l'analyste fonctionnel doit détecter les exigences non fonctionnelles liées à l'activité. Parmi elles, on trouve p. ex. les exigences du navigateur, les exigences de l'appareil, les exigences linguistiques et les exigences en matière d'utilisation.
Une fois qu'on a une vue d'ensemble claire, la conception UX détaillée et la conception graphique peuvent commencer. C'est généralement une agence de communication qui s'en charge. Elle fournit une conception et une approche UX pour tous les différents types de page d'un site web. Une fois que la conception graphique de la page est prête et approuvée par le client, l'analyste fonctionnel peut exécuter la saisie fonctionnelle des conceptions. Le but de cet apport est d'avoir une compréhension claire de la fonctionnalité implicitement incluse dans la conception et de la défier. Ce défi consiste à vérifier que le concept fonctionnel est logique et cohérent et qu'il correspond au WCMS sélectionné. Le responsable technique est alors en charge. Les commentaires et les suggestions d'amélioration sont transmis au client. Cette approche permet d'ajuster la conception dès le début.
Il convient ici de remarquer en ce qui concerne la méthodologie de projet Agile que le processus de saisie fonctionnelle peut démarrer avant que le site web ne soit entièrement conçu. La prise en charge des conceptions approuvées peut fonctionner parallèlement à la conception de nouvelles fonctionnalités. Cela aide beaucoup à faire démarrer l'analyse technique et le développement plus tôt. D'un autre côté, l’exécution de la conception/de l’analyse d'une certaine fonctionnalité menée en même temps que le développement peut s’avérer être une erreur. L'analyse et la conception nécessitent toujours beaucoup de discussions et leur temps de traitement est relativement long. Ce temps doit être disponible. Une bonne règle à retenir est que la conception et l'analyse d'un élément devraient être exécutées avec au moins un, voir même deux sprints d'avance sur le développement réel.
3. CRÉER DES SPÉCIFICATIONS FONCTIONNELLES POUR OBTENIR UNE DESCRIPTION CLAIRE ET COMMUNÉMENT PARTAGÉE DU COMPORTEMENT FONCTIONNEL REQUIS
À la fin de la conception, les spécifications fonctionnelles des aspects du frontend de la page fournie et des composants de la page sont définies par l'analyste fonctionnel. Les spécifications de frontend se concentrent sur les aspects de la solution qui peuvent être entrevus et utilisés par l'utilisateur final (visiteur) du site web. Un exemple typique de modèle de page est une page d'accueil ou une page d'article. Un composant sera par exemple la navigation principale ou un bloc vidéo affiché sur une page.
En plus du comportement requis sur le frontend, les spécifications fonctionnelles du système de gestion de contenu web sont créées. L'objectif de ces spécifications est de décrire comment les modèles et composants identifiés seront gérés par les auteurs du système. C'est une étape importante qui est parfois oubliée. Il est important de créer un site Web qui fonctionne bien pour l'utilisateur final, mais Il est aussi très important de créer un excellent outil pour les auteurs du site. La conception de l'expérience backend est généralement la tâche de l'analyste fonctionnel, qui coopère alors avec le responsable technique et le client.
4. S'ASSURER QUE LES CRITÈRES D'ACCEPTATION FONCTIONNELS SONT CLAIRS
Une règle importante à garder à l'esprit est que la documentation doit être livrée dans la quantité appropriée, pour le public adéquat, au bon moment et au bon endroit. Puisque chaque projet est différent, l'approche concernant la documentation peut également être différente dans chaque projet. L’élément le plus important est de trouver un moyen de créer une documentation utile qui sera pratique lors de la création du produit sur lequel vous travaillez.
En plus des spécifications écrites, la communication orale relative aux spécifications est également importante. Lors d’une approche Agile, le travail est organisé en courtes périodes de travail (sprints). Avant chaque sprint, le travail qui devra être réalisé pendant le sprint est défini et confié à un développeur. Avant que le développement ne commence effectivement, un briefing global ainsi qu’individuel est organisé pour discuter de la fonctionnalité requise et de l'approche technique. Dans ce processus, l'analyste fonctionnel est responsable d'informer l'équipe des spécifications disponibles et de clarifier les détails.
5. PARTICIPER PENDANT LES DÉMOS
Au cours du processus de développement, les développeurs doivent également communiquer avec l'analyste fonctionnel et le client pour obtenir des informations supplémentaires sur certains sujets. Après chaque sprint, la fonctionnalité de travail est présentée et discutée avec le client, pendant la démo. Une communication continue sur la fonctionnalité est élémentaire afin de pouvoir fournir un résultat parfait. L'analyste doit s'assurer du bon déroulement de ce processus.
6. EXÉCUTER LES TESTS FONCTIONNELS BASÉS SUR LES SPÉCIFICATIONS ET LES CRITÈRES D'ACCEPTATION
Les critères d'acceptation sont définis par l'analyste fonctionnel avec le client, sur la base des spécifications. Cela donne clairement la possibilité aux développeurs et aux testeurs d'évaluer si une fonctionnalité est prête. Dans la plupart des projets, l'analyste fonctionnel remplit également le rôle de testeur fonctionnel. Les tests fonctionnels sont proches de l'examen par des pairs, plus technique dans sa nature, et les tests individuels font partie du processus qualité interne. À partir des spécifications et des critères d'acceptation, des scénarios de test sont créés pour vérifier si les fonctionnalités requises sont correctement implémentées. Étant donné que l'analyste fonctionnel a une bonne vision globale des fonctionnalités requises par le produit, il est également le mieux placé pour exécuter ces tests.
7. TRAITER LES BUGS RAPPORTÉS
Les critères d'acceptation et les scénarios de test sont également utilisés par notre client pour les tests d'acceptation. À la suite de ces tests, les défauts sont consignés. En général, la prise en charge du défaut consigné est également effectuée par l'analyste fonctionnel. L'analyste détecte s’il s’agit d’un défaut ou non. Dans le cas d'un défaut réel, un ticket est envoyé au développeur correspondant. Dans d'autres cas, l'analyste fonctionnel fournit les informations nécessaires pour résoudre le problème en mettant la documentation requise à disposition.
8. FOURNIR UNE DOCUMENTATION FONCTIONNELLE UTILE DANS UN FORMAT OFFRANT DES AVANTAGES À NOTRE CLIENT
La documentation utilisateur est créée lors du projet par l'équipe de développement. L'idée est que cela fonctionne mieux lorsque cette tâche réalisée en petites étapes par des personnes qui connaissent bien les différentes fonctionnalités. C'est pourquoi la documentation est créée par les développeurs lors des dénommés sprints pour les fonctionnalités développées dans le sprint en question. De plus, l'analyste fonctionnel est en charge de la révision et de l'édition. L'objectif est de préparer la documentation utilisateur de base avant le début du test (d'acceptation), afin de s'assurer que tous les testeurs et les auteurs disposent des informations requises lorsqu'ils commencent le test/la création.
9. METTRE À DISPOSITION UNE FORMATION FONCTIONNELLE
Un format approprié est défini avec le client afin d’offrir une ressource de documentation présentant des avantages. Cette documentation est également utilisée lors des sessions de formation fonctionnelle. Au cours de ces sessions, l'équipe auteur est informée des fonctionnalités du système de gestion de contenu et obtient des informations spécifiques sur la gestion de tous les modèles et composants disponibles dans le système.
Les tests, la documentation et la formation sont organisés suivant le flux de sprints, lorsque la structure organisationnelle d'un client l’autorise. Cela permet à l'équipe de test du client de fonctionner dès que possible et constitue un excellent moyen de recueillir les commentaires des utilisateurs à un stade précoce.
Conclusion
La description ci-dessus montre que les tâches de l'analyste sont aussi pertinentes dans une approche de projet Agile que dans d'autres approches de projet. L'approche Agile tente cependant d'organiser ces tâches de manière plus efficace en s'assurant que toute l'équipe est impliquée dans l'élaboration de la solution par le biais d'un développement itératif, de tests, de la documentation et de la formation.