Cómo cambiar de proveedor de software
Cerrar con tu proveedor de desarrollo de software es difícil, aunque a veces necesario.
El equipo actual, por muy inadecuado que sea, controla el código, mientras que el nuevo equipo, por muy entusiasta y preparado que esté, no puede tomar el relevo de un día para otro.
Independientemente de lo que te haya llevado a buscar un nuevo proveedor — como entregas de baja calidad, costes excesivos o falta de química interpersonal — tienes una cosa a la que debes prestar atención por encima de todo: tu producto.
En Colibryx hemos asistido a diversas transiciones de proveedores. Hemos visto traspasos que han salido a la perfección, llevando a mejoras en el rendimiento y en la cultura empresarial, pero también hemos oído de otros que fueron auténticos desastres, con retrasos o incluso fallos en la entrega de funcionalidades y productos críticos para el negocio.
Ciertamente, las transiciones de proveedores están llenas de desafíos técnicos, como comprender el acceso a los sistemas y servidores, entender el código existente y tomar decisiones difíciles sobre si eliminar el código existente o corregirlo, pero en el fondo es más un desafío de gestión de personas.
Todo, desde la transmisión del conocimiento y la documentación hasta la protección de tu código, depende de cómo lideres y trates a las personas de ambas empresas.
Aprende de tus errores
La mayoría de los proyectos de software fracasan no por problemas técnicos o de ingeniería, sino por una comunicación deficiente, procesos de desarrollo de software inadecuados, moral baja o financiación insuficiente (al confiar en empresas sin experiencia).
Si la colaboración con el equipo de desarrollo va mal, no culpes a los demás, sino asume la responsabilidad y comprende dónde y cómo salieron mal las cosas.
Puede que no hayas dedicado suficiente tiempo o atención a tus desarrolladores, o que haya habido conflictos que podrías haber gestionado mejor. Puede que hayas cometido errores al comunicar tus expectativas o al confirmar los resultados.
Trata siempre de preguntarte cómo podrían haber ido mejor las cosas, para evitar errores similares en el futuro.
No esperes nada
No esperes que la empresa con la que actualmente colaboras escriba documentación detallada para sus sucesores. Esta es una de las tareas más odiadas por los desarrolladores (si no lo crees, búscalo en Google).
A la pregunta:
Why do programmers hate making documentation? Google presenta más de 40.800.000 respuestas.
A pesar de esto, para evitar problemas adicionales durante la transición, asegúrate de que el equipo antiguo documente todo el conocimiento sobre los procesos y productos y proporcione sus datos de contacto a la nueva empresa para posibles aclaraciones posteriores.
No te pongas en duda
Recuerda siempre que si no estás satisfecho con el equipo actual, probablemente ellos tampoco están satisfechos contigo.
Recuerda que terminar el contrato es la mejor elección para todos los involucrados — y probablemente tu proveedor también lo sabe. No sabotearán tus sistemas ni nada por el estilo; simplemente querrán ser compensados correctamente para poder transmitir el conocimiento.
Al mismo tiempo, si tienes dudas sobre conceder al nuevo proveedor permisos completos en tus sistemas desde el principio, considera asignar funciones restringidas de manera que el acceso de los usuarios se limite solo a los recursos necesarios para realizar el trabajo, reduciendo el riesgo global o el impacto de posibles ciberataques.
Delega al nuevo equipo la gestión de los detalles.
Tu anterior asociación fracasó y probablemente aún no estás listo para confiar en tu nuevo equipo de desarrollo, aunque sea necesario.
Ten en cuenta que tu confianza en los nuevos ingenieros es proporcional a las posibilidades de éxito de tu proyecto de software. Dejar que sean ellos quienes lideren la estrategia de transición contribuirá a establecer una cultura de confianza y transparencia.
Recuerda que están pasando por un proceso de incorporación que puede ser bastante estresante, y tu apoyo siempre es importante; trata de resistir la tentación de ser un maniaco del control. Empieza dando al nuevo equipo de desarrollo plena autonomía en el análisis de lo existente.
En la mayoría de los casos, los recién llegados quedarán conmocionados por lo "horrible" que es el código y podrían sugerir reescribir toda la aplicación (con razón, a menudo es necesario) — deja que expresen su opinión y analízala de la forma más objetiva posible.
Algunos consejos prácticos de Colibryx
"Planifica con precisión el proceso de migración de datos, para minimizar el riesgo de pérdida de información importante." Paolo
"Recuerda, el paso de un proveedor de software a otro puede parecer complicado, pero con la planificación y preparación adecuadas, puede ser una experiencia sin problemas que mejorará tu negocio." Francesco
