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 a 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é 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.

business dimensional lifecycle
business dimensional lifecycle

Comme l'indique le sujet, je ne traiterai ici que de la partie analyse et conception dimensionnel. Ce qui m'amène à ne traiter que les 2 boîtes blanches " business requirements definition " et " dimensional modeling " (cf. schéma ci-dessus).

II-1. Business Requirements Definition

Comme tout projet, il faut faire un capture des besoins utilisateurs et pour cela on a besoin de plusieurs choses :

II-1-a. Etude 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 nouveaux, 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 se faire une idée des données disponibles dans le référentiel métier.

II-1-b. 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étiers. 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-1-c. 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. A 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 possibles et pour cela lors de l'interview il demandera à pouvoir disposer d'un outil qui lui permettra de bien évaluer les zones fluides en terme 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 2 thèmes ou sujets différents (on verra que ça ne sera pas forcément 2 business process différents).

II-1-d. 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'affaire de la région île-de-France en terme d'achat de portables par exemple. Ces deux catégories de besoins utilisent tous 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-2. Modélisation dimensionnelle

Une fois avoir recensé les différents business process, on pourra commencer à construire le modèle dimensionnel à proprement parlé. Pour cela il faudra bien évidemment repérer les tables de faits et celles de dimensions.

II-2-a. Tables de faits

Pour détecter la/les table(s) de fait(s), 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-2-b. 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 difficile 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-1. Etude 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 :
 
Sélectionnez

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êts des étudiants suivant les matières.

III-2. 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 somme 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'abords 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é 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é d'informer les étudiants que tel prof prévoyait un examen à tel date etc. Puis, 5 ans après, voyant que je maîtrisais parfaitement la logistique de tout cela, j'ai été promu 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ême 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 3 ans (depuis que les inscriptions directement sur le site de l'université sont possibles), de récupérer ces inscriptions et des les envoyer à la faculté concernée. En fait je les imprime pour les envoyer à la faculté concernée.

Q4 : Bien. Quels sont les difficultés que vous rencontrez actuellement ? Car si je comprends bien les étudiants se préparent à une grève d'ici 3 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 côte 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 postulant (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. Quelques fois il m'arrive de détecter des cas soupçonneux. Par exemple il y a 2 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 6 mois quand j'ai eu le même cas venant de la même école, je me suis rappelé. J'ai ensuite fais 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 rappelé 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 étudiant 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-3. 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. Quelque fois même on trouve un même besoin chez 2 personnes interviewés. 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 postal -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
-validation de langue
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 sujet 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-4. Business process

Bien qu'il soit possible d'implémenter les 3 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é.

Business process admission
Business process admission - Diagramme d'activité

III-5. 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-5-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 3 é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 formulaires 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 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é. C'est pour dire que l'on peut créer ses propres indicateurs pour faire ses mesures. Ainsi voilà comment je définit 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 retenus : delai_renvoi_dossier, nombre_element_rempli, taux_remplissage_formulaire et note_verif_dossier.

III-5-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 retenu :

  • 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 :

Table de faits
Table de faits

Le schéma ci-dessus n'est bien sur pas complet. Les clés étrangères de la table de fait 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 lentes, 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.