La raison principale d’un système d’informations sclérosé, ce sont les dépendances fortes. Un projet ayant une dépendance forte sur un autre, ils sont interdépendants. L’interdépendance, c’est un interblocage.

 

Qu’est-ce qu’un Système d’Information (SI) ?

 

Un Système d’information est un ensemble de ressources permettant de collecter, stocker, traiter et distribuer de l’information au sein d’une entreprise. Ces ressources peuvent être des applications mobiles, des clients lourds, des sites web, des serveurs de base de données, des rapports décisionnels, etc.

 

SI sclérosé

 

Ces différentes ressources doivent échanger ou même modifier des informations partagées. Parfois, un SI devient tellement complexe que la moindre évolution peut entrainer des conséquences en chaine. Des conséquences telles que l’on ne sait plus par quel bout commencer. On parle alors d’un SI sclérosé ou parfois d’un « sac de nœuds ».

Dans un sac de nœuds comme dans une boule de ficelles, si l’on tire l’une de ces ficelles, on obtient souvent la boule en entier.

La raison principale pour laquelle un SI devient un sac de nœuds est la suivante : les dépendances fortes des ressources du Système d’Information.

 

cables électriques emmelesCrédit photo : Sébastien Thomas

 

 

Exemple de « sac de nœuds »

 

De nombreuses applications, traitements automatisés ou rapports BI peuvent être en dépendance forte avec une application de gestion des clients. Le cas le plus courant : ils utilisent tous la même base de données client.

Une simple mise à jour sur l’application de gestion clients nécessite une évolution de la base de données clients et aura donc des impacts sur tous ses services connexes : facturation, comptabilité, service après-ventes… Ces services connexes sont impactés car tous doivent au minimum analyser les impacts et éventuellement effectuer les évolutions pour s’adapter aux mises à jour de la base de données.

=>Une évolution nécessaire sur la gestion client entraine des évolutions contraintes sur les autres applications.

sac de noeuds système d'information

 

Ces mises à jour doivent être coordonnées. Tous les services doivent livrer concomitamment, sans quoi des régressions ou des arrêts de services peuvent survenir.

Si la livraison d’un seul service prend du retard, toutes les autres livraisons doivent alors s’aligner sur la date la plus lointaine.

 

Livraiaons des services

L’application de gestion client devient alors dépendante de tous ses services connexes. Les dépendances fortes entrainent donc bien une interdépendance.

Et dans un Système d’Information, plus les projets sont interdépendants plus ils deviennent inter-bloqués. CQFD : un vrai « sac de nœuds ».

Systeme d'information interblocage

 

Un cercle vicieux de dépendances

 

Dans un Système d’Information grandissant le temps manque et des choix faits pour gagner du temps créent des interdépendances. Avec un nombre d’interdépendances croissant, les recherches d’impacts et des évolutions contraintes sont plus nombreuses. De plus, la difficulté de ces évolutions contraintes augmente elle aussi avec leur nombre.

Les projets qui doivent gérer ces évolutions contraintes ont de moins en moins de temps pour la dette technique. Cela entraine des choix pour gagner du temps, donc de nouvelles dépendances fortes… Un cercle vicieux très difficile à casser se met alors en place.

 

Une nouvelle méthode pour éviter les dépendances au niveau projet

 

Une méthode existe déjà pour les développeurs et la programmation orientée objet : la méthode SOLID. Mais rien n’existe encore au niveau projet. C’est pourquoi une nouvelle méthode nommée SOLIDITE est nécessaire. Elle reprend les concepts de SOLID en les adaptant à la globalité d’un projet.

La méthode ajoute à SOLID des concepts déjà connus, nécessaires et suffisants pour libérer un projet des blocages.

Même si elle parait fastidieuse à l’initialisation, cette méthode met n’importe quel projet dans une spirale vertueuse.

Chaque élément de projet libéré des dépendances fortes entraine un gain de temps. Ce temps peut alors être utilisé pour effectuer du refactoring, travailler sur des évolutions moins urgentes ou libérer d’autres éléments des dépendances.

Le Système d’Information ne sera plus jamais un sac de nœuds mais un ensemble de projets avec des périmètres bien définis et bien maitrisés.

 

Méthode SOLIDITE

Pour en savoir plus sur la méthode SOLID, nous vous invitons à consulter la suite de cet article.