Preguntas que debes hacer antes de contratar un proveedor tecnológico
Las preguntas que revelan cómo trabaja realmente un proveedor, más allá de la propuesta comercial y el precio.
Leer artículo →Medidas prácticas para reducir el vendor lock-in desde el inicio de un proyecto: acceso al código, documentación, cuentas cloud a nombre del cliente y transferencia de conocimiento.
Contratar a un proveedor tecnológico para que desarrolle una aplicación tiene un riesgo que pocas empresas consideran al inicio y que muchas lamentan no haber considerado cuando ya es tarde: la dependencia. Si el proveedor es el único que entiende cómo funciona el sistema, el único que tiene las claves de acceso y el único que puede modificarlo, la empresa no contrató un desarrollo: contrató una suscripción indefinida.
El término que se usa en la industria es vendor lock-in —literalmente, encierro con el proveedor— y describe la situación en la que cambiar de proveedor es tan costoso, lento o riesgoso que la empresa prefiere quedarse donde está, incluso si el servicio es malo, el precio subió o el proveedor perdió capacidad de respuesta. Es una trampa que rara vez se tiende con mala intención, pero que se construye con pequeñas decisiones durante el proyecto: la cuenta del servidor quedó a nombre del proveedor, el código no está documentado, el conocimiento de cómo funciona todo se fue con el desarrollador que renunció.
Este artículo describe medidas concretas para reducir esa dependencia desde el primer día del proyecto. No eliminan por completo la necesidad del proveedor —ninguna medida lo hace—, pero garantizan que la empresa pueda tomar decisiones sobre su propio software sin que el proveedor sea un punto único de falla.
El código fuente es el activo más importante de cualquier desarrollo de software. Sin él, la aplicación es una caja negra que solo el proveedor puede abrir. Si la relación con el proveedor termina —por el motivo que sea— y la empresa no tiene acceso al código, no tiene forma de que otro equipo continúe el desarrollo o haga una modificación menor.
El acceso al código fuente no debería ser un entregable al final del proyecto, sino una condición desde el inicio. Implica:
Que el proveedor te dé acceso al repositorio no significa que seas dueño del código. La propiedad debe estar explicitada en el contrato. Si el contrato no lo dice, la propiedad intelectual puede quedar en un limbo legal que, en caso de disputa, favorece al proveedor.
Una aplicación moderna depende de múltiples servicios en la nube: el hosting, la base de datos, el almacenamiento de archivos, el envío de correos, el monitoreo, las copias de seguridad. Si todas esas cuentas están a nombre del proveedor, la empresa no puede gestionarlas, no recibe las notificaciones de facturación o incidentes, y en caso de ruptura de la relación, migrar los servicios es un proceso que depende enteramente de la voluntad del proveedor.
La práctica recomendada es:
Esto aplica también a servicios más pequeños: el proveedor de correo transaccional, la API de pagos, la herramienta de mapas, el servicio de notificaciones push. Cada uno de esos servicios es una dependencia, y si la cuenta está a nombre del proveedor, también lo es la posibilidad de gestionarla.
La documentación de un proyecto de software suele ser la primera víctima de los plazos ajustados. Se promete para después del lanzamiento, y después del lanzamiento siempre hay algo más urgente. El resultado es que el conocimiento sobre cómo funciona el sistema queda distribuido en la memoria de las personas que lo construyeron. Si esas personas se van, el conocimiento se va con ellas.
Una documentación mínima pero suficiente debería incluir:
Una forma práctica de verificar si la documentación es suficiente: ¿podría un desarrollador competente que nunca trabajó en este proyecto desplegar la aplicación en un servidor nuevo usando solo la documentación, sin consultar al equipo original? Si la respuesta es no —y casi siempre lo es al principio—, la documentación tiene una brecha que conviene cerrar.
El conocimiento sobre el sistema no solo tiene que estar documentado: también tiene que estar en la cabeza de alguien de la empresa. No necesariamente un desarrollador —puede ser un responsable de proyecto, un líder técnico interno o incluso un usuario avanzado—, pero alguien que entienda lo suficiente como para:
La transferencia de conocimiento no ocurre sola. Requiere que el proveedor dedique tiempo a explicar, que la empresa designe a alguien para recibir esa explicación, y que esa persona tenga el espacio para hacer preguntas y entender antes de que el proyecto termine. Si la transferencia se posterga para el final del proyecto, es probable que no ocurra, porque el final del proyecto es el momento de mayor presión para ambas partes.
Gran parte de la dependencia tecnológica no es técnica: es contractual. Las condiciones del contrato pueden facilitar o bloquear la posibilidad de que otro equipo tome el proyecto.
Algunas cláusulas que conviene revisar o incluir:
Parte del vendor lock-in es técnico y se construye con las decisiones de arquitectura durante el desarrollo:
Estas decisiones no son solo técnicas: son estratégicas. Definen el grado de independencia que la empresa va a tener durante los próximos años, y se toman en las primeras semanas del proyecto. Una vez que la aplicación está construida sobre una base propietaria, cambiar de rumbo es caro y lento.
No hace falta esperar a que la relación con el proveedor se deteriore para evaluar si la dependencia es excesiva. Algunas señales que indican que la empresa ya está en una situación de vendor lock-in:
Si dos o más de estas señales están presentes, la dependencia ya está instalada. Las medidas de este artículo pueden aplicarse en cualquier momento, pero cuanto más tiempo pase, más costoso va a ser implementarlas.
Reducir la dependencia de un proveedor no significa eliminarlo por completo ni desconfiar de él. Un buen proveedor tecnológico aporta valor real: conocimiento técnico, experiencia en proyectos similares, capacidad de ejecución que la empresa no tiene internamente. La independencia significa poder elegir seguir trabajando con ese proveedor porque conviene, no porque no queda otra opción.
Las medidas de este artículo no buscan convertir al cliente en un experto técnico ni reemplazar al proveedor por documentación. Buscan garantizar que, si las circunstancias cambian —el proveedor sube los precios, pierde al equipo que conocía el proyecto, cambia su foco de negocio—, la empresa pueda tomar una decisión sin que el costo de esa decisión sea inasumible.
Y eso se construye, como casi todo en tecnología, desde el primer día del proyecto. No cuando el proveedor avisó que en dos semanas deja de dar soporte. No cuando la factura mensual se triplicó y el contrato no dice nada que lo impida. No cuando el único desarrollador que entendía el sistema renunció y se llevó las contraseñas en su máquina personal.
Si tu empresa ya tiene un proveedor tecnológico y querés evaluar el nivel de dependencia, estas tres acciones se pueden hacer esta semana:
Si todavía estás en la etapa de evaluar proveedores, el artículo sobre preguntas que debes hacer antes de contratar un proveedor tecnológico incluye un checklist que cubre varios de los puntos tratados aquí. Y si estás decidiendo entre desarrollar a medida o comprar una solución estándar, revisá software a medida versus software estándar, donde se analiza cómo cada opción afecta la dependencia del proveedor a largo plazo.
Más herramientas de evaluación en la categoría de proveedores tecnológicos.
¿Quieres evaluar cómo aplicar esto a tu proyecto?
Cuéntanos tu caso →