Avec les nouvelles technologies, nous sommes passés par toutes les phases. A la période de frénésie Internet a succédé une période de quasi-rejet. Mais ce n’est qu’aujourd’hui que les entreprises et administrations font leur réelle révolution nouvelles technologies. Les projets Web ne sont plus en effet des projets menés par une « taskforce » isolée visant à accroître la présence Web. Nous faisons face aujourd’hui à des enjeux bien plus ambitieux : rendre les systèmes d’information des entreprises plus ouverts, plus souples et plus réactifs.
Changement de « braquet » pour les applications nouvelles technologies
Ces changements s’accompagnent d’un fort retour à la technique. Ambitionner de faire évoluer le système d’information d’une structure nécessite des compétences techniques multiples : complexité liée à l’intégration d’un existant toujours hétérogène, capacité de construire des applications évolutives et à coût de maintenance raisonnable, réponse à des besoins schizophrènes tels que la centralisation des données au niveau groupe et l’autonomie locale des filiales … Le niveau d’exigence évolue lui aussi fortement. Si le site Web d’une société est inaccessible quelques heures, c’est gênant mais loin d’être bloquant. Si une application Web de pilotage d’usine « plante », c’est la production qui s’arrête. Si les données de facturation échangées entre partenaires sont inexactes, le traitement des erreurs entraînent des coûts élevés et la relation de confiance est fragilisée. Bref, l’absence de maîtrise de la qualité de service est de moins en moins envisageable. Or, on le sait, en informatique, il relativement simple de mettre en place une application qui fonctionne la majorité du temps. En revanche, il est infiniment plus compliqué de livrer une application qui tourne toujours (24*7).
D’un point de vue macroscopique, c’est bien un sentiment de fossé entre la demande et l’offre qui domine. Une étude du Gartner révèle à ce sujet des chiffres effrayants. Sur 8400 projets analysés :
– 16 % ont respectés délais et coûts
– 31 % ont été arrêtés en cours
– 53 % ont dépassé délais et budget (avec un dépassement moyen de 90 %).
Cette étude ne mesure pas la capacité à évoluer de ces applications (mesure toujours difficile à évaluer malheureusement pour les offreurs sérieux …) mais il y a fort à parier que les chiffres
seraient peu encourageants. Alors que faire ?
Ne plus réagir en artisan mais penser processus de fabrication
Sous la pression des besoins, de nombreux secteurs ont déjà normalisé leurs processus de fabrication (automobile, pharmacie, grande distribution …). Aujourd’hui, les champions de ces secteurs sont capables de garantir la reproductibilité de leur résultat et d’en maîtriser le niveau de qualité. Les DSI doivent s’en inspirer afin de faire face aux nouveaux enjeux. Ainsi, l’ensemble du processus de production logiciel doit-il être analysé : définition des besoins, ingénierie logicielle, gestion de projet, support, organisation (catégorisation que nous utilisons dans la majorité des cas). Et pour chaque processus, on doit être capable d’identifier les meilleures pratiques, les appliquer, vérifier qu’elles sont appliquées et les améliorer au fil du temps. Prenons à titre d’exemple, la pratique des tests dans le processus d’ingénierie logicielle. On sait que la mise en place de tests techniques automatiques tout au long du projet (tests unitaires, notamment) est le meilleur moyen de détecter les problèmes dès leur apparition et d’en faciliter la résolution. Combien de DSI l’impose à ses équipes et à ses prestataires ? Très peu. Idem pour les normes de développement, la gestion de configuration, la réutilisation logicielle … La mise à plat de ces processus doit donc donner des résultats rapidement mesurables sur la qualité des applications, la cohérence des applications entre elles et leur coût de production. Mais le meilleur reste à venir …
Quel responsable informatique n’est pas « prisonnier » d’un de ses prestataires ou un de ses collaborateurs car ce dernier est le seul à maîtriser une (ou plusieurs) de ses applications stratégiques ? L’utilisation de méthodes de « maturité de processus » et le contrôle de leur bonne application vous garantit l’indépendance par rapport aux équipes de développement (si en plus, vous vous êtes assuré l’indépendance par rapport aux éditeurs, vous voilà … libre).
Une application allégée des méthodologies de « maturité de processus » type CMMI ou SPICE
Afin de systématiser cette démarche, on perçoit de plus en plus l’intérêt de se tourner vers des méthodologies existantes. Dans ce domaine, un certain nombre de travaux sont intéressants : CMMI, SPICE … Même si ces méthodes sont lourdes et difficilement applicables dans la plupart des structures, elles fournissent de très bonnes pistes d’amélioration des processus de production logicielle. Une mise en oeuvre légère et adaptée à la culture de l’entreprise permet de donner des résultats concrets.
Si ceux qui ont raté le premier train Internet peuvent s’en relever (et dans certains cas, s’en féliciter), il est capital de ne pas rater le second. Il en va de la productivité, de la qualité de service, de l’ouverture vers les partenaires de toute structure. Afin de réussir ce challenge, la mise en place d’une organisation adaptée et de processus bien huilés et reproductibles est capital. Il faut aujourd’hui construire ses usines à applications qui répondront aux besoins en constante évolution. Hier, les « gros mangeaient les petits ». Demain, ce seront « les rapides qui mangeront les lents ».