Le logiciel évolue constamment. De par sa nature même, nous pouvons dire qu’au moment où un logiciel donné est déployé en production en direct et passe entre les mains des utilisateurs, il commence à être obsolète.
Cette vérité gênante a (heureusement, en raison de la naissance du cloud computing) été abordée dans une certaine mesure, grâce à de nouvelles approches de l’intégration continue et du déploiement continu (CI/CD). Aujourd’hui, nous pouvons utiliser la nature massivement connectée de l’épine dorsale du cloud pour mettre à jour, améliorer et augmenter les logiciels longtemps après leur création.
Mais même avec le cloud et son compendium de continuité continue, il y a encore énormément de discussions entre les fournisseurs de technologie autour de l’idée du soi-disant « développement d’applications modernes », quelle que soit la signification réelle du terme lui-même.
Les anciens logiciels fonctionnent toujours
Est-il même juste de parler de logiciel moderne ? Une école de pensée soutient que nous devrions être beaucoup plus courtois et respectueux des logiciels plus anciens ; après tout, les logiciels hérités ne sont hérités que parce qu’ils fonctionnent toujours.
Les piliers hérités ont un point valable, mais c’est un point qui s’épuise. Bien que les logiciels hérités soient en effet toujours fonctionnels, la part du lion est sans doute en place car il s’agit d’un énorme morceau de code système (souvent du secteur public) que personne n’a encore compris comment démêler et moderniser.