00:00:05 Introduction du sujet de la maintenabilité du logiciel Supply Chain.
00:01:22 Explication de la manière dont le logiciel peut se dégrader avec le temps, en prenant Microsoft comme exemple.
00:03:01 Discussion des différences entre la maintenabilité des produits Microsoft et d’autres logiciels.
00:04:16 Explication de pourquoi le logiciel doit évoluer avec le temps en raison des changements dans le matériel informatique et des préoccupations de sécurité.
00:07:50 Discussion de la perspective sous laquelle la maintenabilité doit être considérée et du problème de l’envisager du point de vue de la survie du fournisseur.
00:09:08 La compatibilité de Microsoft avec plus d’un million d’imprimantes comme exemple de l’ampleur de la tâche.
00:10:07 Comment le design du logiciel affecte la maintenabilité et la nécessité que l’ingénierie logicielle soit hautement maintenable.
00:11:07 L’importance d’analyser les incitations des fournisseurs pour assurer la maintenabilité du logiciel.
00:13:03 La maintenabilité est une question de design et la conservation de la masse technologique est la clé pour disposer d’un produit maintenable.
00:16:00 Discussion sur l’importance de la maintenabilité des logiciels.
00:17:00 Les incitations des fournisseurs pour assurer la maintenabilité des logiciels.
00:19:00 Comment identifier un logiciel maintenable.
00:21:02 Les symptômes d’un logiciel non maintenable.
00:23:13 Remarques 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 le logiciel Supply Chain. Vermorel soutient que la maintenabilité est avant tout une question de design et qu’elle est souvent négligée par les entreprises qui se concentrent uniquement sur la survie d’un fournisseur. Il note que le logiciel devient non maintenable avec le temps en raison des évolutions technologiques et de l’entropie, et souligne l’importance de la compatibilité, de la sécurité et de la simplicité dans le design des logiciels. Vermorel met également en garde contre le piège des interfaces utilisateur tape-à-l’œil et suggère de mettre en question de manière approfondie les développeurs sur leurs plans de maintenabilité afin d’assurer la viabilité à long terme.
Résumé Étendu
Dans cette interview, Kieran Chandler et Joannes Vermorel discutent des défis liés à la maintenance des logiciels Supply Chain et de la manière dont un bon design peut impacter leur longévité. Vermorel explique que, bien que les logiciels ne se dégradent pas comme des objets physiques, ils se détériorent avec le temps en raison de l’entropie et des évolutions du paysage technologique. Des entreprises comme Microsoft ont réussi grâce à leur engagement fort envers la survie à long terme de leurs produits, ce qui permet aujourd’hui d’ouvrir et d’utiliser d’anciens documents.
Vermorel note que la capacité de Microsoft à assurer la longévité de ses logiciels découle de ses investissements immenses en maintenance et de son accent mis sur la compatibilité. Il le contraste avec Linux qui, bien que plus léger et mieux organisé, n’offre pas le même niveau de rétrocompatibilité. Vermorel reconnaît que les logiciels Supply Chain sont encore plus complexes en raison de leur nature distribuée et des innombrables éléments mobiles impliqués.
Maintenir les logiciels Supply Chain est rendu 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 manière dont les utilisateurs interagissent avec les logiciels change constamment, avec notamment la prévalence croissante des écrans tactiles et des affichages en haute résolution. Les anciens logiciels peuvent ne pas être conçus pour ces systèmes modernes, les rendant 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 typique est de savoir si un fournisseur sera encore présent à l’avenir, mais il estime que cela constitue un angle d’approche faible pour aborder le problème. Il souligne qu’avoir un fournisseur survivant est un avantage, mais non une garantie de maintenabilité. En fait, certains fournisseurs ont une incitation perverse à créer des produits non maintenables afin de vendre de nouvelles versions.
L’interviewé souligne que le problème de la maintenabilité doit être abordé sous une perspective différente. Il explique que des logiciels complexes, tels que les systèmes d’entreprise Supply Chain, comportent des millions d’éléments mobiles et de nombreuses entreprises y travaillent simultanément. Ces systèmes font face à des mises à niveau et des changements constants pour rester compatibles avec divers matériels et systèmes d’exploitation. Assurer la compatibilité devient alors une entreprise colossale, comme l’illustre Vermorel avec la compatibilité de Microsoft avec plus d’un million d’imprimantes.
Il soutient que, par défaut, un logiciel n’est pas maintenable à moins d’être spécifiquement conçu pour l’être. Il insiste également sur le fait que l’accent ne doit pas être mis uniquement sur la survie d’un seul fournisseur, mais sur l’ensemble de l’écosystème des entreprises impliquées dans la supply chain. Vermorel estime que la maintenabilité est avant tout une question de design, en particulier en ce qui concerne la conservation de la masse technologique.
Pour conquérir des clients grâce à des démonstrations, les entreprises utilisent souvent les technologies les plus récentes et les plus avancées pour la visualisation des données, l’expérience utilisateur et l’analytique en temps réel. Cela crée un “effet wow”, qui peut être un argument de vente. Cependant, Vermorel remet en question cette approche, en citant l’exemple des écrans ERP au look démodé, ressemblant à des terminaux textuels des années 80. Malgré leur apparence, ces écrans sont incroyablement rapides, réactifs et ont des dépendances minimales, ce qui les rend hautement maintenables et efficaces.
Vermorel souligne que toutes les couches du logiciel n’ont pas besoin d’innovation, car il est plus important d’assurer la stabilité dans certains domaines tels que la gestion des calendriers ou le stockage des mots de passe. Il note également que l’ingénierie logicielle possède une histoire riche d’enseignements, et que la maintenabilité devrait être une priorité. Cependant, les clients et prospects négligent souvent cet aspect, en se concentrant davantage sur la pérennité de l’entreprise que sur la maintenabilité de leurs logiciels.
Pour déterminer si un logiciel est maintenable, Vermorel suggère d’examiner les incitations proposées par le fournisseur. Par exemple, un fournisseur qui facture des frais d’implémentation élevés et concentre ses revenus au début du projet peut être incité à répéter ces frais aussi souvent que possible. Lokad, quant à lui, facture des frais mensuels sans engagement, garantissant ainsi que l’entreprise a sa part à jouer et faisant 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 ses propres logiciels. Il met en garde contre la complexité technologique, où les entreprises se vantent de disposer 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 Supply Chain, ils deviennent souvent inutilisables au fil du temps à cause de divers dysfonctionnements et problèmes qui émergent. À mesure que le nombre de ces dysfonctionnements augmente, le logiciel devient de plus en plus difficile à maintenir et exploiter. Par conséquent, les utilisateurs abandonnent les fonctionnalités du système et se rabattent sur l’utilisation des tableurs de Microsoft Excel comme solution de rechange.
Il indique que cette situation est courante dans l’industrie et reflète les symptômes d’une solution devenue complètement non maintenable. Vermorel met en garde contre le fait que des interfaces utilisateur tape-à-l’œil ne garantissent pas nécessairement un produit qui fonctionne bien et peuvent même masquer d’éventuels problèmes de maintenabilité. En revanche, des interfaces utilisateur démodées peuvent aussi être un signal d’alarme, car elles peuvent indiquer un manque de maintenance et de mises à jour de la part du fournisseur.
Pour éviter de tomber dans le piège des logiciels non maintenables, Vermorel conseille aux entreprises de mettre les développeurs au défi de manière approfondie sur leurs plans de maintenabilité et de comprendre les décisions clés de design qui contribuent à la viabilité à long terme du logiciel. Il insiste sur le fait que, sans une considération minutieuse de la maintenabilité, les logiciels dans l’industrie tendent à être non maintenables par défaut.
Vermorel conclut en soulignant les similitudes entre les logiciels Supply Chain et les systèmes de trading à haute fréquence en finance, en notant que les deux utilisent souvent des interfaces utilisateur basées sur du texte. Bien que ces interfaces puissent paraître démodées, elles sont efficaces et maintenables grâce à leurs dépendances minimales et à leur design épuré.
Transcription Complète
Kieran Chandler: Salut, quand on investit dans un logiciel 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 évolution rapide signifie que le simple fait de le maintenir n’est pas une mince affaire. Ainsi, aujourd’hui, nous allons discuter de la maintenabilité et pourquoi c’est un tel défi, et comprendre comment un bon design peut l’influencer. C’est donc un sujet fascinant aujourd’hui, et la maintenabilité est quelque chose qu’on n’associe normalement pas 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. Certes, ce n’est pas comme la dégradation mécanique, où l’usure fait que les choses deviennent physiquement fragiles au point de se casser. Les logiciels ne sont pas la même chose, mais ils se détériorent avec le temps. C’est peut-être très surprenant car certaines des plus grandes et des plus performantes entreprises de logiciels, disons Microsoft, ont connu un succès incroyable précisément parce qu’elles avaient un engagement fou envers la survie à long terme de leurs produits. C’est littéralement un témoignage du succès de Microsoft qu’aujourd’hui, vous puissiez prendre un document Microsoft Word édité en 1995, l’ouvrir, et encore l’imprimer. C’est incroyable, mais c’est aussi ce que la plupart des gens ne réalisent pas : que Microsoft était assez unique en ce sens, ayant cet état d’esprit d’engagement à long terme envers ses produits. Si vous essayiez l’un de leurs concurrents, et de nos jours, les gens ne se souviennent même plus que Microsoft Word et Excel comptaient de nombreux concurrents, rien ne fonctionnerait réellement.
Alors, entrons dans le vif du sujet : les logiciels se dégradent, et ils se dégradent principalement en raison de l’entropie, du fait que le paysage évolue sans cesse. Le matériel change, et le logiciel est un produit très composite. Pour faire fonctionner quoi que ce soit, on implique généralement des dizaines de composants fournis par des dizaines d’entreprises, et ces éléments ne sont pas naturellement bien maintenus au fil du temps. Lorsqu’un élément change, il n’y a aucune raison évidente pour que tous les autres composants restent complètement compatibles et correctement intégrés avec celui qui vient de changer.
Kieran Chandler: Ouais, je veux dire, le paysage technologique évolue vraiment et très rapidement. Alors, qu’est-ce que Microsoft a bien fait ? Pourquoi ont-ils pu influencer la longévité de leurs logiciels ?
Joannes Vermorel: Au fond, ils y tenaient vraiment et ont fait des investissements phénoménaux pour cela. Beaucoup de gens se plaignent que Microsoft Windows est tellement encombré, que vous avez tellement de choses, et qu’en optant pour un système d’exploitation Linux, c’est tellement plus léger, mieux organisé et globalement plus sensé. C’est vrai, absolument vrai. Mais essayez de lancer un programme écrit pour Linux il y a 25 ans ; il ne fonctionnera pas. Les jeux que j’ai achetés quand j’étais adolescent dans les années 90 pour Windows 95 fonctionnent encore aujourd’hui. Je pense donc que cela illustre bien le propos.
Kieran Chandler: On peut faire les choses correctement avec, je dirais, un niveau d’engagement exceptionnel. Et si vous lisez les blogs de Microsoft sur ce qu’ils font pour assurer la maintenabilité, je dirais qu’ils vont jusqu’à des extrêmes incroyables, littéralement. Or, pour les logiciels Supply Chain, on ne peut pas s’attendre au même degré d’engagement, tout simplement parce que le marché n’est pas aussi grand, et il n’y a pas d’entreprises prêtes à faire des efforts aussi considérables pour cela. De plus, vous avez un autre problème : le logiciel Supply Chain est aussi très, très complexe parce qu’il est typiquement distribué, et il comporte beaucoup, beaucoup d’éléments mobiles. Cela rend la maintenabilité d’autant plus compliquée. Et la question se pose maintenant : pourquoi y aurait-il un quelconque changement, et pourquoi ne peut-on pas simplement figer un logiciel et s’y tenir pour toujours ?
Joannes Vermorel: La réponse est, d’abord, que le matériel informatique lui-même évolue, donc on ne peut pas simplement dire que ce logiciel fonctionnera pour toujours. 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 complète du matériel que vous aviez autrefois, donc cela peut aider. Mais ensuite, il ne s’agit pas seulement du matériel pour effectuer le calcul ; c’est aussi le fait que, par exemple, la manière de consommer les écrans a changé. Aujourd’hui, les écrans ont beaucoup plus de pixels, vous pouvez avoir des écrans tactiles, et il y a plein de choses qui ne se comportent pas exactement comme dans les anciens systèmes. Parfois, vous avez même des systèmes étranges, où certaines touches du clavier disparaissent tout simplement. Ainsi, si le logiciel a été conçu pour une certaine touche, cela pouvait ê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 là qu’une partie du problème qui évolue relativement lentement, mais ensuite, il y a tous les problèmes de sécurité. La plupart des logiciels produits historiquement n’ont absolument pas été conçus pour faire face aux menaces modernes que nous connaissons aujourd’hui. Cela met donc une pression immense pour changer fondamentalement une multitude d’éléments dans de nombreux composants logiciels.
Kieran Chandler: Donc, les gens veulent toujours utiliser la dernière technologie dans leurs environnements de travail. Diriez-vous que c’est davantage un problème dominant ou bien est-ce plutôt la question de la sécurité et le fait qu’il ne serait pas sûr de les utiliser ?
Joannes Vermorel: Tout d’abord, la maintenabilité est une sorte de problème dont les responsables supply chain sont le plus souvent inconscients, et lorsqu’ils en sont conscients, ils n’en perçoivent l’enjeu que sous un angle que je juge 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 toujours actif est en quelque sorte un avantage, mais ce n’est même pas tant un avantage, car, soyons honnêtes, de nombreux fournisseurs ont un fort intérêt pervers à proposer quelque chose d’absolument non maintenable. Sinon, comment vont-ils vendre la prochaine version ? Si l’on revient à la raison pour laquelle je dirais que, généralement, ce problème est même absent, c’est que vous n’abordez pas le problème de la bonne manière.
Kieran Chandler: Il faut penser que, imaginez, vous savez, un logiciel complexe tel qu’un système supply chain d’entreprise. Imaginez un système qui comportait, vous savez, des millions de pièces mobiles, littéralement des millions, et que des dizaines d’entreprises modificaient, à chaque instant, certaines de ces pièces pour une multitude de raisons. Parfois, vous souhaitez être compatible avec du nouveau matériel, donc, en procédant ainsi, vous pourriez accidentellement créer des incompatibilités avec du vieux matériel. Vous pourriez vouloir être compatible avec un nouveau système d’exploitation parce que, par exemple, Linux ne cesse de changer, Windows ne cesse de changer, et vous voulez essentiellement être compatible avec le plus récent. Mais en introduisant une compatibilité avec le système le plus récent, vous pourriez involontairement introduire une incompatibilité avec l’ancien système.
Kieran Chandler: Et juste pour vous donner une idée de l’ampleur de la tâche, je lisais dans une publication de Microsoft qu’à un moment donné, Microsoft assurait la compatibilité avec plus d’un million d’imprimantes. Imaginez un peu, un million d’imprimantes avec différents pilotes, ensembles d’instructions, matériels différents, etc. Voilà l’effort d’ingénierie requis pour assurer la compatibilité avec un million d’appareils. C’est frôlant la folie. Et puis, il y a toujours ceux qui disent, “Ah, Windows c’est n’importe quoi. Je viens de brancher mon imprimante vieille de 17 ans, qui était l’Epson 7.1.6 point B, édition slovaque, et devinez quoi, Microsoft n’est pas compatible à 100 % avec cet appareil, qui est évidemment une référence phare.”
Joannes Vermorel: Mais, plaisanterie mise à part, vous avez ce gigantesque logiciel en supply chain avec une multitude de pièces mobiles. La base de données sur laquelle vous comptez est constamment mise à jour, les couches réseau que vous utilisez sont constamment améliorées, le serveur web que vous utilisez est constamment mis à jour. Vous avez tant de pièces mobiles. Et par défaut, ce qui se passe, c’est que, à moins de concevoir spécifiquement votre logiciel pour qu’il soit hautement maintenable, il ne le sera pas. Le truc avec la supply chain, c’est que c’est un jeu bien plus long auquel les gens participent. Ce n’est pas seulement de savoir si le fournisseur reste, mais c’est aussi l’ensemble des personnes avec lesquelles le fournisseur interagit. Et donc, quelle confiance pouvez-vous réellement avoir que ces autres entreprises seront également là à l’avenir ? Encore une fois, que les entreprises soient présentes ou non, ça m’importe peu. Ce n’est pas la bonne façon d’aborder la question. Si vous avez des fournisseurs toujours présents mais ayant un vif intérêt à rendre le système non maintenable pour vendre plus, avez-vous réellement fait des progrès en matière de maintenabilité, ou avez-vous pris le chemin inverse ? Vous devez analyser la situation à travers les incitations des gens. Autre chose, je pense que la maintenabilité relève essentiellement du design. Mais de quel type de design parlons-nous exactement ? Et ici, je crois qu’il s’agit principalement de la conservation de la masse technologique.
Kieran Chandler: Vous voyez, si vous voulez avoir un produit qui permet de réaliser des démos vraiment impressionnantes, de quoi avez-vous besoin ? Vous avez besoin de la bibliothèque de visualisation de données la plus récente et la plus impressionnante, de la bibliothèque UX la plus récente et la plus impressionnante. Si vous voulez disposer d’analyses en temps réel sophistiquées, il vous faut le sous-système le plus récent et le plus impressionnant pour cela, et ainsi de suite. Votre avantage pour conquérir des clients via des démos réside dans l’effet “wow”. Par exemple, beaucoup de mes clients me disaient que leurs écrans ERP ressemblaient à de simples terminaux textuels, avec uniquement du texte en noir et blanc. Ils disaient : “Oh, il faut vraiment que nous fassions quelque chose.”
Joannes Vermorel: Je conteste cela, car lorsque je regarde ces terminaux qui donnent l’impression de nous ramener au début des années 80 ou à la fin des années 70, je vois des gens qui les utilisent et qui sont super rapides, incroyablement réactifs. L’écran est ultra-minimaliste avec seulement quelques commandes qu’il faut connaître par cœur, et c’est tout. Il n’y a aucune distraction ; c’est purement utilitaire. Les gens obtiennent une productivité incroyable avec ça. Oui, ça a l’air affreux, mais c’est hautement maintenable puisqu’il n’y a littéralement aucune dépendance et certainement aucune dépendance web avec des navigateurs qui ne cessent de changer.
Donc, si vous examinez à la fois la partie la plus ancienne de la supply chain et la partie la plus avancée du trading à haute fréquence en finance, vous verrez que les interfaces utilisateurs sont similaires. Si vous observez ces traders quantitatifs qui utilisent des systèmes super avancés, leur interface utilisateur ressemble encore à un terminal textuel. C’est un peu bizarre, ces personnes sont absolument à la pointe de la technologie, et leur interface utilisateur paraît complètement dépassée. C’est le contraire de ce que l’on imagine des interfaces des films hollywoodiens.
Kieran Chandler: Ça semble quelque peu frustrant parce que tout le monde veut utiliser les technologies les plus récentes. Alors, dites-vous que le fait d’avoir un produit très maintenable signifie qu’au final, on ne peut pas être à la pointe de la technologie ?
Joannes Vermorel: Si vous êtes à la pointe en matière de maintenabilité, pourquoi pas ? Je ne dis pas que nous n’avons pas fait de progrès dans ce domaine, nous l’avons fait. C’est juste que cela ne provoque aucun effet “wow”. Lorsque vous avez des stratégies de versionnage très claires et que les composants que vous choisissez adoptent des philosophies très intéressantes, telles que la flexibilité ou le choix de composants logiciels dont la philosophie repose sur 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 affirment qu’il existe un manifeste : ce problème a été étudié pendant les 20 dernières années, et nous sommes parvenus à ce que nous considérons comme le meilleur trade-off en termes de design. Maintenant, tout ce que nous ferons avec ce composant, c’est d’assurer une maintenance adéquate afin de garantir qu’en termes de sécurité, il n’y ait aucun problème sérieux.
Kieran Chandler: En termes de compatibilité, il n’y a pas de problèmes accidentels, et nous ne nous réinventerons pas sans cesse. Vous dites donc que c’est décevant, c’est le contraire de l’innovation. Mais encore, faut-il innover à chaque couche de votre logiciel ? Allez-vous sans cesse réinventer la manière de gérer votre calendrier ou la façon de stocker vos mots de passe, par exemple, à moins qu’une attaque cryptographique n’exige une mise à jour ? Vous voulez donc opter pour des solutions qui offrent déjà de la stabilité.
Joannes Vermorel: L’ingénierie logicielle n’est pas une discipline nouvelle. Nous avons environ 50 ans d’histoire dont nous pouvons tirer des enseignements. Mais le problème, c’est qu’encore une fois, parce que les clients ou prospects n’y prêtent pas attention, ils posent des questions naïves comme “Allez-vous encore être là ?” au lieu de demander “Quel est votre intérêt à vous assurer vraiment que votre logiciel soit maintenable, plutôt que de faire le contraire afin que j’achète votre prochaine licence ?”
Kieran Chandler: Alors, que devrait surveiller le praticien de la supply chain ? Quels sont les indices indiquant qu’un logiciel est très maintenable par rapport à un logiciel peut-être un peu démodé et où les gens se contentent de la paresse ?
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 autre chose où le fournisseur facture d’importants frais d’implémentation, cela signifie que ses revenus sont concentrés au début du projet. Ce qui se passe ensuite n’est qu’une répétition de la même chose, c’est littéralement une tendance à la baisse. Le fournisseur a une incitation structurelle à faire répéter ces frais d’implémentation élevés aussi souvent que possible.
Maintenant, regardez Lokad. Nous facturons un abonnement mensuel sans engagement, et nous atteignons généralement le seuil de rentabilité après deux ans. La maintenabilité représente essentiellement une charge fixe, de sorte que le coût en termes de maintenabilité gruge la marge de Lokad. Lorsque j’ai positionné Lokad, j’ai décidé que nous avions la peau dans le jeu, que nous payions le prix d’avoir un logiciel non maintenable, et cela nous donnait une incitation massive à rendre le système maintenable. Il n’y a pas d’argent à gagner, 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épart est un très bon point de départ, sain, qui encadre le problème, garantissant ainsi la maintenabilité. Ensuite, vous devez vous assurer que le fournisseur prend en charge la maintenance de son propre logiciel, ce qui est fondamentalement l’essence du Software as a Service (SaaS). S’il n’est pas maintenable, c’est avant tout le problème du fournisseur, et non celui de votre entreprise.
Kieran Chandler: Donc, en parlant du logiciel supply chain, je vois souvent des slides et des PowerPoints de concurrents montrant toutes les composantes de leur solution. On dirait qu’ils disposent de 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 cela, je pense que ce sera un cauchemar à maintenir. Chaque composant a son propre cycle de vie, et il n’y a aucune garantie qu’ils fonctionneront ensemble sur le long terme. Pouvez-vous partager quelques exemples où vous avez rencontré un logiciel non maintenable et les problèmes qui y ont conduit ?
Joannes Vermorel: Au niveau des symptômes, on peut constater que lorsque les gens abandonnent le logiciel et se tournent vers Microsoft Excel et les tableurs pour gérer les supply chain. Ce n’est pas que les grandes entreprises ne se soient pas procuré de systèmes supply chain ; elles en ont même potentiellement acheté trois au cours des dernières décennies. Ces systèmes comprennent des modules complexes de prévision, de replenishment, d’optimisation des assortiments et de gestion des promotion. Cependant, après la mise en œuvre initiale, qui était soutenue par le fournisseur, les gens commencent à rencontrer des dysfonctionnements. Avec le temps, ces dysfonctionnements s’accumulent et le système devient de plus en plus difficile à maintenir.
Kieran Chandler: Alors, que se passe-t-il lorsqu’ils abandonnent le logiciel ?
Joannes Vermorel: Quand les gens abandonnent le logiciel, ils renoncent complètement aux fonctionnalités et se contentent d’utiliser des tableurs Excel. Ils décident de choisir leurs batailles et de se concentrer sur une seule chose – l’exportation des données vers un tableur Excel. Ils renoncent à l’espoir de faire fonctionner autre chose que la fonctionnalité d’export vers Excel.
Kieran Chandler: Les tableurs, et c’est une histoire que j’ai vue dans des dizaines d’entreprises. Ce sont littéralement les symptômes d’une solution devenue complètement non maintenable.
Joannes Vermorel: D’accord, si nous commençons à conclure aujourd’hui, le message principal est que tout ce qui brille n’est pas réellement de l’or, et nous devrions peut-être être un peu méfiants à l’égard de ces entreprises aux interfaces utilisateur tape-à-l’œil, car des problèmes de maintenabilité pourraient surgir à l’avenir. Je veux dire, encore une fois, je ne dis pas qu’avoir une interface utilisateur médiocre constitue une solution. Si vous avez affaire à un fournisseur dont la solution semble provenir des années 90, il y a de fortes chances qu’elle soit déjà tellement non maintenable que le fournisseur n’a même pas réussi à mettre à jour son interface. Il n’existe donc pas de règle absolue, mais mon conseil est de remettre en question même le développement interne, le logiciel in-house. Vous devez vraiment challenger les responsables du développement. Quel est votre plan pour la maintenabilité ? Quelles sont les décisions clés de design que vous prenez dès maintenant pour garantir que votre logiciel sera maintenable ? Et encore une fois, si les personnes n’ont pas une vision très précise de la manière dont leur décision de design façonne la maintenabilité future du logiciel, alors, en règle générale, on peut conclure que le logiciel sera non maintenable, car c’est le statut par défaut des produits conçus dans cette industrie sans accorder une attention particulière à la maintenabilité. Il est non maintenable par défaut.
Kieran Chandler: D’accord, nous allons conclure. C’est tout pour cette semaine. Merci de nous avoir suivis, et nous nous retrouvons dans le prochain épisode. Merci d’avoir regardé.