Skip to main content

Si vous demandez à des professionnels de l’informatique de décrire les stratégies de leurs entreprises en matière de modernisation des applications, il y a de fortes chances qu’ils vous donnent des réponses axées sur la technologie.

Ils pourraient vous expliquer comment ils migrent des applications sur site vers le cloud, déplacent des applications déjà dans le cloud vers de nouveaux types de services cloud, ou refactorisent leurs applications pour les exécuter sous forme de microservices.

En d’autres termes, beaucoup de gens associent la modernisation des applications à un changement technologique.

Want more from The CTO Club?

Create a free account to finish this piece and join a community of CTOs and engineering leaders sharing real-world frameworks, tools, and insights for designing, deploying, and scaling AI-driven technology.

This field is for validation purposes and should be left unchanged.
Name*

Je suis ici pour vous dire qu’il s’agit d’une mauvaise approche de la modernisation des applications. Au lieu de moderniser les technologies, les entreprises doivent réellement moderniser leurs processus de développement et de déploiement des applications.

Laissez-moi vous expliquer pourquoi une approche basée sur les processus est celle vers laquelle les organisations doivent tendre, ainsi que des conseils concrets pour moderniser les processus de livraison des applications.

Modernisation des applications : une histoire sans fin

Une approche centrée sur la technologie pour la modernisation des applications est insuffisante tout simplement parce que les technologies évoluent en permanence. Les innovations techniques qui rendent votre application « moderne » aujourd’hui peuvent la transformer en application obsolète dans un, trois ou dix ans.

Par exemple, lorsque la modernisation des applications est devenue un mot à la mode il y a environ une décennie, les technologies cloud telles que l’Infrastructure-as-a-Service (IaaS) étaient au cœur de nombreuses stratégies de modernisation des applications. À l’époque, l’IaaS était une véritable révolution pour de nombreuses organisations qui hébergeaient auparavant leurs charges de travail en local. Pour elles, pouvoir exécuter leurs applications sur une infrastructure gérée par un tiers et ne payer que pour les ressources consommées était révolutionnaire.

Aujourd’hui, bien sûr, l’IaaS semble bien moins impressionnant. Cela reste précieux, mais c’est devenu tellement courant qu’il n’est plus au centre du débat sur la modernisation des applications. Aujourd’hui, on parle plutôt de technologies et de concepts plus récents comme les conteneurs et les fonctions serverless.

Cela signifie que si votre stratégie de modernisation des applications consiste à mettre à jour vos applications pour exploiter la technologie la plus récente (quelle qu’elle soit au moment du lancement de l’initiative), votre application finira tôt ou tard par ne plus être innovante. Elle n’apportera pas non plus à votre entreprise l’avantage concurrentiel le plus significatif. Et bien souvent, vous ne bénéficierez pas des dernières protections de sécurité, pourtant essentielles pour garder une longueur d’avance sur les menaces en constante évolution.

Une approche plus saine de la modernisation des applications consiste à se concentrer sur la modernisation des processus. Malgré les changements majeurs qu’ont connus les technologies de déploiement applicatif ces dix ou vingt dernières années, les processus de développement qui favorisent le mieux l’innovation logicielle et l’efficacité – comme les pratiques et concepts interdépendants d’agilité, d’Intégration Continue/Livraison Continue (CI/CD) et de DevOps – sont restés pratiquement les mêmes.

C’est pourquoi chaque entreprise doit en réalité se concentrer sur la modernisation de ses processus de livraison d’applications afin de bénéficier des techniques les plus innovantes. Lorsque vos processus sont modernes, votre capacité à exploiter la technologie moderne et à mettre vos applications à jour rapidement pour profiter des nouveautés technologiques s’en trouve naturellement renforcée.

Comment améliorer le processus de modernisation des applications

Le défi, pour de nombreuses entreprises, consiste bien sûr à moderniser concrètement le processus de livraison des logiciels de manière à rendre le changement plus rapide, plus simple et plus sûr. Quels sont les processus précis à modifier, et comment surmonter les obstacles qui se présenteront sûrement sur la route ?

Pour répondre à ces questions, passons en revue quelques tactiques de modernisation des processus qui peuvent aider à transformer la manière dont les entreprises conçoivent les logiciels, quel que soit le type de technologies utilisé.

Upgrade your inbox with more tech leadership wisdom for delivering better software and systems.

Upgrade your inbox with more tech leadership wisdom for delivering better software and systems.

This field is for validation purposes and should be left unchanged.
Name*

1. Identifier les processus problématiques grâce à l’analyse de la chaîne de valeur

La première étape d’une modernisation des processus consiste à déterminer quels sont les processus qui ont le plus besoin d’être changés. Pour obtenir cette vision, il faut recourir à l’analyse de la chaîne de valeur. L’analyse de la chaîne de valeur offre une vision des différentes tâches du cycle de livraison logicielle et du temps nécessaire à chacune, un peu comme l’examen d’un budget aide une équipe à améliorer ses résultats financiers en s’attaquant d’abord aux postes de dépenses les plus importants.

Lorsque vous réalisez une analyse de la chaîne de valeur du cycle de livraison logiciel, vous identifiez quelles étapes du processus de développement applicatif prennent le plus de temps, requièrent le plus d’efforts manuels ou bien quels composants de gestion de l’infrastructure sont les plus sujets à l’erreur.

Bien que la plupart de vos processus puissent sans doute être optimisés d’une façon ou d’une autre, l’analyse de la chaîne de valeur permet de cibler ceux qui sont réellement prêts à être améliorés. Elle aide aussi à pointer les tâches ou étapes inutiles, que vous pouvez supprimer afin de rendre le processus de déploiement plus simple, plus rapide et moins risqué.

2. Mesurer la livraison des logiciels

L’analyse des pratiques de livraison logicielle est d’autant plus efficace que vous suivez vos processus de manière systématique et quantitative. Pour cela, vous pouvez vous appuyer sur des cadres de référence comme les métriques DORA de Google, qui mesurent l’efficacité des processus actuels de développement et de déploiement logiciel.

Une approche basée sur les indicateurs permet de suivre les résultats de la livraison logicielle de façon précise. Par extension, elle aide les entreprises à mesurer exactement les améliorations (ou l’absence d’améliorations) qu’elles obtiennent après des modifications apportées à leurs processus de livraison de logiciels.

3. Déclarez la guerre aux processus manuels

Si votre organisation est comme la plupart, votre analyse de la chaîne de valeur mettra en lumière un certain nombre de processus que vos équipes effectuent encore manuellement. L’automatisation de ces derniers, chaque fois que possible, doit être une priorité. L’automatisation permet de gagner du temps, de réduire le risque d’erreurs et de faciliter des déploiements plus sûrs.

Dans la plupart des cas, les processus manuels sont l’antithèse de la modernisation des applications pour deux raisons. Premièrement, ils ralentissent l’exécution et créent de l’inefficacité. Deuxièmement, les opérations manuelles ont tendance à augmenter le risque d’erreurs, car il se peut qu’un humain omette quelque chose d’important ou fasse une erreur lors de l’application d’une configuration, ouvrant ainsi la porte à une faille.

4. Refactorez les processus et procédures de gestion

Tout comme il est possible de refactoriser une application monolithique en redéfinissant son architecture, vous pouvez redéfinir vos processus et procédures de gestion – tels que votre approche du développement applicatif et de l’administration système.

Dans de nombreux cas, l’augmentation de la vitesse des déploiements applicatifs et la mise en œuvre de déploiements et de livraisons continus exigent de réécrire les processus de gestion des changements logiciels, car les méthodes traditionnelles, comme celles associées au modèle en cascade (« waterfall »), ne sont pas adaptées à l’échelle actuelle. Elles ne peuvent suivre le rythme de pipelines de livraison continue où du nouveau code est mis en production plusieurs fois par semaine, voire plus fréquemment encore.

Les processus lents et manuels doivent être remplacés autant que possible par des processus automatisés. Par exemple, les tests logiciels pourraient être automatisés afin de gagner du temps et d’améliorer la qualité (car, trop souvent, les validations manuelles ne sont qu’une formalité, ce qui ralentit le processus de test sans apporter de valeur ajoutée). De plus, les processus trop complexes pourraient éventuellement être divisés en procédures plus petites et plus simples.

5. Changez votre état d’esprit sur les processus

Au-delà de la modification des processus eux-mêmes, la modernisation applicative doit aussi impliquer un changement de façon de penser des organisations au sujet des processus en général. Autrement dit, il s’agit d’encourager les développeurs, administrateurs IT et managers à privilégier par défaut l’automatisation lors de la mise en œuvre des processus.

Cela peut sembler inutile, car aujourd’hui de nombreux professionnels de l’informatique évoquent l’importance de l’automatisation. Pourtant, au moment de mettre réellement les processus en place, ils optent souvent pour des approches manuelles car elles sont plus rapides et simples à mettre en œuvre initialement. Pour garantir un succès durable de la modernisation des applications, vos équipes doivent adopter l’automatisation comme moyen de gagner du temps et des efforts, et de réduire les risques à long terme, même si cela demande davantage de travail au départ.

Surmonter les défis de la modernisation applicative

Dans le cadre de la mise en œuvre des changements de processus que je viens de décrire, les entreprises rencontrent souvent des problèmes tels que :

  • Résistance au changement : Si des processus manuels ou inefficaces ont été en place pendant des décennies et que l’entreprise a continué de fonctionner, certains peuvent douter de l’intérêt d’en changer.
  • Manque de ressources : Réformer les processus demande du temps et des efforts. Les services IT déjà surchargés peuvent hésiter à consacrer des ressources à la mise à jour des processus.
  • Manque de leadership : Sans dirigeants ou managers pour guider la modernisation des processus, les initiatives peuvent perdre de leur élan.

Ces défis sont, dans une certaine mesure, inévitables. Mais ils peuvent aussi être surmontés. Une partie de la solution consiste à commencer petit ; au lieu de réformer tous vos processus du jour au lendemain, choisissez-en quelques-uns et étendez progressivement la démarche. Il est aussi recommandé de commencer avec une ou deux équipes uniquement.

Une fois que vous avez déterminé par où commencer, assurez-vous de mesurer la livraison logicielle à l’aide d’indicateurs, d’effectuer une analyse de la chaîne de valeur pour déterminer les possibilités d’amélioration, puis d’apporter des changements. Après que vos premières équipes ont amélioré leur efficacité, les membres de ces équipes peuvent ensuite aider d’autres équipes à adopter des processus et des mentalités similaires.

Les entreprises devraient aussi désigner des responsables pour superviser les initiatives de modernisation et déléguer certaines responsabilités aux personnes disposant des compétences requises. Une autre possibilité consiste à externaliser ce travail à une entreprise de développement d’applications mobiles ou à une entreprise de développement d’applications iPad.

Une approche moderne de la modernisation applicative

Au final, la réussite de tout projet de modernisation d’application dépend non seulement des technologies choisies, mais aussi de la manière dont elles sont mises en œuvre. Tant que les entreprises ne modernisent pas leurs processus pour concevoir et mettre à jour les logiciels, elles seront toujours en retard face à l’évolution.

Cependant, avec des processus efficaces, fiables et sécurisés en place, les organisations peuvent moderniser leurs applications en tirant parti des dernières innovations technologiques dès que de nouvelles opportunités technologiques se présentent.

Abonnez-vous à la newsletter du CTO Club pour plus d’astuces, conseils et outils sur la modernisation des applications.