La maintenance de votre produit digital, pourquoi ?

Bertrand Begouin
Feb 8 · 4 min read

Beaucoup de nos clients se demandent pourquoi ils devraient provisionner une ligne dans leur budget digital, qui n’ajoutera aucune fonctionnalité métier. Selon la sensibilité de chacun, le sujet de la maintenance est soit une obligation, soit une interrogation, voire une escroquerie. L’occasion donc de faire le point sur quelques enjeux qui sous-tendent la maintenance non évolutive, le sujet le plus mal aimé de l’industrie du numérique.

Il faut que je paye pour que ça marche en permanence ?

J’ai souvent entendu nos clients exprimer leur incompréhension avec des mots qui ressemblent à ceci : “moi quand j’achète une batterie de cuisine, je n’ai pas besoin qu’on me la mette à jour pour qu’elle continue de fonctionner, et si il y a un défaut, j’en prends une autre après avoir rendu la batterie défectueuse”. Et oui, tout à fait, mais l’industrie informatique a la particularité unique de commercialiser des produits qui ne sont pas figés, voir même pas finis, pour certains d’entre eux — dont les jeux vidéos par exemple.

Ainsi, lorsque vous souscrivez à un service numérique, le service que l’on vous rend à l’instant T et celui que l’on vous rendra dans 2 ans sont potentiellement très différents. Sans que vous n’ayez rien changé, vous utilisateur. Rappelez-vous de votre première visite sur Facebook, le site était sans doute bien différent à l’époque, non ?

Certes, mais si rien ne change, pourquoi diable serais-je obligé de prendre en charge la maintenance, me direz-vous ?

Car le monde bouge.
Cette réponse est un peu courte sur pattes, certes, mais c’est en partie la réalité. Pour comprendre dans quelle mesure elle est vraie, il faut rappeler un certain nombre de principes.

La tour de Pise digitale

Aujourd’hui, même un simple site web nécessite pour fonctionner une chaine technique relativement complexe. Un serveur, un framework web, une base de données, des librairies tierces etc. Et le plus souvent, tous les éléments de cette chaine sont eux-mêmes assemblés à partir d’autres éléments pré-existants, développés par des tiers. A partir de ce constat, il devient aisé de se représenter un produit digital comme une pyramide de brique techniques. Cette représentation est vraie, même pour un site vitrine simple, souvent basé sur un WordPress.

Et cela devient amusant si l’on rappelle que chacune de ces briques ont des cycles de vie distincts. Chaque pièce de la pyramide, va donc être, à minima, mise à jour ou modifié, régulièrement.

Si l’on garde notre exemple de WordPress, il est souvent mis à jour, sans que le profane ne comprenne vraiment pourquoi. Le plus souvent c’est pour combler d’éventuelles failles de sécurité mais aussi parfois simplement pour s’adapter à une mise à jour d’une brique sous-jacente ou pour ajouter de nouvelles fonctionnalités.

Chaque brique doit donc être considérée non plus comme dans un état fini, mais dans un état perpétuellement transitoire, entre deux montée de versions, conférant à l’ensemble de l’édifice un caractère mouvant, et potentiellement instable. Cet état de fait est parfaitement impossible à appréhender de l’extérieur. Cette dynamique nous conduit donc a devoir vérifier en permanence que tout fonctionne comme prévu sur le produit que l’on a développé. Nous devons donc maintenir notre soft, pour nous adapter aux évolutions internes de notre écosystème. Tâche plus ou moins simple selon les technos et la maturité des briques.

Stoppez les rotatives

Alors très bien me direz vous, partant du constat ci-dessus vous pouvez me faire la réflexion suivante, déjà entendue : “Si mon site/ERP/plateforme fonctionne à un instant T, figeons cet état ainsi que celui de toutes ses briques sous-jacentes, et le tour est joué !” Oui, vous avez entièrement raison, votre produit digital fonctionnera.

Au moins pendant une certaine période.

Car le temps joue contre nous. Reprenons notre WordPress d’exemple, partant du principe qu’un nombre incroyable de sites se base dessus, il devient rentable pour les pirates d’essayer de chercher des failles de sécurité dans le système WordPress. Lorsqu’une faille sera ainsi découverte, la sécurité de votre version s’en trouvera compromise, et par conséquent rester basé dessus deviendra risqué. Alors que de votre point de vue, rien n’a changé, donc tout devrait continuer à fonctionner ad vitam eternam. C’est votre environnement technique externe qui a évolué, et qui vous force à vous adapter.

Dans certaines entreprises de l’aéronautique, on utilise l’acronyme MCO : Maintient en Condition Opérationnelle. Cette dénomination s’applique aussi aux produits digitaux. C’est la ligne maintenance du devis client, qui pose tant de questions. Cette ligne est d’autant plus cruciale que le produit est supposé avoir une durée de vie longue. Je ne compte plus le nombre de produits qui se mangent une rupture techno non anticipée, plongeant l’entreprise toute entière dans une période délicate, ou fatale.

Il existe bien sûr des moyens d’optimiser cette maintenance. Le mieux étant d’intégrer des concepts de MCO, dès le développement du produit. En posant comme certains les changements d’écosystème à venir. Dès lors, certaines pratiques deviennent des réflexes, comme le développement dirigé par les testd, le choix de briques techniques éprouvés, une architecture logicielle qui limite les dépendances aux composants externes ou des tests de montée de version automatiques à chaque déploiement.
Mais l’ensemble de ces pratiques, quotidiennes chez Wedge Digital, seront sans aucun doute l’occasion d’une nouvelle chronique.

Wedge Digital

Le quotidien, les retours, impressions et tips d’une équipe de devs passionnée de tech

Bertrand Begouin

Written by

Entrepreneur, Tech Addict & Joueur invétéré

Wedge Digital

Le quotidien, les retours, impressions et tips d’une équipe de devs passionnée de tech