Cómo elegir un partner para migrar tu frontend
Un partner de migración trabaja dentro de tu producto durante meses. Elegir bien importa más que elegir barato. Estas son las preguntas, las señales de alerta y los contenidos de propuesta que debes buscar.
Una nota sobre mi sesgo
Yo vivo de este trabajo, así que lee esta guía con eso en mente. Los criterios de abajo aplican a mí tanto como a cualquier otra persona con la que hables. Úsalos con cada candidato, incluido un equipo interno que ofrezca hacer la migración por su cuenta.
Define primero qué necesitas
Hay tres modelos comunes:
- Solo equipo interno. Funciona cuando tus desarrolladores conocen bien el framework de destino y pueden salir del trabajo de funcionalidades.
- El partner entrega y el equipo revisa. Es el inicio más rápido. Es riesgoso si nadie adentro aprende el código nuevo.
- Equipo mixto. El partner define el enfoque y los patrones, y tus desarrolladores migran a su lado. Es más lento al principio, y el conocimiento se queda contigo.
Ten claro cuál quieres antes de pedir propuestas. Eso cambia cómo se ve una buena propuesta.
Preguntas que debes hacer
Sobre el enfoque
- ¿Cómo decides entre reescritura, migración incremental y microfrontends? Pide el razonamiento para tu caso.
- ¿Qué haces antes de entregar una estimación?
- ¿Cómo siguen trabajando los usuarios mientras se mueven las pantallas?
- ¿Cómo reviertes una pantalla migrada que falla?
- ¿Qué pasa con nuestro roadmap de funcionalidades durante la migración?
Sobre la experiencia
- ¿Qué migraciones de este tipo hiciste, y cuál fue tu rol en ellas?
- ¿Qué salió mal en alguna, y qué cambiaste después?
- ¿Puedo hablar con una persona técnica de un cliente anterior?
- ¿Quién va a escribir el código exactamente? ¿Voy a conocer a esas personas antes de firmar?
Sobre el servicio
- ¿Cómo se divide el trabajo en fases, y podemos detenernos después de cualquiera?
- ¿Qué necesitas de nuestro equipo, en horas por semana y en roles?
- ¿Cómo reportas el avance, y qué cuenta como terminado?
- ¿Cómo van a aprender nuestros desarrolladores el código nuevo?
- ¿De quién son el código y las herramientas que traes?
Un candidato que responde la segunda pregunta de experiencia con una historia real suele ser más confiable que uno que dice que nunca le salió nada mal.
Señales de alerta
- Precio fijo por toda la migración antes de leer el código. Ese precio trae un margen grande o una disputa futura.
- Reescritura propuesta por defecto. Es fácil de vender y difícil de entregar en cualquier app que no sea pequeña.
- Un rediseño incluido dentro de la migración. Duplica el alcance y esconde el avance.
- Ningún plan para borrar el código legacy. Terminas con dos frameworks por años.
- Gente senior en las reuniones de venta y desconocidos en la entrega.
- Una herramienta de conversión automática presentada como la solución completa. Las herramientas ayudan con lo mecánico. Las reglas de negocio, los widgets y las pruebas siguen necesitando personas.
- Ninguna pregunta sobre tus pruebas, tu proceso de publicación o tu equipo. Eso define el resultado más que el framework.
Qué contiene una buena propuesta
| Sección | Qué buscar |
|---|---|
| Comprensión de la app | Evidencia de que alguien miró el código o hizo preguntas detalladas |
| Enfoque | El camino elegido y por qué se descartaron las alternativas |
| Diagnóstico | Un primer paso corto, con resultado definido y precio propio |
| Fases | Alcance, resultado y criterios de salida de cada fase |
| Estimación | Un precio o un rango por fase, con los supuestos por escrito |
| Tu parte | Roles y horas que se esperan de tu equipo |
| Manejo de riesgos | Método de rollback, enfoque de pruebas, incógnitas conocidas |
| Transferencia de conocimiento | Trabajo en pareja, documentación y revisión de código con tus desarrolladores |
| Salida | Qué conservas si te detienes después de cualquier fase |
Si la propuesta se salta el diagnóstico y va directo a un total, pregunta por qué. Las razones están en la guía de costos de migración.
Cómo comparar candidatos
- Compara los diagnósticos. Un diagnóstico pagado a dos candidatos cuesta poco frente a la migración y muestra cómo piensa cada uno.
- Verifica las referencias con preguntas concretas. Pregunta qué se entregó tarde, cómo se comunicaron las sorpresas y si el equipo pudo mantener el resultado.
- Lee una muestra de su código. Una pantalla migrada en el piloto dice más que cualquier presentación.
- Mira cómo manejan el "no". Un partner que te dice que una parte de la app conviene dejarla como está, o que no lo necesitas para cierta parte del trabajo, está mostrando criterio.
Protégete de la dependencia
El objetivo de una migración es un código que tu propio equipo pueda operar. Pide trabajo en pareja desde la primera fase, exige revisión de código por parte de tus desarrolladores y requiere que los patrones queden escritos. La lista de riesgos de migración incluye la dependencia de personas clave, y un partner externo puede convertirse justo en eso.
Si quieres ver cómo estructuro yo este trabajo, la página del servicio de migración de AngularJS lo describe. Aplícale las mismas preguntas.
Más en esta sección
- Riesgos de una migración de frontend y cómo reducirlos
- El patrón strangler fig aplicado a frontends
- Feature flags y cambios de ruta en una migración incremental
- Salir de AngularJS: ¿Angular o React?
¿Planeas una migración o una plataforma de microfrontends?
En una llamada de 20 minutos me cuentas tu situación y te digo cómo la abordaría. Si todavía no vale la pena, también te lo digo.
Escríbeme por LinkedIn