Un guide complet sur les stratégies de migration technologique : (Partie 1 – Introduction)

Publié: 2020-12-23

Les nouvelles technologies évoluant chaque jour, les anciennes technologies deviennent obsolètes. Il est devenu nécessaire pour chaque entreprise de rester à jour pour survivre sur le marché actuel. Toute entreprise qui fournit divers services et plates-formes à ses utilisateurs doit être prête à faire face aux technologies de mise à niveau quotidiennes. Dans ces moments-là, la migration entre en scène. Une entreprise peut toujours migrer vers une nouvelle et meilleure plateforme. Maintenant, on pourrait penser qu'est-ce que la migration ? La réponse est courte et un peu complexe à la fois. La migration est un terme très simple pour les moldus non technologiques, ce qui signifie migrer d'un endroit à un autre. Mais quand il s'agit de magiciens de la technologie comme nous, cela a une signification légèrement différente. Faisons donc le premier pas et comprenons la migration en termes techniques. La migration consiste à passer de la plate-forme actuelle à une autre plate-forme. Dans la plupart des cas, la migration a lieu vers une meilleure plate-forme car elle offre un meilleur environnement de travail et une meilleure expérience utilisateur. Parfois, les problèmes de sécurité peuvent également conduire à la migration. Il existe de nombreux types de migration et voici quelques-uns des sujets de migration les plus discutés que vous voudrez peut-être connaître :

  1. Migration technologique
  2. Migration de la technologie frontale
  3. Migration de la technologie back-end
  4. Migration de site Web construit par CMS
  5. Migration de base de données
  6. Migration de domaine et de serveur d'hébergement

La migration en termes techniques est un sujet beaucoup plus vaste que vous ne pouvez l'imaginer. Il est un peu difficile de couvrir tous les sujets de migration et leurs types dans un seul blog. Par conséquent, ce sujet est divisé en différentes parties, expliquant l'importance de la migration ainsi que ses types. Vous pouvez les lire dans les prochains blogs.

La migration est une tâche cruciale et si des questions telles que quand migrer, comment migrer, définir la portée de la migration, etc. vous dérangent, alors vous voudrez peut-être continuer à lire ce blog pour vous vider l'esprit.

Pourquoi y a-t-il un besoin de migration ?

  • Lorsque votre technologie actuelle sur laquelle vous avez travaillé pendant si longtemps, n'est plus en mesure de répondre aux attentes de vos besoins métiers.
  • Lorsque la technologie devient obsolète et que le support du fournisseur n'est pas non plus disponible pour la version obsolète.
  • Lorsque vos clients sont importants pour vous et que vous devez être au top de votre domaine.
  • Lorsque vous ne voulez plus l'énorme coût de licence de la pile actuelle en passant à une plate-forme open source.
pourquoi-besoin-de-migration

À ce moment-là, la migration sera votre meilleure option. La migration est un processus complexe qui demande beaucoup de planification.

La première étape vers le processus de migration est que vous devez définir une définition et des règles de base qui peuvent mener à bien le processus de migration. Selon les besoins du projet :

  • Tout d'abord, vous devez analyser l'état actuel de votre projet ou application qui doit être migré.
  • Vous préparerez une feuille de route des risques calculés et des solutions possibles pouvant survenir lors de la migration.
  • Vous devez sélectionner une technologie appropriée qui répond à toutes les exigences du projet.
  • Ensuite, vous aurez besoin d'un plan approprié pour exécuter le processus de migration
  • Enfin, lorsque le processus de migration est terminé, vérifiez si l'application fonctionne comme prévu sur la nouvelle plate-forme ou non.
5-étapes-du-processus-de-migration

Il y a quelques points que vous devez garder à l'esprit avant de passer à la phase de planification de la migration.

  • Décidez d'un budget de projet et d'un calendrier avant la phase de planification de la migration en fonction du problème métier.
  • Décidez d'un modèle de travail comme des frais horaires fixes ou des frais hebdomadaires pour tout nouveau client qui souhaite migrer de n'importe quel système existant vers le nouveau. Il existe plusieurs zones grises dont nous discuterons dans la future série de blogs et elles ne peuvent être rencontrées que lorsqu'une nouvelle équipe de développement commence son travail. La migration ne peut pas être traitée avec un travail d'estimation fixe pour toute nouvelle équipe.
  • Si le client est une personne non technique, il est toujours recommandé de signer un contrat indiquant l'étendue de la migration avant la phase de planification de la migration ou le client peut également embaucher un chef de projet contractuel en place qui peut assurer la liaison avec l'équipe de développement.

Définir la portée de la migration

Pour toute équipe de développeurs travaillant sur le projet de migration qui ne connaît pas le système actuel, le client doit passer du temps avec la nouvelle équipe afin de s'assurer que l'équipe comprend le flux du système. La nouvelle équipe doit prendre suffisamment de temps pour analyser le système existant et proposer un plan de migration. En attendant, le client peut toujours soulever les problèmes commerciaux auxquels il est confronté avec le système actuel.

Pour définir la portée d'un projet, le client doit partager une exigence de projet détaillée pour mener à bien la migration. Les développeurs et le client doivent être sur la même page avec le plan de migration et il doit y avoir une discussion appropriée sur tous les aspects de la migration pour les protéger de tous les problèmes futurs.

Parfois, il peut arriver que l'équipe de développement ne crée pas de documentation détaillée de la logique métier mappée dans la technologie backend. Si la migration est effectuée par la même équipe, cela ne créera pas de problème majeur, mais lorsque la migration est effectuée par une nouvelle équipe, la documentation est vraiment importante. Il est donc fortement recommandé d'avoir une documentation détaillée de la logique métier.

Assurez-vous d'indiquer clairement dans votre document d'étendue que tout type de travail en dehors de l'étendue d'origine sera considéré comme un travail supplémentaire et qu'il sera soumis à des frais supplémentaires, y compris le budget d'origine. Cela vous aidera à prévenir d'éventuels Scope Creeps qui pourraient se produire à l'avenir.

Comment répondre aux Scope Creeps ?

Avant de comprendre la gestion de Scope Creeps, laissez-moi vous parler du terme Scope Creep et comment il affecte l'équipe de développement. Scope Creep est le résultat de l'évolution des exigences techniques qui sont introduites dans le projet sans prolongation du calendrier ni augmentation du budget du projet.

fluage portée

Il existe de nombreuses raisons qui entraînent des glissements de portée et certaines des raisons les plus courantes sont répertoriées ci-dessous pour vous permettre d'éviter ces glissements dans la migration de votre projet.

  • L'incompréhension des exigences du projet est l'une des raisons les plus courantes derrière le glissement de portée qui crée des problèmes pour les développeurs dans les phases ultérieures de la migration.
  • Évitez les pièges, tels que les commentaires fréquents de l'utilisateur final. Inutile de divertir tous les points de rétroaction. Mais ce n'est pas comme si vous ne preniez pas de feedback du tout. Ne sélectionnez que les plus répétitives et les plus spectaculaires.
  • Accepter toutes les demandes de changement peut aider à établir une relation positive au début, mais cela se terminera par l'insatisfaction du client à l'égard du projet. Donc, avant d'accepter un commentaire ou une demande de changement, assurez-vous simplement de la priorité et de l'urgence de celui-ci et informez le client final de l'impact sur les efforts.
  • Il existe d'innombrables autres facteurs qui ont un impact sur la portée du projet et qui ne sont pas sous votre contrôle, comme de nouvelles fonctionnalités ajoutées à la technologie existante, des changements économiques sur le marché, des urgences personnelles, etc. Il est donc préférable de se préparer à ces possibilités.

Maintenant que vous avez compris le terme Scope Creep et que vous connaissez les causes possibles qui en résultent, une chose est claire : le plan préventif est le meilleur moyen d'éviter tout fluage dans la portée de votre projet de migration. Indépendamment de toute la planification que vous avez faite, il n'y a aucun moyen d'assumer avec précision chaque future demande de changement de fonctionnalité dans les exigences de votre projet. Dans des moments comme celui-ci, la documentation sur l'étendue de la migration peut vous sauver.

Sélection de la pile technologique

En tant que développeur, de nombreuses options s'offrent à vous, telles que MongoDB vers MySQL, AngularJS vers React, la pile MEAN vers la pile LAMP et des serveurs d'hébergement cloud comme Amazon AWS vers des serveurs auto-hébergés comme Apache. Ces options peuvent dérouter n'importe qui. Il incombe donc au développeur de sélectionner une pile technologique planifiée pour la migration. Vous devez également être préparé à tous les besoins futurs.

Dans le cas où vous souhaitez sélectionner la plate-forme de migration et ne comprenez pas clairement les exigences de la nouvelle plate-forme, il existe une option où vous pouvez embaucher un architecte de solution qui a de l'expérience et a travaillé dans des systèmes complexes. Idéalement, il s'agirait d'un conseil tiers afin que le client puisse embaucher lui-même l'architecte de solutions ou payer à la société de développement. Cela doit être négocié et convenu d'une tâche qui doit être effectuée avant de planifier la phase de migration.

recruter-architecte-solution

Vous devez être sûr que les fonctionnalités de la nouvelle plate-forme ont fait leurs preuves. Certainement, vous ne voulez pas être le premier à connaître les inconvénients et les pièges de la nouvelle plate-forme. Vous devez vous assurer que toutes les données sont conservées en toute sécurité et que les autres fonctionnalités ne nécessitent pas beaucoup de modifications après la migration vers une nouvelle plate-forme. La migration est un processus complexe, mais s'il est effectué correctement, il peut donner un nouveau départ à l'ancienne technologie obsolète.

Assurez-vous de vérifier si le système actuel a DevOps en place ou non. DevOps aide à raccourcir le cycle de vie du développement du système et assure une livraison continue. Si le système actuel utilise déjà ces outils, vous pouvez opter pour la version mise à niveau ou continuer avec la même chose. Il est toujours recommandé d'utiliser une sorte d'outils CI/CD car cela rend le processus de migration un peu facile et systématique pour les développeurs. De plus, l'équipe de développement doit suivre une approche stricte de revue de code et de poussée de code, par exemple. Modèle GitFlow ou GitHubFlow.

Une fois que vous connaissez les exigences du projet, l'étendue de la migration et la pile technologique, vous pouvez facilement sélectionner un meilleur remplacement pour votre plate-forme. Il existe différents types de migration et avant d'aller de l'avant, permettez-moi de préciser une chose : toutes les migrations ne sont pas identiques et chacune des migrations nécessite une planification et une exécution appropriées. La migration et ses types sont des sujets beaucoup plus larges, il y a donc 3 parties différentes dans la suite de ce blog où vous pouvez obtenir des informations détaillées sur chacune des migrations. Dans le prochain blog, nous allons parler de la migration technologique avec ses types. Alors restez à l'écoute!