Una guía completa sobre Estrategias de Migración de Tecnología: (Parte 1 – Introducción)
Publicado: 2020-12-23Con la nueva tecnología evolucionando todos los días, las viejas tecnologías se están volviendo obsoletas. Se ha vuelto necesario que todas las empresas se mantengan actualizadas para sobrevivir en el mercado actual. Cualquier empresa que proporcione diversos servicios y plataformas a sus usuarios debe estar preparada para hacer frente a las tecnologías de actualización diaria. En esos momentos, la migración entra en escena. Una empresa siempre puede migrar a una nueva y mejor plataforma. Ahora bien, uno podría pensar que ¿qué es la migración? La respuesta es corta y un poco compleja al mismo tiempo. Migración es un término muy simple para los muggles no tecnológicos que significa migrar de un lugar a otro. Pero cuando se trata de magos de la tecnología como nosotros, tiene un significado ligeramente diferente. Entonces, demos el primer paso y entendamos la migración en términos técnicos. Migración significa pasar de la plataforma actual a otra plataforma. En la mayoría de los casos, la migración se realiza a una mejor plataforma porque proporciona un mejor entorno de trabajo y experiencia de usuario. A veces, las preocupaciones de seguridad también pueden conducir a la migración. Hay muchos tipos de migración y estos son algunos de los temas de migración más comentados que quizás desee conocer:
- Migración de Tecnología
- Migración de tecnología front-end
- Migración de tecnología back-end
- Migración de sitio web construido por CMS
- Migración de base de datos
- Migración de Dominios y Servidores de Alojamiento
La migración en términos técnicos es un tema mucho más amplio de lo que puedas imaginar. Es un poco difícil cubrir todos los temas de migración y sus tipos en un solo blog. Por lo tanto, este tema se divide en diferentes partes, explicando la importancia de la migración junto con sus tipos. Puedes leerlos en los próximos blogs.
La migración es una tarea crucial y si preguntas como cuándo migrar, cómo migrar, definir el alcance de la migración, etc. le preocupan, puede seguir leyendo este blog para despejarse.
¿Por qué es necesaria la migración?
- Cuando su tecnología actual en la que trabajó durante tanto tiempo ya no puede cumplir con las expectativas de los requisitos de su negocio.
- Cuando la tecnología se vuelve obsoleta y el soporte del proveedor tampoco está disponible para la versión obsoleta.
- Cuando sus clientes son importantes para usted y necesita estar en la cima de su campo.
- Cuando ya no desea el enorme costo de licencia de la pila actual cambiando a una plataforma de código abierto.

En ese momento, Migración será tu mejor opción. La migración es un proceso complejo y requiere mucha planificación.
El primer paso hacia el proceso de migración es que debe establecer algunas definiciones y reglas básicas que puedan llevar a cabo el proceso de migración sin problemas. Dependiendo del requerimiento del proyecto:
- Primero, debe analizar el estado actual de su proyecto o aplicación que debe migrarse.
- Prepararás una hoja de ruta de riesgos calculados y posibles soluciones que pueden ocurrir durante la migración.
- Debe seleccionar una tecnología adecuada que cumpla con todos los requisitos del proyecto.
- A continuación, necesitará un plan adecuado para ejecutar el proceso de migración.
- Por último, cuando se complete el proceso de migración, verifique si la aplicación funciona como se esperaba en la nueva plataforma o no.

Hay algunos puntos que debe tener en cuenta antes de continuar con la fase de planificación de la migración.
- Decida un presupuesto y un cronograma del proyecto antes de la fase de planificación de la migración según el problema empresarial.
- Decida un modelo de trabajo como establecer cargos por hora o cargos semanales para cualquier cliente nuevo que quiera migrar de cualquier sistema existente al nuevo. Hay varias áreas grises que discutiremos en la futura serie de blogs y solo se pueden encontrar cuando un nuevo equipo de desarrollo comienza su trabajo. La migración no se puede tratar con un trabajo de estimación fija para ningún equipo nuevo.
- Si el cliente no es una persona técnica, siempre se recomienda que tenga un contrato firmado que indique el alcance de la migración antes de la fase de planificación de la migración o el cliente también puede contratar a un gerente de proyecto contractual que pueda servir de enlace con el equipo de desarrollo.
Definir el alcance de la migración
Para cualquier equipo de desarrolladores que trabaje en el proyecto de migración y que desconozca el sistema actual, el cliente debe pasar tiempo con el nuevo equipo para asegurarse de que el equipo comprenda el flujo del sistema. El nuevo equipo debe tomarse el tiempo suficiente para analizar el sistema existente y elaborar un plan de migración. Mientras tanto, el cliente siempre puede plantear cuáles son los problemas comerciales que enfrenta con el sistema actual.
Para definir el alcance de un proyecto, el cliente debe compartir un requisito detallado del proyecto para completar con éxito la migración. Los desarrolladores y el cliente deben estar en sintonía con el plan de migración y debe haber una discusión adecuada sobre todos los aspectos de la migración para protegerlos de todos los problemas futuros.
A veces, puede suceder que el equipo de desarrollo no cree una documentación detallada de la lógica de negocios mapeada en la tecnología de back-end. Si la migración la realiza el mismo equipo, entonces no creará ningún problema importante, pero cuando la migración la realiza un nuevo equipo, la documentación es realmente importante. Por lo tanto, es muy recomendable tener una documentación detallada de la lógica empresarial.

Asegúrese de indicar claramente en su documento de alcance que cualquier tipo de trabajo fuera del alcance original se considerará trabajo adicional y estará sujeto a un cargo adicional que incluye el presupuesto original. Esto le ayudará a prevenir posibles Scope Creeps que puedan ocurrir en el futuro.
¿Cómo atender a los Scope Creeps?
Antes de que entendamos el manejo de Scope Creeps, permítanme hablarles sobre el término Scope Creep y cómo afecta al equipo de desarrollo. Scope Creep es el resultado de cambiar los requisitos técnicos que se están introduciendo en el proyecto sin la extensión en el cronograma o el incremento en el presupuesto del proyecto.

Hay muchas razones que dan como resultado Scope Creeps y algunas de las razones más comunes se enumeran a continuación para evitar estos problemas en la migración de su proyecto.
- La mala comprensión de los requisitos del proyecto es una de las razones más comunes detrás del aumento del alcance que crea problemas para los desarrolladores en las fases posteriores de la migración.
- Evite las trampas, como los comentarios frecuentes del usuario final. No tiene sentido entretener todos los puntos de retroalimentación. Pero no es que no aceptes comentarios en absoluto. Seleccione solo los más repetitivos y llamativos.
- Aceptar todas las solicitudes de cambio puede ayudar a construir una relación positiva al principio, pero terminará en la insatisfacción del cliente con el proyecto. Entonces, antes de aceptar una solicitud de retroalimentación o cambio, solo asegúrese de la prioridad y urgencia de la misma e informe al cliente final sobre el impacto en los esfuerzos.
- Hay innumerables otros factores que impactan el alcance del proyecto que no está bajo su control, como nuevas funciones agregadas a la tecnología existente, cambios económicos en el mercado, emergencias personales, etc., por lo que es mejor prepararse para estas posibilidades.
Ahora que ha entendido el término Scope Creep y conoce las posibles causas que terminan, una cosa está clara: el plan preventivo es la mejor manera posible de evitar cualquier fluencia en el alcance de su proyecto de migración. Independientemente de toda la planificación que haya realizado, no hay forma posible en la que pueda asumir con precisión cada solicitud futura de cambio de función en el requisito de su proyecto. En momentos como este, la documentación para el alcance de la migración puede rescatarlo.
Selección de pila de tecnología
Como desarrollador, hay muchas opciones presentes frente a usted, como MongoDB a MySQL, AngularJS a React, MEAN stack a LAMP stack y servidores de alojamiento en la nube como Amazon AWS a servidores de alojamiento propio como Apache. Estas opciones pueden confundir a cualquiera. Por lo tanto, es responsabilidad del desarrollador seleccionar una pila de tecnología planificada para la migración. También debe estar preparado para cada necesidad futura.
En caso de que desee seleccionar la plataforma de migración y no comprenda claramente los requisitos para la nueva plataforma, existe una opción en la que puede contratar a un arquitecto de soluciones que tenga experiencia y haya trabajado en sistemas complejos. Idealmente, sería una consultoría de terceros para que cualquiera de los clientes pueda contratar al Arquitecto de soluciones por su cuenta o pueda pagarle a la empresa desarrolladora. Esta debe ser una tarea negociada y acordada que debe realizarse antes de planificar la fase de migración.

Debe asegurarse de que las funciones de la nueva plataforma se prueben y prueben. Definitivamente, no querrás ser el primero en enterarse de los inconvenientes y peligros de la nueva plataforma. Debe asegurarse de que todos los datos se conserven de forma segura y que otras características no requieran mucha modificación después de la migración a una nueva plataforma. La migración es un proceso complejo, pero si se realiza correctamente, puede dar un nuevo comienzo a la tecnología antigua y obsoleta.
Asegúrese de verificar si el sistema actual tiene DevOps implementado o no. DevOps ayuda a acortar el ciclo de vida de desarrollo del sistema y proporciona una entrega continua. Si el sistema actual ya está utilizando estas herramientas, puede optar por la versión actualizada o puede continuar con la misma. Siempre se recomienda utilizar algún tipo de herramientas de CI/CD, ya que hace que el proceso de migración sea un poco más fácil y sistemático para los desarrolladores. Además, el equipo de desarrollo debe seguir una estricta revisión de código y un enfoque de inserción de código, por ej. Modelo GitFlow o GitHubFlow.
Una vez que tenga los requisitos del proyecto, el alcance de la migración y la pila de tecnología, puede seleccionar fácilmente un mejor reemplazo para su plataforma. Hay diferentes tipos de migración y antes de seguir adelante, permítanme aclarar una cosa: no todas las migraciones son iguales y cada una de las migraciones requiere una planificación y ejecución adecuadas. La migración y sus tipos son temas mucho más amplios, por lo que hay 3 partes diferentes a continuación de este blog donde puede obtener información detallada sobre cada una de las migraciones. En el próximo blog, vamos a hablar sobre la migración tecnológica con sus tipos. ¡Así que estad atentos!