Le préalable incontournable à la conception fonctionnelle d’un logiciel est l’identification des besoins métiers auxquels il répond. Ce n’est cependant pas un exercice facile, car cela nécessite de très bien comprendre l’activité et l’environnement de l’organisation à laquelle il est destiné. Dans les projets de systèmes d’information, nombreux sont les business analysts débutants qui ont du mal avec cette activité indispensable, ils ne savent pas par où commencer, ni quelle méthodologie adopter.
Comme tout le monde à l’heure où j’écris ces lignes, je suis de près l’actualité de la crise sanitaire internationale que nous vivons, et j’ai eu envie de à me mettre dans la peau d’un Business Analyst, à qui on aurait confié la charge d’identifier les besoins métiers couverts par la page Facebook « Covid-19 – Centre d’Information » mise en place dernièrement par le gouvernement français. Je sais, ce n’est pas très réjouissant, mais c’est mon inspiration du moment.
Si vous êtes Business Analyst débutant, je vous propose dans cet article un petit tutoriel basé sur ce cas pratique imaginaire.
Il s’agit en effet de vous montrer quelle trame méthodologique peut être appliquée pour identifier les besoins métier, avant de les retranscrire en fonctionnalités puis de développer ou paramétrer la solution logicielle cible.
Notez également que ce n’est pas un article polémique pour ou contre la réaction du gouvernement à la crise sanitaire ; le but est uniquement d’apporter aux business analysts débutants un éclairage sur la méthodologie de conception fonctionnelle.Etat des lieux
Si vous avez un compte Facebook et que vous êtes français, vous avez dû voir passer une bannière vous suggérant la page officielle « Covid-19 – Centre d’Information », mise en ligne par le gouvernement français. Voici à quoi elle ressemble :
Comme ce tutoriel est adressé à des business analysts débutants, j’ai opté pour un cas pratique qui peut théoriquement « parler » au plus grand nombre, et qui, dans la réalité, ne nécessite pas forcément l’intervention d’une équipe projet de systèmes d’information.
>> Lire aussi : Comment obtenir votre premier poste de Business Analyst
Mais jouons le jeu et faisons preuve d’imagination : posons l’hypothèse que la direction des systèmes d’information du gouvernement (si elle existe) a lancé un projet de mise en place de la page Facebook officielle « Covid-19 », et que le Business Analyst de l’équipe doive identifier les besoins métiers.
Méthodologie possible
1. Identifier la vision et les besoins métier
- Question 1 : Quel est le changement majeur à l’origine du besoin de développement logiciel ?
Ce changement peut être une nouvelle découverte, une évolution de l’environnement externe ou interne, ou encore un échec cuisant.
Réponse : Le changement majeur est lié à l’environnement externe, il s’agit bien entendu de la crise sanitaire internationale du Covid-19. Cette crise sanitaire inédite conduit à l’explosion des demandes d’information sur le Covid-19.
- Question 2 : Quelle est la vision supérieure portée par la nécessité de changement ?
Réponse possible : contribuer à enrayer l’épidémie de Covid-19 en France, en mettant en place un dispositif d’information en temps réel à l’intention des personnes habitant sur le territoire français.
>> Lire aussi : Pourquoi personne ne voit la vision de son dirigeant (le biais de la « vision floue »)
- Question 3 : quels sont les besoins métier de haut niveau ?
Réponse possible :
- Utiliser la force de frappe des réseaux sociaux
- Diffuser en temps réel les informations officielles concernant les mesures en cours et la propagation de l’épidémie dans le monde et en France
- Diffuser en temps réel les articles publiés par les principaux journaux d’information français autour du Covid-19
- Diffuser des conseils de prévention
- Afficher les interlocuteurs à contacter en cas de doute sanitaire
- Aider les concitoyens à supporter les mesures de confinement
- Favoriser l’entraide
2. Identifier les processus métier
L’objectif ici est de comprendre et décrire de manière macroscopique les processus métier en oeuvre permettant de répondre aux besoins métier.
Un processus désigne un ensemble d’activités corrélées entre elles qui transforme des flux entrants en flux sortants et qui apporte de la valeur au client ou au consommateur final. Par exemple, le processus de fabrication du pain peut ressembler à ça (pardon aux spécialistes, c’est pour l’illustration !) :
- Flux entrant (ingrédients) : farine de blé + sel + levure + eau
- Activité 1 : mélanger farine + sel
- Activité 2 : mélanger levure + eau tiède
- Activité 3 : mélanger le tout
- Activité 4 : pétrir la pâte
- Activité 5 : former le pâton
- Activité 6 : préchauffer le four
- Activité 7 : enfourner le pâton
- Activité 8 : cuire
- Activité 9 : sortir du four
- Flux sortant : pain cuit
Réponse possible pour la plateforme Covid-19 : normalement la description des processus métier se fait sous forme de diagramme, car c’est bien plus facilement compréhensible. Je n’ai pas poussé l’exercice jusqu’au bout, mais on peut imaginer que la description du processus de diffusion des informations officielles pourrait ressembler à ceci:
- Flux entrant : données de l’OMS, données du ministère de la Santé, données du ministère de l’Intérieur, du Premier Ministre, etc…
- Activité 1 : collecter manuellement les informations des sources officielles (reçues par mail, transmis par / via les sites ministériels etc)
- Activité 2 : vérifier leur fiabilité et leur cohérence
- Activité 3 : préparer le contenu éditorial (texte, photos, URL…)
- Activité 4 : saisir / uploader dans l’application (Facebook…)
- Activité 5 : programmer la diffusion / diffuser
- Flux sortant : réseau social mis à jour avec les informations officielles
3. Analyser les contraintes
- Question 5 : Quelles sont les contraintes extérieures à prendre en compte ?
Réponse possible :
- Contraintes externes défavorables : tout le monde n’a pas accès à internet, ni de compte sur les réseaux sociaux, les réseaux sociaux les plus populaires sont sous contrôle américain (Facebook, Twitter…), le débit internet est saturé par les pics d’accès actuels (télétravail…) etc…
- Contraintes externes favorables : les réseaux sociaux permettent de toucher la majorité de la population française en temps réel, la technologie est maîtrisée, la mise à jour des informations est facile et rapide
- Question 6 : Quelles sont les contraintes internes à prendre en compte ?
Réponse possible :
- Contraintes internes défavorables : déploiement de la plateforme urgente sous X jours, pas de ressources humaines disponibles en interne (sous-traitance nécessaire = rallonge les délais de mise en œuvre), inexistence des processus de récupération des informations sanitaires (car crise inédite) notamment à l’international
- Contraintes internes favorables : pas de contrainte budgétaire, prise de décision immédiate grâce à la mise en place d’une cellule de crise dédiée
- Question 7 : Quelles sont les contraintes technologiques à prendre en compte ?
Réponse possible : Paramétrage contraint par les limites du réseau social qui sera utilisé (ici, la décision sera d’utiliser Facebook), que ce soit pour l’interface utilisateur ou pour l’intégration des données tierces.
- Question 8 : quelles sont les contraintes liées à la gestion de projet ?
Réponse possible : choix d’une gestion de projet agile pour déployer le plus rapidement possible et de manière incrémentale les fonctionnalités de l’application cible. Connaissance de l’approche agile nécessaire ainsi que forte disponibilité des utilisateurs / décideurs côté métier.
>> Lire aussi : 4 étapes pour devenir un vrai Business Analyst agile
4. Prioriser les besoins métier
Une fois la liste des besoins métier de haut niveau élaborée, une fois définie la vision macroscopique des processus en jeu ainsi que les contraintes pesant sur le développement de l’application cible, il est indispensable de les prioriser.
En effet, certains besoins sont plus urgents que d’autres et la plateforme Covid-19 doit être déployée le plus rapidement possible. Elle comprendra initialement ses fonctionnalités les plus importantes, et sera enrichie progressivement avec les fonctionnalités moins urgentes et moins critiques. C’est la compréhension de la vision supérieure liée à la nécessité de répondre au changement qui vous aidera à prioriser de manière pertinente.
Réponse possible :
- Priorité élevée : diffuser les mesures officielles, diffuser les conseils de prévention, indiquer les interlocuteurs à contacter, diffuser les chiffres de propagation de l’épidémie en France
- Priorité moyenne : diffuser les informations de la presse sur le Covid-19 (certains journaux sélectionnés), diffuser les chiffres de propagation de l’épidémie dans le monde,
- Priorité basse : donner des conseils pour supporter le confinement, mettre en relation les personnes ayant besoin d’aide et celles qui offrent des services
Et après ?
Une fois que vous aurez obtenu la liste des besoins métiers et que vous l’aurez priorisée, vous pourrez réfléchir à la définition précise de la solution. Car à ce stade, n’importe quelle solution technique est encore envisageable, du moment qu’elle permet de répondre du mieux possible aux besoins exprimés, en accord avec la vision supérieure poursuivie par le projet.
Il faudra encore de nombreuses analyses au Business Analyst (ou à tout autre rôle en charge des activités de business analyse) pour recommander la meilleure solution possible, puis encore beaucoup de travail de conception pour en décrire précisément le fonctionnement, les règles métiers, et les exigences non fonctionnelles.
>> Voir aussi : [VIDEO] Définir les Exigences Non Fonctionnelles
Et un Business Analyst ne travaillant jamais seul, n’oublions pas toute l’équipe projet, développeurs, architectes, intégrateurs, testeurs, chefs de projets, et autres UX/UI designers, grâce auxquels une très succincte expression de besoin finit par se matérialiser en application logicielle…
Cet article vous a plu? Partagez-le et suivez-moi sur les réseaux sociaux!