00:00:05 Introduction du sujet de la maintenabilité des logiciels de la Supply Chain.
00:01:22 Explication de la dégradation des logiciels au fil du temps, en utilisant Microsoft comme exemple.
00:03:01 Discussion des différences entre la maintenabilité des produits Microsoft et des autres logiciels.
00:04:16 Explication de la raison pour laquelle les logiciels doivent évoluer avec le temps en raison des changements dans le matériel informatique et des problèmes de sécurité.
00:07:50 Discussion de la perspective à partir de laquelle la maintenabilité devrait être considérée et du problème lié à la survie du fournisseur.
00:09:08 L’exemple de la compatibilité de Microsoft avec plus d’un million d’imprimantes pour illustrer l’ampleur de la tâche.
00:10:07 Comment la conception des logiciels affecte leur maintenabilité et la nécessité d’avoir des logiciels d’ingénierie hautement maintenables.
00:11:07 L’importance d’analyser les incitations des fournisseurs pour garantir la maintenabilité des logiciels.
00:13:03 La maintenabilité est une question de conception et la conservation de la masse technologique est essentielle pour avoir un produit maintenable.
00:16:00 Discussion sur l’importance de la maintenabilité des logiciels.
00:17:00 Les incitations des fournisseurs pour garantir la maintenabilité des logiciels.
00:19:00 Comment identifier des logiciels maintenables.
00:21:02 Symptômes de logiciels non maintenables.
00:23:13 Réflexions finales sur l’importance de la maintenabilité des logiciels.

Résumé

Dans une interview, Kieran Chandler et Joannes Vermorel discutent de l’importance de la maintenabilité des logiciels, en particulier dans les logiciels de la Supply Chain. Vermorel soutient que la maintenabilité est principalement une question de conception et qu’elle est souvent négligée par les entreprises qui se concentrent uniquement sur la survie du fournisseur. Il souligne que les logiciels deviennent non maintenables avec le temps en raison des changements technologiques et de l’entropie, et met l’accent sur l’importance de la compatibilité, de la sécurité et de la simplicité dans la conception des logiciels. Vermorel met également en garde contre le piège de l’utilisation d’interfaces utilisateur flashy et suggère de remettre en question les développeurs sur leurs plans de maintenabilité pour assurer la viabilité à long terme.

Résumé étendu

Dans cette interview, Kieran Chandler et Joannes Vermorel discutent des défis de la maintenance des logiciels de la Supply Chain et de l’impact d’une bonne conception sur leur longévité. Vermorel explique que bien que les logiciels ne se dégradent pas comme les objets physiques, ils se désintègrent avec le temps en raison de l’entropie et des changements dans le paysage technologique. Des entreprises comme Microsoft ont réussi car elles ont montré un engagement fort envers la survie à long terme de leurs produits, ce qui permet d’ouvrir et d’utiliser des documents plus anciens aujourd’hui.

Vermorel note que la capacité de Microsoft à maintenir la longévité de leurs logiciels découle de leurs investissements massifs dans la maintenance et de leur attention portée à la compatibilité. Il compare cela à Linux, qui, bien qu’étant plus léger et mieux organisé, n’offre pas le même niveau de compatibilité ascendante. Vermorel reconnaît que les logiciels de la Supply Chain sont encore plus complexes en raison de leur nature distribuée et des nombreux éléments en mouvement impliqués.

La maintenance des logiciels de la Supply Chain est rendue plus difficile par le fait que le matériel informatique évolue continuellement. Bien que la virtualisation puisse aider à atténuer certains problèmes, ce n’est pas une solution parfaite. De plus, la façon dont les utilisateurs interagissent avec les logiciels change constamment, comme la prévalence croissante des écrans tactiles et des écrans haute résolution. Les anciens logiciels peuvent ne pas être conçus pour ces systèmes modernes, ce qui les rend moins intuitifs et potentiellement moins sécurisés.

Vermorel soutient que la maintenabilité des logiciels est souvent négligée et mal comprise. La préoccupation habituelle est de savoir si un fournisseur sera toujours présent à l’avenir, mais il estime que c’est un angle faible pour aborder le problème. Il souligne que le fait d’avoir un fournisseur survivant est un avantage, mais pas une garantie de maintenabilité. En fait, certains fournisseurs ont un incitatif pervers à créer des produits non maintenables pour vendre de nouvelles versions.

L’interviewé souligne que le problème de la maintenabilité doit être abordé sous un angle différent. Il explique que les logiciels complexes, tels que les systèmes de la Supply Chain d’entreprise, comportent des millions d’éléments en mouvement et de nombreuses entreprises qui y travaillent simultanément. Ces systèmes font l’objet de mises à niveau et de modifications constantes pour rester compatibles avec divers matériels et systèmes d’exploitation. Assurer la compatibilité devient une tâche immense, comme l’illustre la compatibilité de Microsoft avec plus d’un million d’imprimantes.

Il affirme que, par défaut, les logiciels ne sont pas maintenables à moins d’être spécifiquement conçus pour l’être. Il souligne également que l’accent ne doit pas être uniquement mis sur la survie d’un seul fournisseur, mais sur l’ensemble de l’écosystème d’entreprises impliquées dans la Supply Chain. Vermorel estime que la maintenabilité est principalement une question de conception, en particulier dans la conservation de la masse technologique.

Pour gagner des clients grâce à des démonstrations, les entreprises utilisent souvent les technologies les plus récentes et les plus avancées en matière de visualisation des données, d’expérience utilisateur et d’analyse en temps réel. Cela crée un “effet wow”, qui peut être un argument de vente. Cependant, Vermorel remet en question cette approche, citant l’exemple d’écrans ERP qui ont l’air dépassés et ressemblent à des terminaux de texte des années 80. Malgré leur apparence, ces écrans sont incroyablement rapides, réactifs et ont des dépendances minimales, ce qui les rend très maintenables et efficaces.

Vermorel souligne que toutes les couches de logiciels n’ont pas besoin d’innovation, car il est plus important d’avoir de la stabilité dans certains domaines tels que la gestion du calendrier ou le stockage des mots de passe. Il note également que l’ingénierie logicielle a une riche histoire dont on peut apprendre, et que la maintenabilité devrait être une priorité. Cependant, les clients et les prospects négligent souvent cet aspect, en se concentrant davantage sur la question de savoir si une entreprise sera présente à l’avenir plutôt que sur la maintenabilité de leurs logiciels.

Pour déterminer si un logiciel est maintenable, Vermorel suggère de regarder les incitations offertes par le fournisseur. Par exemple, un fournisseur qui facture des frais de mise en œuvre élevés et concentre les revenus au début du projet peut avoir une incitation à répéter ces frais aussi souvent que possible. Lokad, en revanche, facture des frais mensuels sans engagement, ce qui garantit que l’entreprise est impliquée et fait de la maintenabilité une priorité.

Vermorel souligne également l’importance des solutions Software as a Service (SaaS), car elles garantissent que le fournisseur est responsable de la maintenance de son propre logiciel. Il met en garde contre la complexité technologique, où les entreprises vantent de nombreux composants de pointe qui peuvent devenir un cauchemar à maintenir en raison de leurs cycles de vie individuels. Au lieu de cela, il suggère qu’une solution simple et maintenable devrait être la priorité pour les praticiens de la supply chain.

Vermorel explique que même si les entreprises investissent dans des systèmes de supply chain, ils deviennent souvent inutilisables avec le temps en raison de divers problèmes et dysfonctionnements qui surviennent. Plus le nombre de problèmes augmente, plus le logiciel devient difficile à maintenir et à utiliser. Par conséquent, les utilisateurs abandonnent les fonctionnalités du système et reviennent à l’utilisation de feuilles de calcul Microsoft Excel spreadsheets comme solution de contournement.

Il partage que cette situation est courante dans l’industrie et reflète les symptômes d’une solution devenue totalement inmaintenable. Vermorel met en garde contre le fait que des interfaces utilisateur flashy ne garantissent pas nécessairement un produit bien fonctionnel et peuvent même masquer des problèmes potentiels de maintenabilité. D’autre part, des interfaces utilisateur dépassées peuvent également être un signal d’alarme, car cela peut indiquer un manque de maintenance et de mises à jour de la part du fournisseur.

Pour éviter de tomber dans le piège des logiciels inmaintenables, Vermorel conseille aux entreprises de remettre en question les développeurs sur leurs plans de maintenabilité et de comprendre les décisions de conception clés qui contribuent à la viabilité à long terme du logiciel. Il souligne que sans prendre soigneusement en compte la maintenabilité, les logiciels de l’industrie ont tendance à être inmaintenables par défaut.

Vermorel conclut en soulignant les similitudes entre les logiciels de supply chain et les systèmes de trading à haute fréquence dans la finance, notant que les deux utilisent souvent des interfaces utilisateur basées sur du texte. Bien que ces interfaces puissent sembler dépassées, elles sont efficaces et maintenables en raison de leurs dépendances minimales et de leur conception rationalisée.

Transcription complète

Kieran Chandler: Hé, lorsqu’on investit dans un logiciel de supply chain, on s’attend à ce qu’il dure des décennies pour l’entreprise plutôt que quelques années seulement. Cependant, du point de vue des fournisseurs, le paysage technologique en constante évolution signifie que maintenir cela n’est pas une mince affaire. Ainsi, aujourd’hui, nous allons discuter de la maintenabilité et de la raison pour laquelle c’est un tel défi, et comprendre également comment elle peut être impactée par une bonne conception. C’est donc un sujet intrigant aujourd’hui, et la maintenabilité est quelque chose à laquelle on ne penserait normalement pas associée aux logiciels. Les logiciels ne se dégradent pas vraiment. Alors, quelle est l’idée ?

Joannes Vermorel: Eh bien, en réalité, les logiciels se dégradent. Oui, ce n’est pas comme une dégradation mécanique, où il y a de l’usure après utilisation, et les choses deviennent physiquement fragiles au point de se casser. Les logiciels ne sont pas la même chose, mais les choses se désagrègent avec le temps. C’est quelque chose qui est peut-être très surprenant car certaines des plus grandes et des plus réussies entreprises de logiciels, disons Microsoft, ont été incroyablement réussies précisément parce qu’elles avaient un engagement insensé envers la survie à long terme de leurs produits. C’est littéralement un témoignage du succès de Microsoft que, à l’heure actuelle, vous pouvez prendre un document Microsoft Word qui a été édité en 1995 et l’ouvrir, et vous pouvez toujours l’imprimer. C’est incroyable, mais c’est aussi ce que la plupart des gens ne réalisent pas : que Microsoft était assez unique à cet égard, ayant cette mentalité d’engagement à long terme envers leurs produits. Si vous essayiez n’importe lequel de leurs concurrents, et de nos jours, les gens ne se souviennent même pas que Microsoft Word et Excel avaient beaucoup de concurrents, rien de tout cela ne fonctionnerait réellement.

Donc, allons sur le chemin que les logiciels se dégradent, et ils se dégradent principalement en raison de l’entropie, du fait que c’est un paysage en constante évolution. Le matériel change, et le logiciel est un produit très composite. À sa base, pour exécuter quoi que ce soit, vous impliquez généralement des dizaines de pièces fournies par des dizaines d’entreprises, et ces choses ne sont pas naturellement très bien entretenues au fil du temps. Lorsqu’il y a quelque chose qui change, il n’y a aucune raison claire pour que toutes les autres pièces restent complètement compatibles et correctement intégrées à la pièce qui vient de changer.

Kieran Chandler: Ouais, je veux dire, le paysage technologique est en constante évolution et change très rapidement. Alors, qu’est-ce que Microsoft a bien fait ? Pourquoi ont-ils pu avoir un impact sur la longévité de leurs logiciels ?

Joannes Vermorel: À la base, ils se sont vraiment souciés et ont fait des investissements insensés pour cela. Beaucoup de gens se plaignent que Windows de Microsoft est si gonflé, qu’il y a tellement de choses, et si vous optez pour un système d’exploitation Linux, il est tellement plus léger, mieux organisé et plus sensé dans l’ensemble. C’est vrai, absolument vrai. Mais essayez d’exécuter un programme qui a été écrit pour Linux il y a 25 ans ; il ne fonctionnera pas. Les jeux que j’ai achetés en tant qu’adolescent dans les années 90 pour Windows 95 fonctionnent toujours de nos jours. Donc, je crois que cela illustre cela.

Kieran Chandler: Vous pouvez faire les choses correctement avec, je dirais, un niveau d’engagement insensé. Et si vous lisez les blogs de Microsoft sur ce qu’ils font pour assurer la maintenabilité, je dirais qu’ils vont à des longueurs insensées, littéralement. Maintenant, pour les logiciels de supply chain, vous ne pouvez pas vous attendre au même degré d’engagement, simplement parce que le marché n’est pas aussi grand, et vous n’avez tout simplement pas d’entreprises qui vont à de telles longueurs pour le faire. De plus, vous avez un autre problème, qui est que les logiciels de supply chain sont également très, très complexes car ils sont généralement distribués et comportent de nombreux éléments en mouvement. Cela rend la maintenabilité d’autant plus compliquée. Et maintenant, la question est, pourquoi y a-t-il des changements du tout, et pourquoi ne pouvez-vous pas simplement figer un logiciel et rester avec pour toujours ?

Joannes Vermorel: La réponse est que, tout d’abord, le matériel informatique lui-même évolue, donc vous ne pouvez pas simplement dire que cette chose fonctionnera éternellement. Je veux dire, oui, vous pouvez maintenant utiliser la virtualisation pour atténuer la plupart de ces problèmes, bien que la virtualisation ne soit souvent pas une émulation parfaitement exacte du matériel que vous aviez auparavant, donc cela peut aider. Mais ce n’est pas seulement le matériel pour effectuer le calcul ; c’est aussi le fait que, par exemple, la façon dont vous utilisez les écrans a changé. Les écrans ont beaucoup plus de pixels de nos jours, vous pouvez avoir des écrans tactiles, et vous avez beaucoup de choses qui ne se comportent pas exactement comme les anciens systèmes. Parfois, vous avez même des systèmes étranges, où vous avez des touches de clavier qui ont disparu. Donc, si le logiciel a été conçu pour une certaine touche, cela aurait pu être évident à l’époque, mais maintenant que la touche a disparu, ou que la configuration du clavier est différente, c’est beaucoup moins intuitif.

Et puis, ce n’est qu’une partie du problème qui évolue relativement lentement, mais ensuite vous avez tous les problèmes de sécurité. La plupart des logiciels qui ont été produits historiquement n’ont absolument pas été conçus pour les menaces modernes que nous avons aujourd’hui. Cela met donc une pression énorme pour changer fondamentalement de nombreuses choses dans de nombreux composants logiciels.

Kieran Chandler: Les gens veulent toujours utiliser les dernières technologies lorsqu’ils sont au travail. Diriez-vous que c’est plus un problème dominant ou est-ce plutôt le côté sécurité et le fait qu’il ne serait pas sûr d’utiliser ces technologies ?

Joannes Vermorel: Tout d’abord, la maintenabilité est un problème dont les responsables de la supply chain sont en grande partie inconscients, et lorsqu’ils en sont conscients, ils ne voient le problème que sous un angle que je considère comme extrêmement faible, à savoir si le fournisseur sera toujours présent ou non. Et ma proposition est que la maintenabilité n’a rien à voir avec la survie du fournisseur. Oui, avoir un fournisseur qui est toujours en vie est un avantage, mais ce n’est même pas tant un avantage que ça, car soyons honnêtes, de nombreux fournisseurs ont un énorme incitatif pervers à avoir quelque chose qui n’est absolument pas maintenable. Comment vont-ils vendre la prochaine version sinon ? Si nous revenons à la raison pour laquelle je dirais que généralement ce problème est même absent, c’est que vous ne regardez pas le problème de la bonne manière.

Kieran Chandler: Vous devez penser que, imaginez, vous savez, un logiciel complexe comme un système de supply chain d’entreprise. Imaginez un système qui avait, vous savez, des millions de composants en mouvement, littéralement des millions, et vous aviez des dizaines d’entreprises qui ajustaient à n’importe quel moment donné, vous savez, certains de ces composants pour une grande variété de raisons. Parfois, vous voulez être compatible avec un nouveau matériel, donc lorsque vous le faites, vous pouvez créer accidentellement des incompatibilités avec certains matériels anciens. Vous voulez peut-être être compatible avec un nouveau système d’exploitation car, par exemple, Linux change constamment, Windows change constamment, donc vous voulez être compatible avec la dernière version. Mais en introduisant une certaine compatibilité avec le dernier système, vous pourriez accidentellement introduire une incompatibilité avec le système ancien.

Kieran Chandler: Et juste pour vous donner une idée de l’ampleur de la tâche, j’ai lu dans une publication de Microsoft qu’à un moment donné, Microsoft s’assurait de la compatibilité avec plus d’un million d’imprimantes. Imaginez, un million d’imprimantes avec des pilotes différents, des jeux d’instructions différents, du matériel différent, etc. C’est l’effort d’ingénierie nécessaire pour assurer la compatibilité avec un million de périphériques. C’est presque insensé. Et puis vous avez toujours des gens qui disent : “Ah, Windows c’est de la merde. J’ai juste branché mon imprimante de 17 ans qui était la version slovaque Epson 7.1.6 point B, et devinez quoi, Microsoft n’est pas à 100% compatible avec ce périphérique, qui est évidemment une référence phare.”

Joannes Vermorel: Mais, plaisanterie mise à part, vous avez cette énorme logiciel dans la supply chain avec des tonnes de composants en mouvement. La base de données sur laquelle vous vous appuyez est constamment mise à jour, les couches réseau que vous utilisez sont constamment mises à jour, le serveur web que vous utilisez est constamment mis à jour. Vous avez tellement de composants en mouvement. Et par défaut, à moins que vous n’ingéniez spécifiquement votre logiciel pour qu’il soit hautement maintenable, il ne le sera pas. La chose à propos de la supply chain, c’est qu’il s’agit davantage d’un jeu à long terme auquel les gens jouent. Ce n’est pas seulement le fournisseur dont nous devrions nous préoccuper, c’est aussi toutes les personnes avec lesquelles le fournisseur interagit. Et donc, quelle confiance pouvez-vous réellement avoir que ces autres entreprises seront toujours là dans le futur également ? Donc encore une fois, le fait que les entreprises soient là ou non, pour la plupart, je m’en fiche. Ce n’est pas la bonne façon de penser à cela. Si vous avez des fournisseurs qui sont toujours là mais qui ont un vif intérêt à rendre la chose non maintenable pour vendre plus, avez-vous réellement fait des progrès vers la maintenabilité, ou avez-vous couru dans la direction opposée ? Vous devez analyser la situation en fonction des incitations que les gens ont. C’est une autre chose, c’est que pour la plupart, je crois que la maintenabilité est principalement une question de conception. Mais de quel type de conception parlons-nous exactement ? Et ici, je crois que c’est principalement une question de conservation de la masse technologique.

Kieran Chandler: Vous voyez, si vous voulez avoir un produit qui fait de très belles démonstrations, de quoi avez-vous besoin ? Vous avez besoin de la dernière et de la plus cool bibliothèque de visualisation de données, de la dernière et de la plus cool bibliothèque UX. Si vous voulez avoir des analyses en temps réel sophistiquées, vous devez avoir le sous-système le plus récent et le plus cool pour le faire, et ainsi de suite. Vos incitations à gagner des clients grâce aux démonstrations consistent à avoir un effet wow. Par exemple, beaucoup de mes clients me disaient que leurs écrans ERP ressemblaient simplement à des terminaux de texte, juste du texte noir et blanc pur. Ils disaient : “Oh, nous devons vraiment faire quelque chose.”

Joannes Vermorel: Je conteste cela car lorsque je regarde ces terminaux qui ressemblent à ceux des années 80 ou 70, je vois des gens les utiliser et ils sont super rapides, incroyablement réactifs. L’écran est ultra-minimaliste avec seulement quelques commandes que vous devez connaître par cœur, mais c’est tout. Il n’y a aucune distraction ; c’est purement utilitaire. Les gens ont une productivité insensée avec ça. Oui, ça a l’air nul, mais c’est hautement maintenable car vous n’avez littéralement aucune dépendance et certainement aucune dépendance web avec des navigateurs web qui ne cessent de changer.

Donc, si vous regardez à la fois la partie la plus ancienne de la supply chain et la partie la plus avancée du trading à haute fréquence dans la finance, vous verrez que les interfaces utilisateur sont similaires. Si vous regardez ces traders quantitatifs qui utilisent des systèmes super avancés, leur interface utilisateur ressemble à nouveau à un terminal texte. C’est assez bizarre, ces personnes sont absolument à la pointe de la technologie, et leur interface utilisateur semble complètement dépassée. C’est l’opposé de ce à quoi vous penseriez en termes d’interfaces utilisateur de films hollywoodiens.

Kieran Chandler: Cela semble un peu frustrant car tout le monde veut utiliser les dernières technologies. Donc, voulez-vous dire que le fait d’avoir un produit très maintenable signifie finalement que vous ne pouvez pas être à la pointe de la technologie ?

Joannes Vermorel: Si vous êtes à la pointe en termes de maintenabilité, pourquoi pas ? Je ne dis pas que nous n’avons pas progressé dans ce domaine également, nous l’avons fait. C’est juste que cela ne déclenche aucun effet wow. Lorsque vous avez des stratégies de versioning très propres en place et que les composants que vous choisissez ont des philosophies très intéressantes, comme la flexibilité ou le choix de composants logiciels dont la philosophie est la maintenabilité, c’est génial.

Il y a certains composants que nous utilisons qui sont des composants open-source avec exactement cette philosophie. Ils disent qu’il y a un manifeste : ce problème a été étudié pendant les 20 dernières années, et nous avons convergé vers ce que nous pensons être le meilleur compromis en termes de conception. Maintenant, tout ce que nous ferons avec ce composant, c’est un entretien approprié pour nous assurer qu’il n’y a pas de problèmes sérieux en termes de sécurité.

Kieran Chandler: En termes de compatibilité, il n’y a pas de problèmes accidentels, et nous ne cesserons pas de nous réinventer. Donc, vous dites que c’est décevant, c’est l’opposé de l’innovation. Mais encore une fois, avez-vous besoin d’innovation à chaque couche de votre logiciel ? Allez-vous continuer à réinventer la façon dont vous gérez votre calendrier, ou la façon dont vous stockez les mots de passe, par exemple, à moins qu’il n’y ait une attaque cryptographique qui nécessite une mise à niveau ? Donc, vous voulez choisir des choses où vous avez déjà de la stabilité.

Joannes Vermorel: L’ingénierie logicielle n’est pas une discipline nouvelle. Nous avons environ 50 ans d’histoire à apprendre. Mais la question est que, encore une fois, parce que les clients ou les prospects ne font pas attention à cela, ils posent des questions naïves comme “Est-ce que vous allez toujours être là ?” par rapport à “Quel est votre incitation à vous assurer vraiment que votre logiciel est maintenable, plutôt que de faire le contraire pour que j’achète votre prochaine licence ?”

Kieran Chandler: Alors, que devrait rechercher le praticien de la supply chain ? Quels sont les indices qu’un logiciel est très maintenable par rapport à un logiciel qui est peut-être un peu démodé et où les gens sont simplement paresseux ?

Joannes Vermorel: Tout d’abord, je dirais, regardez simplement les incitations car ce n’est pas si technique. Par exemple, si vous achetez une licence ou quelque chose où le fournisseur facture des frais de mise en œuvre élevés, cela signifie que leurs revenus sont concentrés au début du projet. Ce qui se passe ensuite est simplement moins de la même chose, donc c’est littéralement une tendance à la baisse. Le fournisseur a une incitation structurelle à ce que ces frais de mise en œuvre élevés se répètent aussi fréquemment que possible.

Regardez maintenant Lokad. Nous facturons des frais mensuels sans engagement, et nous atteignons généralement le seuil de rentabilité après deux ans. La maintenabilité est essentiellement un tarif fixe, donc le coût en termes de maintenabilité réduit la marge de Lokad. Lorsque j’ai positionné Lokad, j’ai décidé que nous avions un intérêt direct, que nous payions le prix d’un logiciel non maintenable, et cela nous donne une incitation massive à créer quelque chose de maintenable. Il n’y a pas d’argent à gagner, et au contraire, il y a de l’argent à perdre pour nous en tant que fournisseur si ce n’est pas maintenable.

Donc, un abonnement mensuel où vous vous assurez que votre fournisseur perd de l’argent au début est un très bon départ sain qui cadre le problème, donc cela va être maintenable. Ensuite, vous voulez vous assurer que le fournisseur gère la maintenance de son propre logiciel, ce qui est essentiellement ce que le logiciel en tant que service (SaaS) propose. Si ce n’est pas maintenable, c’est d’abord et avant tout le problème du fournisseur, pas votre problème en tant qu’entreprise opérante.

Kieran Chandler: Donc, en parlant du logiciel de la supply chain, je vois souvent des diapositives et des présentations PowerPoint de concurrents montrant toutes les pièces de leur solution. On dirait qu’ils ont 20 sous-composants super sophistiqués et complexes, comme TensorFlow, Apache Spark, Kafka, MongoDB, React, Redux, et bien d’autres. Ils prétendent être à la pointe de la technologie, mais quand je vois ça, je pense que ça va être un cauchemar à maintenir. Chaque composant a son propre cycle de vie, et il n’y a aucune garantie qu’ils fonctionneront ensemble à long terme. Pouvez-vous partager des exemples où vous avez rencontré un logiciel non maintenable et les problèmes qui en ont découlé ?

Joannes Vermorel: Au niveau des symptômes, vous pourriez constater que les gens abandonnent le logiciel et passent à l’utilisation de Microsoft Excel et de feuilles de calcul pour gérer les supply chains. Ce n’est pas comme si les grandes entreprises n’avaient pas acheté de systèmes de supply chain ; elles en ont peut-être même acheté trois au cours des dernières décennies. Ces systèmes disposent de modules de prévision complexe, de réapprovisionnement, d’optimisation de l’assortiment et de gestion des promotions. Cependant, après la mise en œuvre initiale, qui était soutenue par le fournisseur, les gens commencent à rencontrer des problèmes. Au fil du temps, ces problèmes s’accumulent et le système devient plus difficile à maintenir.

Kieran Chandler: Que se passe-t-il alors quand ils abandonnent le logiciel ?

Joannes Vermorel: Lorsque les gens abandonnent le logiciel, ils abandonnent complètement les fonctionnalités et reviennent à l’utilisation de feuilles de calcul Excel. Ils décident de choisir leurs batailles et de se concentrer sur une seule chose : exporter les données vers une feuille de calcul Excel. Ils abandonnent tout espoir de faire fonctionner autre chose que la fonction d’exportation vers Excel.

Kieran Chandler: Des feuilles de calcul, et c’est une histoire que j’ai vue dans des dizaines d’entreprises. C’est littéralement le symptôme d’une solution devenue totalement non maintenable.

Joannes Vermorel: D’accord, si nous concluons aujourd’hui, le message principal est que tout ce qui brille n’est pas vraiment de l’or, et nous devrions peut-être être un peu méfiants à l’égard de ces entreprises qui ont des interfaces utilisateur flashy car il peut y avoir des problèmes de maintenabilité à l’avenir. Je veux dire, encore une fois, je ne dis pas non plus qu’avoir une interface utilisateur médiocre est une solution. Si vous traitez avec un fournisseur dont la solution semble venir des années 90, il y a de fortes chances qu’elle soit déjà si peu maintenable que le fournisseur n’a même pas réussi à mettre à jour son interface utilisateur. Donc, il n’y a pas de règle stricte, mais mon conseil est que vous devez remettre en question même le développement interne, les logiciels internes. Vous devez vraiment remettre en question les personnes responsables du développement. Quel est votre plan pour la maintenabilité ? Quelles sont les décisions de conception clés que vous prenez maintenant pour vous assurer que votre logiciel sera maintenable ? Et encore une fois, si les gens n’ont pas une vision très précise de la façon dont les décisions de conception qu’ils prennent façonnent la maintenabilité future du logiciel, alors, en règle générale, vous pouvez évaluer que le logiciel sera non maintenable car c’est un état par défaut des produits qui sont conçus dans cette industrie sans prêter une attention particulière à la maintenabilité. C’est non maintenable par défaut.

Kieran Chandler: D’accord, nous en resterons là. C’est tout pour cette semaine. Merci de nous avoir suivi et nous vous retrouverons dans le prochain épisode. Merci de nous avoir regardés.