June 2, 2023

Branches Tech

Engagé pour la qualité technologique

Making application modernization pragmatic and useful

4 min read

Demandez à n’importe qui de définir la modernisation des apps et vous entendrez de nombreuses réponses différentes. Voici une généralisation de ce sur quoi nous sommes tous d’accord : la modernisation des programs prend les apps et les ensembles de données existants qui gèrent les entreprises et les rend furthermore utiles, productifs et attrayants pour ceux qui les utilisent, en particulier les shoppers. La capacité d’améliorer l’expérience shopper génère davantage d’activité.

Certains voient la modernisation des programs comme « mettre du rouge à lèvres sur un porc », mais ce n’est pas du tout le but. La modernisation des programs ne doit pas consister à créer des purposes apparaître moderne les apps doivent regarder et être moderne.

Cela signifie modifier les interfaces utilisateur et machine, ainsi que moderniser l’architecture interne, l’infrastructure de la plate-forme de cloud public, les fonctionnalités des apps et la technologie habilitante. Cela implique également de passer des processus de développement traditionnels en cascade à des processus agiles et devops.

Est-ce une bonne idée de prendre des purposes héritées précieuses, de les améliorer et de les déplacer vers un cloud public ? Bien sûr. Cependant, de furthermore en moreover, je vois des développeurs et des architectes cloud aborder la modernisation avec une sorte de liste de contrôle sans fin qui va souvent trop loin et en fait trop, manquant ainsi les buts et objectifs de valeur métier du projet.

Il existe tellement d’informations sur la modernisation des programs, y compris les processus et les méthodologies, que de nombreuses équipes tentent de se moderniser en cochant des circumstances qui, selon d’autres, rendront leur software héritée vraiment moderne. Ils poursuivent des concepts à la method comme la conteneurisation, les microservices, l’augmentation des données, l’augmentation de l’architecture interne et d’autres choses qui peuvent nécessiter une intervention chirurgicale majeure. Cette approche pourrait mettre l’application en risk en introduisant une myriade de complexité, de problems et de dépenses, juste pour cocher une situation de la liste de contrôle.

Voici deux concerns pragmatiques à considérer.

Tout d’abord, il existe un level de basculement où il peut être additionally logique de supprimer l’application héritée d’origine et de recommencer à zéro. Je suis toujours as well as disposé à arranger les choses qu’à les jeter. Cependant, je vois souvent des cas où 2 millions de bucks sont dépensés pour moderniser une software alors qu’un nouveau développement internet aurait coûté 1 million de pounds.

Les ingénieurs logiciels comprennent généralement qu’il est souvent moreover facile et moins coûteux de construire quelque selected à partir de zéro plutôt que de refactoriser et de recoder un système existant qui doit d’abord être complètement compris avant de pouvoir être modifié pour le mieux. Il est scarce que les équipes qui ont développé l’application à l’origine fassent toujours partie du staff. La base de connaissances est incomplète ou inexistante. L’application a été modifiée tant de fois au fil des ans que personne ne comprend pleinement sa portée complète telle qu’elle existe aujourd’hui.

Deuxièmement, ceux qui modernisent les apps passent par une longue liste de contrôle de modernisation des programs des choses qui doivent être faites. Dans de nombreux cas, ils font tout ce qui est sur la liste, quel que soit le besoin réel. Cela signifie la conteneurisation, l’activation des microservices, la migration vers une foundation de données as well as moderne, la portabilité et la mobilité. Ces fonctionnalités sont considérées comme nécessaires vehicle elles figurent sur la liste. Pourquoi si peu de gens remettent en problem la liste ?

Dans la plupart des cas, il n’est pas rentable de forcer tout sur les listes de contrôle de modernisation des purposes. Même la conteneurisation, qui présente de nombreux avantages, n’est pas adaptée à toutes les applications. Il y a un coût pour les architectures basées sur des conteneurs et la technologie habilitante, comme c’est le cas avec les microservices et même la migration vers le cloud.

Je ne dis pas que ces fonctionnalités ne sont pas des investissements solides lorsqu’elles sont basées sur les besoins de l’application. Je dis que dans certains cas, ils sont exagérés et n’ajoutent pas vraiment de valeur à l’objectif industrial global. Encore une fois, ne vous demandez pas si vous pouvez, demandez si vous devriez.

Copyright © 2022 IDG Communications, Inc.