Etude de cas : Projet Business intelligence (BI)
Une société disposant de solutions de business intelligence très
avancées souhaite faire évoluer ses outils.
Utilisés par des nombreux utilisateurs internes et externes, ces outils
permettent la réalisation avec une grande facilité de tableaux de bord et
des analyses de marché. Ces résultats sont obtenus directement par les
utilisateurs, sans besoins d'effectuer des requêtes SQL et sans
l’intervention d’un quelconque service informatique. Les utilisateurs n'ont
aucun besoin de connaitre la programmation des moyens de business
intelligence et reporting habituels (SAS, BO etc…). Ces outils
permettent également la génération automatique en production de documents
définis avec des données spécifiques par destinataire et leur envoi par
email.
Le problème est que cet outil à été développé par une société qui n’a
plus les possibilité et ni le savoir faire de l’entretenir et de le faire
évoluer.
La première solution envisagée par ce client a été de faire expertiser
les sources du logiciel pour essayer des interventions d’évolution des
sources.
Le résultat de cette expertise à mis en évidence l’absence totale de
documentation, la qualité déplorable de ces sources, non-documentées. Un
exemple typique de « code spaghetti », avec des dizaines de milliers de
ligne source C / C++ ! Des ajouts ont été effectués pendant des années,
menant à des nombreuses redondances, et compliquent encore toute tentative
de se retrouver et faire avancer le produit. Toute discussion éventuelle sur
l’application dérive immédiatement vers les détails de tel morceau de code.
Des estimations astronomiques sont proposées pour toute intervention au
départ du code source existant.
Avec du recul dans l’analyse, on se rend compte que cette société a
perdu la trace des « objets à connaissance » métier qui constituent son
application. Toute cette information est maintenant dissoute dans le code.
Les objets contenant l'information d'architecture.
Notre intervention a résulté dans une redécouverte du périmètre
fonctionnel réel de l’application, de son architecture externe et de la
réalisation du premier niveau d’architecture interne. La mise au clair des
services rendus par l’application permet de faire des choix concernant la
priorité de leur mise en œuvre dans le projet de refonte.
Le résultat est un cahier de charges clair et un plan d’action
raisonnable (délai, investissements) pour disposer d’une solution viable et
extensible. A la fin du projet, la société client retrouve la maîtrise
totale sur son produit stratégique et assure la satisfaction de ses propres
clients.
|