Récemment, j’ai été amené à participer à plusieurs études d’évolution de SI. Ce qui m’a personnellement frappé dans ces différentes missions c’est l’image commune qu’utilisaient nos interlocuteurs pour décrire leur SI idéal. Cette image est celle de la boîte de « LEGO » ! En effet, pour rationaliser les coûts et diminuer les délais des projets, ils souhaitaient avoir des briques applicatives génériques qu’ils pourraient combiner à souhait comme les briques de « LEGO ». Je me suis alors interrogé sur les raisons qui font que ces personnes, d’horizons différents, partagent cet idéal commun.
L’excellente présentation de Luc De Brabandere à l’USI 2009 intitulé « Les dix paradoxes de la créativité » m’a éclairé sur le sujet. En effet, Luc De Brabandere explique que la créativité des individus est conditionnée par la perception qu’ils ont de leur environnement. Dans notre cas, la vision répandue des SI est héritée du monde des BTP. Pour s’en rendre compte, il suffit de regarder les termes que nous utilisons : maîtrise d’ouvrage, maîtrise d’œuvre, briques, architectes… En conséquence, il est totalement naturel que le SI idéal soit une boîte de « LEGO » géante !
A OCTO nous constatons que cette vision boîte de « LEGO » n’est pas efficace. D’une part, le 100% réutilisable est un mythe qu’aucune entreprise n’a réussi à atteindre (nous sommes plutôt dans une fourchette de 5-10%). D’autre part, les composants réutilisables coûtent très cher et, lorsqu’un projet veut en bénéficier, des adaptations s’avèrent souvent nécessaires.
Alors comment faire pour atteindre les objectifs initiaux qui sont la rationalisation des coûts et la diminution des délais des projets ?
La première étape consiste à nous ouvrir de nouvelles perspectives en dépassant le cadre mental que nous nous sommes imposés en regardant le SI comme
Un système évolutif et non comme un système figé comme le sous-entend la vision BTP
Une fois ce nouveau cadre établi, il faut commencer à repenser notre approche des projets informatiques. Pour étayer cette idée, je vais prendre l’exemple des briques réutilisables.
L’approche classique des projets informatiques consiste à vouloir définir en totalité et dans le détail une application tout en amont du projet (projet en cascade). Pour les briques réutilisables cette approche nous conduit à vouloir définir, en amont, une brique qui répond à tous les besoins actuels et futurs.
A contrario, en partant du principe que le SI est en évolution constante, il devient naturel d’opter pour une approche incrémentale. En effet, au lieu de vouloir répondre à tous les besoins en même temps, nous allons répondre aux besoins avérés des projets un par un en enrichissant continuellement les fonctionnalités du composant. Et pour rendre possible une évolution continue dans le temps, il faut préserver un temps de traitement des demandes stable, malgré l'inexorable montée en complexité. Dans ce but, deux éléments peuvent être mis en place :
Cette approche présente plusieurs avantages. D’abord, le composant développé est adapté aux besoins des projets et il est directement utilisable. Ensuite, la complexité du composant est réduite considérablement puisqu’il n’embarque que les fonctionnalités nécessaires aux projets (évite le sur-design qui a pour but d’embarquer des besoins futurs non avérés). De plus, le harnais de tests permet d’accélérer la détection les problèmes (tests qui ne passent plus). Enfin, la flexibilité offerte par le modèle incrémental permet de tenir compte des nouveaux besoins qui n’ont pas été prévu au début du projet.
Changer notre vision du SI n’est pas chose facile. En effet, ce changement implique le changement de nos méthodes et notre organisation du travail. Cependant, il faut prendre conscience que pour dépasser les limites actuelles auxquelles nous sommes confrontés, ce changement est nécessaire.
Récemment, j’ai été amené à participer à plusieurs études d’évolution de SI. Ce qui m’a personnellement frappé dans ces différentes missions c’est l’image commune qu’utilisaient nos interlocuteurs pour décrire leur SI idéal. Cette image est celle de la boîte de « LEGO » ! En effet, pour rationaliser les coûts et diminuer les délais des projets, ils souhaitaient avoir des briques applicatives génériques qu’ils pourraient combiner à souhait comme les briques de « LEGO ». Je me suis alors interrogé sur les raisons qui font que ces personnes, d’horizons différents, partagent cet idéal commun. L’excellente présentation de Luc De Brabandere à l’USI 2009 intitulé « Les dix paradoxes de la créativité » (http://usi2009.universite-du-si.com/webcast-5-31-Luc.De.Brabandere.html) m’a éclairé sur le sujet. En effet, Luc De Brabandere explique que la créativité des individus est conditionnée par la perception qu’ils ont de leur environnement. Dans notre cas, la vision répandue des SI est héritée du monde des BTP. Pour s’en rendre compte, il suffit de regarder les termes que nous utilisons : maîtrise d’ouvrage, maîtrise d’œuvre, briques, architectes… En conséquence, il est totalement naturel que le SI idéal soit une boîte de « LEGO » géante ! Changer de vision pour changer le SI A OCTO nous constatons que cette vision boîte de « LEGO » n’est pas efficace. D’une part, le 100% réutilisable est un mythe qu’aucune entreprise n’a réussi à atteindre (nous sommes plutôt dans une fourchette de 5-10%). D’autre part, les composants réutilisables coûtent très cher et, lorsqu’un projet veut en bénéficier, des adaptations s’avèrent souvent nécessaires. Alors comment faire pour atteindre les objectifs initiaux qui sont la rationalisation des coûts et la diminution des délais des projets ? La première étape consiste à nous ouvrir de nouvelles perspectives en dépassant le cadre mental que nous nous sommes imposés en regardant le SI comme Un système évolutif et non comme un système figé comme le sous-entend la vision BTP Une fois ce nouveau cadre établi, il faut commencer à repenser notre approche des projets informatiques. Pour étayer cette idée, je vais prendre l’exemple des briques réutilisables. Des briques réutilisables évolutives L’approche classique des projets informatiques consiste à vouloir définir en totalité et dans le détail une application tout en amont du projet (projet en cascade). Pour les briques réutilisables cette approche nous conduit à vouloir définir, en amont, une brique qui répond à tous les besoins actuels et futurs. A contrario, en partant du principe que le SI est en évolution constante, il devient naturel d’opter pour une approche incrémentale. En effet, au lieu de vouloir répondre à tous les besoins en même temps, nous allons répondre aux besoins avérés des projets un par un en enrichissant continuellement les fonctionnalités du composant. Et pour rendre possible une évolution continue dans le temps, il faut préserver un temps de traitement des demandes stable, malgré l'inexorable montée en complexité. Dans ce but, deux éléments peuvent être mis en place : - Un harnais de tests automatisé afin de garantir la non-régression fonctionnelle durant la phase de croissance - Une équipe pluridisciplinaire dédiée pour garder un niveau élevé d’expertise sur le sujet et faciliter le traitement des demandes Cette approche présente plusieurs avantages. D’abord, le composant développé est adapté aux besoins des projets et il est directement utilisable. Ensuite, la complexité du composant est réduite considérablement puisqu’il n’embarque que les fonctionnalités nécessaires aux projets (évite le sur-design qui a pour but d’embarquer des besoins futurs non avérés). De plus, le harnais de tests permet d’accélérer la détection les problèmes (tests qui ne passent plus). Enfin, la flexibilité offerte par le modèle incrémental permet de tenir compte des nouveaux besoins qui n’ont pas été prévu au début du projet. Conclusion Changer notre vision du SI n’est pas chose facile. En effet, ce changement implique le changement de nos méthodes et notre organisation du travail. Cependant, il faut prendre conscience que pour dépasser les limites actuelles auxquelles nous sommes confrontés, ce changement est nécessaire.