Editeurs de logiciels : la malédiction de la V2
par
, 08/01/2022 à 17h03 (3661 Affichages)
Presque tous les éditeurs de logiciels rencontrent le même obstacle à leur croissance : la plupart échouent à sortir la V2 de leur application.
Sortez les pop corns et glissez-vous confortablement dans votre fauteuil préféré.
Cette histoire combine tous les ingrédients du film catastrophe : des choses sales cachées dans les ténèbres, des secrets de famille qui explosent au grand jour, des héros trop téméraires, un naufrage annoncé, et au final des clients abandonnés à leur triste sort.
Vous avez dit dette technique ?
L'histoire commence comme un conte de fées. Un professionnel expert de son domaine, sorte de Geo Trouvetout, se confectionne un outil sur-mesure avec Excel ou un outil noCode.
Ayant enfin découvert la pierre philosophale, il en fait un logiciel qu'il vend comme des petits pains aux professionnels de sa spécialité.
S'il vend si facilement, c'est parce qu'il promet à chacun une solution sur-mesure à ses problèmes. Et voilà le code qui enfle sournoisement à coup de "if client" et "if site". Ajoutez à cela que la V1 a été codée dans l'urgence au fond du garage avec un livre d'initiation à VB6 sur les genoux. Ce secret de famille est d'autant moins visible pour les clients, que l'équipe n'a même pas encore conscience du problème. Minuit est près de sonner...
Un héritage empoisonné
Le temps passant, la complexité cyclomatique augmente donc, et avec elle son lot de patchs destinés à rafistoler le code qui tourne au monstre de Frankeinstein.
L'architecture est incertaine et chancelante. Quelques professionnels ont bien tenté courageusement de redresser la qualité, mais l'entropie ramène toujours le code du côté obscur.
Pourtant côté commercial, le soleil est au beau fixe. D'outsider, l'éditeur est devenu reconnu sur son marché et attire des clients de plus en plus importants. Des clients bien plus mûrs aussi en termes de relation fournisseur. Ils demandent des garanties sur la qualité du produit : certification CMMI, audit technologique, audit de qualité du code. Pour convaincre ces juteux marchés, il va falloir opérer une refonte complète.
Le temps des héros
Difficile de mener de front le support de la V1 et l'écriture de la V2. On met sur pied une seconde équipe faite de professionnels expérimentés. La direction les charge de concevoir une version faite pour durer.
La pression les amène à minimiser les risques : ils révisent les livres de Jacques Printz, et mènent une veille active sur les meilleures architectures logicielles du moment. Persuadés de bâtir une cathédrale, forts d'un cahier des charges précis et soigneusement documenté (copier la V1 dans une nouvelle technologie), ils passent de longues semaines à concevoir l'architecture de la V2.
Après quelques semaines ou mois, les voilà plongés dans l'écriture du code qui constituera les fondations. Les pourcentage de progrès sont encourageants, le cap est ferme et les commits fréquents.
Pendant ce temps, l'autre équipe se mobilise héroïquement pour assurer le support et les développements pour les nouveaux clients qui démarrent sur la V1. Il faut tenir, le temps que la V2 arrive.
La relève ne viendra pas
Les départs et les burn out se succèdent dans l'équipe V1. Le code est de plus en plus difficile à comprendre. Les compilations échouent de plus en plus souvent. La fragmentation des versions augmente : certains clients préférant rester sur des versions anciennes pour limiter leurs coûts d'exploitation.
Côté V2 ce n'est guère plus brillant : les progrès se font de plus en plus lents. Plus le temps passe, plus le cahier des charges enfle, plus on allonge la liste des nouvelles fonctionnalités pour justifier l'investissement dans la nouvelle version. Pire, la qualité est de plus en plus difficile à assurer, on commence la guerre aux bugs. L'effort de test devient de plus en plus important.
C'est le moment où la direction devrait se rendre à l'évidence : cette méthode ne mènera nulle part.
La V2 lui semble toujours atteignable, à l'horizon, même si à chaque démo force est de constater qu'on n'a toujours pas une version complète.
Parfois, dans un éclair de lucidité, les commerciaux acceptent d'abandonner des clients historiques qui s'obstinent à conserver des versions obsolètes. Mais cela ne suffira malheureusement pas.
Game over
Les chiffres sont implacables : la croissance à 2 chiffres appartient maintenant au passé.
La réalité a rattrapé l'entreprise, on supprime une partie des effectifs et on recentre ceux qui restent sur le support de la V1, pour continuer à toucher les abonnements des clients. La V2 est abandonnée ou fusionnée tant bien que mal avec la V1.
On maquille la mariée, dans l'espoir de vendre à un repreneur. Avec des effectifs réduits, les finances semblent redevenir saines et les bénéfices reviennent, même si on sait qu'on n'a plus les moyens de développer l'avenir.
Si elle a trop attendu pour réagir, l'entreprise dépose le bilan puis est éventuellement rachetée pour 1€ symbolique par un concurrent.
Dans un prochain billet je vous propose quelques pistes pour conjurer cette malédiction de la V2.