I. Introduction▲
Comme tout projet informatique, il est souvent très recommandé d'établir une bonne démarche de gestion de projet. C'est pourquoi dans cet article je vais décrire la démarche d'un projet BI/DW. Dans un premier temps, je traiterai le sujet suivant un aspect théorique se basant sur quelques principes fondamentaux inspirés de la stratégie « Kimballienne » ensuite je donnerai un cas pratique inspiré de ma propre réflexion.
II. Aspect théorique▲
Je pense sans doute que beaucoup d'entre nous ont pratiqué ou au moins entendu parler de « méthodes agiles » (malheureusement célèbre que dans le monde Java/programmation objet). Alors pourquoi pas une méthodologie pour les projets décisionnels ? Eh bien, je vous rassure, il y en a une préconisée par l'école de « Ralph ». Je ne vais cependant parler que sommairement de la méthodologie. Mais en attendant, voici ci-dessous le célèbre schéma dénommé « business dimensional lifecycle » qui est une référence dans la stratégie décisionnelle.
Comme l'indique le sujet, je ne traiterai ici que de la partie analyse et conception dimensionnelle. Ce qui m'amène à ne traiter que les deux boîtes blanches « business requirements definition » et « dimensional modeling » (cf. schéma ci-dessus).
II-A. Business Requirements Definition▲
Comme tout projet, il faut faire une capture des besoins utilisateurs et pour cela on a besoin de plusieurs choses.
II-A-1. Étude du domaine métier▲
Cette étape est fondamentale. En effet il n'y a pas de secret. Si vous voulez travailler dans le décisionnel vous êtes obligé de connaître le métier de l'entreprise pour laquelle vous travaillez. Alors si vous êtes nouveau, familiarisez-vous avec les termes utilisés, regardez sur l'intranet de l'entreprise ou sur leur site. Il y a beaucoup d'informations cachées là-dedans. Et une astuce qui m'a beaucoup aidé c'est de se familiariser avec les différents logiciels/progiciels utilisés dans l'entreprise. Ne les utilisez pas en environnement de production, mais créez plutôt votre propre environnement de test sur lequel vous êtes libre pour vos tests. Je peux vous assurer que cela est très utile ! Vous pouvez aussi utiliser le bon vieux SQL pour faire de petites requêtes afin de vous faire une idée des données disponibles dans le référentiel métier.
II-A-2. Interview des acteurs clés du métier▲
Un autre élément tout aussi important que l'étude de l'environnement est la connaissance et l'interview des acteurs métier. Bien évidemment il faudra tout d'abord bien connaître l'organigramme de l'entreprise et savoir qui s'occupe de quoi par exemple on peut bien s'imaginer que selon la complexité d'une structure bancaire, les besoins en front-office/banque d'investissement ne seront pas les mêmes que ceux en back-office/banque de détail ni en middle-office. Et si on ne connaît pas bien l'organigramme on pourrait se planter sur les bonnes questions à poser aux bonnes personnes.
II-A-3. Découpage des besoins en thèmes/sujets▲
Après interview, il est toujours bien de faire un compte rendu de réunion. Cela permet par la suite de dégager les différents business process à implémenter dans le business model. À partir des comptes rendus de réunion, il faudra d'abord classer les besoins en thèmes ou sujets d'analyse. On peut par exemple s'imaginer, si on est dans le milieu de la vente que le commercial de la direction force de vente voudra étendre ses ventes dans le maximum de régions possible et pour cela lors de l'interview il demandera à pouvoir disposer d'un outil qui lui permettra de bien évaluer les zones fluides en termes de vente. De même, lors de l'interview de la personne clé du département marketing, ce dernier voudra analyser les catégories de produits qui susciteront le plus d'intéressements de la part de la jeune clientèle. Ces deux besoins différents seront classés dans deux thèmes ou sujets différents (on verra que ça ne sera pas forcément deux business process différents).
II-A-4. Définition des business process▲
Après le découpage des besoins en sujets, il faudra maintenant passer presque au cœur de la modélisation : la définition des « business process ». Cette phase est utile pour pouvoir regrouper des thèmes qui sont concernés par le même business process pour éviter de dupliquer des choses. Et là aussi Margy Ross l'a bien signalé dans son article intitulé Focus on business process, not business department où il déclare que l'erreur généralement commise par certains concepteurs de systèmes décisionnels est de définir des business process redondants. Chaque département ou secteur de l'entreprise a ses propres besoins et ces besoins peuvent faire appel au même business process. Par exemple, les marketeurs (département marketing) peuvent avoir besoin d'analyser l'intéressement des jeunes à une catégorie de produits. De même, les commerciaux (département vente) peuvent avoir besoin de connaître le chiffre d'affaires de la région Île-de-France en termes d'achat de portables par exemple. Ces deux catégories de besoins utilisent toutes les deux le business process « commande ». On risque de répéter le même business process si l'on tient compte de la demande de chacun des deux départements séparément.
II-B. Modélisation dimensionnelle▲
Une fois avoir recensé les différents business process, on pourra commencer à construire le modèle dimensionnel à proprement parler. Pour cela il faudra bien évidemment repérer les tables de faits et celles de dimensions.
II-B-1. Tables de faits▲
Pour détecter la/les table(s) de faits, il faudra se servir des éléments recueillis lors de la phase précédente c'est-à-dire des différents « business process ». Il faudra donc pour chaque business process se demander quels sont les éléments dont on souhaite mesurer la magnitude (prix, taux, intensité, température, etc.). Par exemple, pour la business process « commandes », on pourrait définir les mesures suivantes : prix unitaire, prix d'achat, etc.
II-B-2. Tables de dimension▲
Un business process représentant une activité, les objets qui entrent en jeu dans cette activité constituent eux les dimensions. Alors si l'on considère le business process « commandes », les acteurs qui participent à l'activité peuvent être le client (c'est lui qui lance la commande), le produit (c'est lui qui fait l'objet de la commande) et certainement le temps (le temps est une dimension particulière qui est souvent très utile dans le monde du décisionnel. Dans des SGBD comme DB2, il est même imposé.
Pour une bonne conception du business process, je pense qu'il n'est pas mal d'utiliser le diagramme UML d'activité. Ce diagramme permet de modéliser l'activité d'un système.
III. Aspect pratique▲
Tout cela paraît bien théorique. Je propose donc de passer à un cas pratique. Prenons l'exemple suivant :
L'université Paris100 traverse des moments difficiles et arrive difficilement à gérer les requêtes de ses étudiants. Et pourtant l'université pense que son système est efficace pour la gestion des admissions, des inscriptions, des inscriptions pédagogiques (inscription aux matières), les recrutements de professeurs, etc. D'ailleurs, l'université prévoit d'être en grève et les personnes dirigeantes sont inquiètes et voudraient savoir ce qui ne marche vraiment pas. Cet exemple n'est certainement pas très pertinent comparé aux domaines de l'industrie ou de la banque, mais comme beaucoup de personnes connaissent le fonctionnement de l'université, ça pourrait être un exemple assez simple.
III-A. Étude du domaine▲
Pour l'étude du domaine, nous allons faire les opérations suivantes.
- Naviguer sur le site de l'université afin de comprendre le fonctionnement (généralement il y a l'historique de l'université, ses partenaires, ses formations, sa stratégie, l'organigramme, le coin anciens étudiants (pour témoignage, avis, etc.), la recherche (étude doctorale), vie au campus, la bibliothèque, etc.).
- Demander aux gestionnaires (service comptabilité, service inscription pédagogique, service logement étudiant, etc.) s'il existe des logiciels de gestion utilisés et s'il est possible de les brancher sur des bases de test. Si c'est le cas, cela pourra beaucoup vous aider pour apprendre superficiellement le métier du gestionnaire. N'essayez surtout pas de connaître le logiciel comme ses utilisateurs de base, car ce n'est pas de votre domaine de compétence. Essayez juste de comprendre au mieux l'utilisation de ces logiciels/progiciels.
- Faire quelques requêtes SQL sur ces bases de gestion. Les requêtes du type GROUP BY avec des fonctions d'agrégats comme COUNT, SUM sont souvent utiles pour connaître certaines choses comme le nombre d'inscrits par matière. Par exemple :
SELECT
Matiere.nom_Matiere,COUNT
(
Etudiant.id_etudiant)
FROM
Matiere,Inscription,Etudiant
WHERE
Matiere.id_Matiere =
Inscription.id_Matiere
AND
Inscription.id_Etudiant =
Etudiant.id_Etudiant
GROUP
BY
Etudiant.id_Etudiant
HAVING
COUNT
(
Etudiant.id_Etudiant)
>
30
Cette requête est censée donner les matières ayant plus de 30 inscrits. Connaître cela pourrait être intéressant dans la mesure où ça pourrait nous informer assez grossièrement sur les centres d'intérêt des étudiants suivant les matières.
III-B. Interview▲
Avant les interviews, nous nous sommes renseignés sur l'organigramme en interrogeant la DRH , en lui demandant de nous fournir le schéma global des différentes directions et du personnel. Après avoir pris connaissance de cette structure, voilà que nous sommes prêts à aller interroger certaines personnes clés. Ci-dessous voici les personnes que nous avons choisi d'interviewer. Le choix a été fait exprès du fait que ces personnes connaissent bien le métier et sont des personnes incontournables.
Nom |
Fonction |
---|---|
Mme Dupond |
Secrétaire-Direction des inscriptions |
M. Dumont |
Responsable formation-dpmnt informatique |
Mme Gironde |
Secrétaire - Service social/logement |
M.Bâ |
Enseignant- dpmnt informatique |
Voici ci-dessous un interview passé avec Mme Dupond (Secrétaire de la direction des inscriptions). Nous lui posons tout d'abord quelques questions avant de lui demander ses réels besoins, voici quelques éléments de notre interview :
Q 1: Mme Dupond vous êtes en poste à l'université paris100 depuis combien de temps ?
R1 : Je suis là depuis 16 ans.
Q2 : Avez-vous toujours occupé le même poste ?
R2 : Non. En fait j'ai un peu tourné dans cette université. Au départ je suis rentrée en tant que surveillante, ensuite après 6 ans passés j'ai été chargée de faire l'emploi du temps des différentes facultés et en même temps je m'occupais de la gestion des salles d'examen. J'étais chargée d'informer les étudiants que tel prof prévoyait un examen à telle date, etc. Puis, 5 ans après, voyant que je maîtrisais parfaitement la logistique de tout cela, j'ai été promue pour être secrétaire de la direction des inscriptions.
Q3 :Quel est alors votre rôle principal dans votre poste actuel ?
R3 : Eh bien je m'occupe des dossiers d'admission des nouveaux étudiants, des étudiants qui sont en réorientation, des étudiants étrangers, des étudiants seniors et bien d'autres cas. Et je suis chargée de voir dans un premier temps si l'étudiant obéit aux normes définies par l'université avant d'envoyer son dossier à la faculté concernée. Cependant je me retrouve débordée de dossiers. J'ai même eu des cas ou un même étudiant envoie deux dossiers avec des informations à peu près identiques (même faculté demandée, mêmes références civiles, etc..). Dur, dur pour savoir qu'il s'agissait de la même personne. Non ?
Mais bon ce ne sont pas les seules tâches. Car je m'occupe depuis près de trois ans (depuis que les inscriptions directement sur le site de l'université sont possibles), de récupérer ces inscriptions et de les envoyer à la faculté concernée. En fait je les imprime pour les envoyer à la faculté concernée.
Q4 : Bien. Quelles sont les difficultés que vous rencontrez actuellement ? Car si je comprends bien les étudiants se préparent à une grève d'ici trois semaines. Et apparemment ils disent que beaucoup de choses sont bâclées ici, que les plus méritants ne sont pas les plus récompensés et sont même très mal orientés lors de leur cursus, les plus nécessiteux ne sont pas forcément favorisés. Et même pour les admissions qui vous concernent directement, les étudiants semblent dire que ça ne va pas, car la cote de l'université baisse. Selon eux les dirigeants affirment prendre des bacheliers de bons niveaux. Mais les étudiants doutent, car ils n'ont jamais presque décroché de concours organisés par le ministère de l'Éducation nationale. Enfin bref, comment pouvez-vous justifier cela ?
R4 : Eh bien vous savez M.Sylla, cela fait longtemps que je suis ici. J'ai vu passer des générations. Avant, il n'y avait pas beaucoup de dossiers à gérer et en plus on utilisait un seul canal de communication avec les postulants (par écrit). Mais depuis que l'université a permis l'inscription en ligne, ce n'est pas du tout évident. Sans compter les falsifications de notes, les duplications d'inscriptions. C'est dur vous savez pour une seule personne de gérer tout cela avec exactitude en plus. Je fais vraiment de mon mieux. Vous savez quand un candidat dépose un dossier, vous avez confiance surtout s'il a de bonnes notes. Quelquefois il m'arrive de détecter des cas soupçonneux. Par exemple il y a deux ans je me souviens qu'un étudiant était venu d'une école avec des notes excellentes. Quand j'ai vu ça, j'ai directement accepté ce dossier et ce n'était malheureusement pas un étudiant brillant. Et il y a juste six mois quand j'ai eu le même cas venant de la même école, je me suis souvenue. J'ai ensuite fait mes enquêtes sur l'école en question et j'ai vu que ce n'était pas une école sérieuse. Vous voyez comment il est difficile de repérer ces types d'anomalies. Et ce cas je m'en suis souvenue, car l'école avait un nom qui attirait l'attention.
Q5 : Une dernière question Mme Dupond. Selon vous quel serait le meilleur environnement de travail pour arriver à très bien gérer votre poste ?
R5 : Tout d'abord je voudrais avoir un système dans lequel je pourrais contrôler les inscriptions. Car il y a un opérateur qui m'aide à faire la saisie. D'ailleurs, c'est lui qui se charge de rentrer sur notre logiciel les différents candidats. Je n'ai pas le moyen de voir tous les étudiants saisis. Si cela était possible, je pourrais faire des contrôles. Et si je pouvais faire des regroupements par zone géographique, par département et d'autres choses du genre ça m'irait très bien dans mes contrôles. Mais enfin je pense que ça doit être difficile à réaliser.
Voici donc un exemple d'interview tiré de ma propre imagination. Je pense que cela ne se passe pas vraiment comme cela. L'essentiel étant juste de simuler un vrai interview.
De la même manière, M.Dumond , M.Gironde et M.Bâ doivent être interviewés. Dans cette section, il faudra bien entendu faire un compte rendu de réunion. Pour cela je ne vais pas m'y attarder, car chaque entreprise a souvent son propre template. Si l'entreprise n'en a pas, créez-en un. Vous avez tout ce que vous devez y mettre. Maintenant concernant l'agencement (constitution des paragraphes, conventions d'écritures, logo, etc.), essayez d'en trouver un à votre convenance et constituez votre document de compte rendu.
III-C. Découpage des besoins en thèmes▲
Maintenant que vous avez toutes les informations qu'il vous faut, votre vrai travail personnel commence. Il faudra réorganiser tout cela. Car vous êtes certainement d'accord avec moi qu'il y a beaucoup d'informations redondantes. Quelquefois même on trouve un même besoin chez deux personnes interviewées. Eh bien c'est l'occasion de gérer cela. Ainsi donc il faudra organiser les besoins en thèmes. Voici ci-dessous une proposition ?
Thème d'analyse |
Processus concerné |
Commentaire |
---|---|---|
Demande d'admission par voie postale |
-admission |
Ce sujet concerne les candidats qui postulent par voie postale. |
Demande d'admission par Internet |
-admission |
Ce sujet concerne les candidats qui postulent sur Internet |
Demande d'admission pour les candidats étrangers |
-admission |
Ce sujet concerne les candidats hors de la France (que ce soit des candidats parlant le français ou non) |
Critères d'acceptation |
- étude de dossier |
Ce sujet concerne les critères de validation du dossier |
Envoi lettre |
- étude de dossier |
Ce sujet concerne les lettres (acceptation sans condition, acceptation avec condition ou mise en liste d'attente) à envoyer aux candidats. |
Dans ce tableau je n'ai mis que quelques cas, mais il pourrait y avoir d'autres comme l'attribution des logements, les prêts aux étudiants, l'inscription définitive, etc. On voit bien qu'en faisant cette liste on a plusieurs sujets qui sont concernés par le même « business process ». Aussi pour réaliser le besoin de certains thèmes, il faudrait implémenter plus d'un business process (exemple : demande d'admission des candidats étrangers. Car la législation en vigueur pourrait faire intervenir un autre business process qui est la validation de langue par exemple).
III-D. Business process▲
Bien qu'il soit possible d'implémenter les trois business process (admission, validation de langue et étude de dossier), je choisirai ici de n'en traiter qu'un seul : l'admission. Attention certains besoins complexes peuvent avoir besoin de plusieurs business process. Dans ce cas, il faut d'abord entamer les plus simples (ceux qui n'ont besoin de personnes) avant de faire les plus complexes. Pour la définition des business process on peut utiliser UML. Le diagramme d'activité peut être pas mal (bien qu'il existe des diagrammes plus sophistiqués destinés uniquement aux « business process »). Moi je les trouve très sexy ces diagrammes d'activité.
III-E. Business Model▲
Maintenant nous disposons de tout ce qu'il nous faut pour réaliser notre modèle dimensionnel pour le business process « admission ».
III-E-1. Faits▲
Dans ce diagramme d'activité, nous allons placer des éléments mesurables. Ces éléments sont des indicateurs appréciables. Voici ci-dessous trois éléments que je trouve mesurables (vous en avez certainement trouvé plus) :
- délai de renvoi de dossier (qui est la différence entre la date de retour du dossier et la date d'envoi du dossier). Cette mesure pourrait servir pour connaître ceux qui ont retourné assez rapidement leur dossier ou ceux qui ont pris du temps, etc. ;
- nombre d'éléments remplis dans le formulaire. Cette mesure permet de déterminer le taux de remplissage du formulaire d'admission. Par exemple, on peut s'imaginer que sur un total de 25 contrôles (cases à cocher, combo box, liste de choix, zones de saisie), le surfer n'en ait saisi que 12. Donc on dira que le nombre d'éléments remplis est de 12. Et le taux de remplissage serait lui de 12/25= 48 %. Donc ici on a même pu avoir plus d'une mesure ;
-
note de vérification de dossier. C'est une mesure que j'ai inventée. C'est pour dire que l'on peut créer ses propres indicateurs pour faire ses mesures. Ainsi voilà comment je définis cette mesure : elle permet pour chaque dossier de donner une note pour apprécier les pièces fournies par le candidat.
On pourra par exemple dire que :- la fourniture des relevés de notes vaut 6 points ;
- la fourniture de la carte d'identité vaut 4 points ;
- la fourniture du chèque d'étude du dossier vaut 4 points ;
- la fourniture de la lettre de motivation vaut 1 point (considéré comme moins important).
Ainsi un candidat qui aura fourni ses relevés de notes, sa carte d'identité et le chèque sans la lettre de motivation aura une note de 14 alors que celui qui aura fourni que le chèque et la lettre de motivation n'aura que 5 points.
Voici donc les mesures retenues : delai_renvoi_dossier, nombre_element_rempli, taux_remplissage_formulaire et note_verif_dossier.
III-E-2. Dimensions▲
Après avoir défini les mesures (donc la table de faits) de l'activité « admission », il nous faut déterminer les dimensions associées. Les dimensions correspondent aux objets qui participent à l'activité. Voici les dimensions que j'ai retenues :
- Dossier (il s'agit du dossier d'admission du candidat) ;
- Formulaire (il s'agit du formulaire rempli sur Internet) ;
- Temps (hormis le fait d'être utile pour le délai de renvoi de dossier, la dimension temps est généralement très utilisée).
Maintenant que tout est OK, il faudra donc faire le schéma en étoile, ce qui donne le schéma suivant :
Le schéma ci-dessus n'est bien sûr pas complet. Les clés étrangères de la table de faits n'ont pas été mises. En fait l'objectif n'est pas de présenter la modélisation dimensionnelle finale, mais plutôt d'aider à la conception d'un schéma dimensionnel à partir de besoins de base. Pour une conception plus complète en tenant compte des détails avancés (dimensions à variation lente, bon choix de surrogate key, bon choix du grain), essayez de voir les autres articles de la section « Business Intelligence ».
IV. Conclusion▲
Cet article se veut être un petit guide pour ceux qui veulent bien s'y prendre pour la conception d'un modèle dimensionnel. Il explique seulement certains concepts qui pourraient être utiles à la modélisation dimensionnelle. Et grâce à la partie pratique, on peut essayer de diagnostiquer le système d'information d'une entreprise. Cependant, l'exemple n'est pas très réaliste du fait qu'il relève de ma propre imagination.
V. Remerciements▲
Je remercie Fleur-Anne.Blain, ygrim et Adrien Artero pour leur disponibilité et leur relecture de cet article.