¿Cuándo contratar una agencia de software frente a un desarrollador para tu software?
En algún momento, toda empresa se topa con el mismo muro. Las hojas de cálculo ya no funcionan. El SaaS estándar no se ajusta del todo. Necesitas algo hecho a medida. Y la primera pregunta es siempre la misma: ¿contratamos a un desarrollador o a una agencia?
La mayoría de los consejos sobre este tema provienen de agencias que buscan vender sus servicios o de desarrolladores freelance que promocionan su trabajo. Así que ten todo esto (incluido este texto) en cuenta.
Lo que puedo ofrecer son 8 años observando a empresas tomar esta decisión, a veces correctamente y a veces no. He visto empresas contratar a un desarrollador cuando deberían haber contratado a una agencia. He visto lo contrario. Y he visto empresas hacer ambas cosas en diferentes etapas y obtener excelentes resultados de cada una. La respuesta correcta depende de lo que realmente estés construyendo, de la rapidez con la que lo necesites y de lo que ocurra después de su lanzamiento.
El desarrollador a tiempo completo
Contratar a un desarrollador significa incorporar a alguien a tu equipo. Aprenderá tu negocio, tus datos, tus procesos. Con el tiempo, se convertirá en la persona que sabe cómo funciona todo.
Un buen desarrollador que pueda construir herramientas internas y software empresarial gana entre $85K y $140K. Si añades beneficios, equipo, costes de contratación y tiempo de gestión, estás hablando de un coste anual total de entre $110K y $180K. Y eso es antes de que haya construido nada.
El período de adaptación es un tiempo que la gente a menudo olvida incluir en los presupuestos. Cuando un nuevo desarrollador comienza, suele pasar los primeros 2 a 4 meses conociendo tu negocio, tus sistemas y tus datos. Aunque está trabajando y aprendiendo durante este tiempo, en realidad no está construyendo la herramienta para la que lo contrataste.
Una empresa de logística que conozco contrató a un desarrollador para construir un sistema de seguimiento de pedidos. Al desarrollador le llevó dos meses entender cómo se conectaban sus procesos de cotización, envío y facturación antes de poder diseñar algo. La herramienta funcionó cuando se lanzó, pero la empresa esperó cuatro meses desde la fecha de contratación hasta tener el software funcionando.
La otra cuestión es que un solo desarrollador es un único punto de fallo. Si se va, todo lo que construyó se va con él (en su cabeza, al menos). Capacitar a la siguiente persona llevará meses. Si se enferma durante dos semanas en una fase crucial, el proyecto se estancará.
Contratar a un desarrollador a tiempo completo tiene sentido cuando
Tienes necesidades de software continuas que mantendrán a alguien ocupado 40 horas a la semana, todas las semanas, durante al menos un año. Estás construyendo un producto que requiere desarrollo continuo. No una herramienta de una sola vez. Estás dispuesto a invertir de 3 a 5 meses antes de ver resultados reales. Y tienes a alguien en tu equipo que puede gestionar a un desarrollador, revisar su trabajo y tomar decisiones técnicas. Este último punto importa más de lo que la gente cree.
Si nadie en tu empresa puede evaluar si el desarrollador está tomando buenas decisiones arquitectónicas, no sabrás que hay un problema hasta que el software falle bajo un uso real.
La agencia
Una agencia te proporciona un equipo por un período fijo. El proyecto se define, se construye y se entrega. Luego, el compromiso termina (o pasa a mantenimiento).
La estructura de costes es completamente diferente. Estás pagando por un resultado, no por un salario. La mayoría de los proyectos de herramientas internas en nuestra agencia oscilan entre $8K y $50K, entregados en 4 a 8 semanas. Sin beneficios. Sin tarifas de contratación. Sin meses de adaptación.
Una agencia también aporta una experiencia que no puedes obtener de una sola contratación. Hemos construido más de 50 herramientas internas en logística, venta al por mayor, servicios de campo, educación y una docena de otras industrias. Cuando un distribuidor mayorista nos dice que necesita rastrear el inventario en tres almacenes con diferentes formatos de SKU, ya hemos resuelto ese problema antes. Un nuevo empleado no lo ha hecho. Lo resolverá eventualmente, pero estás pagando por su curva de aprendizaje.
La desventaja es que una agencia se va. Lo construimos, lo entregamos y, a menos que tengas un contrato de mantenimiento, pasamos al siguiente proyecto. No tienes a alguien sentado en tu oficina que pueda arreglar un error en 20 minutos. Tienes un equipo que está disponible durante el horario comercial, responde en un día y maneja los cambios de forma programada.
Una agencia tiene sentido cuando
Tienes un proyecto específico con un alcance claro. Construir esta herramienta. Conectar estos sistemas. Automatizar este proceso. Lo necesitas hecho en semanas, no en meses. No quieres gestionar a un desarrollador ni tomar decisiones técnicas. Y no tienes 40 horas a la semana de trabajo de desarrollo continuo para justificar un salario a tiempo completo.
Comparando un empleado y una agencia
Sobre el papel, el desarrollador parece más barato.
“$140K al año dividido por 2,000 horas son $70 por hora, y la agencia cobra $150 por hora, así que el desarrollador es la mitad de precio.” Esa matemática es incorrecta por tres razones.
Primero, un desarrollador no es productivo durante 2,000 horas al año. Entre la adaptación, las reuniones, el cambio de contexto y las vacaciones, obtendrás quizás entre 1,200 y 1,400 horas de tiempo de desarrollo real en el primer año. Probablemente entre 1,500 y 1,600 en el segundo año.
Segundo, la agencia no te factura 2,000 horas. Un proyecto de $30K podría llevar entre 200 y 300 horas de tiempo de agencia. Pagas por el proyecto, no por un año de la vida de alguien.
Tercero, y esto es lo que la gente pasa por alto por completo: ¿cuál es el coste de esperar?
Si una agencia entrega en 6 semanas y un desarrollador entrega en 5 meses (incluyendo la adaptación), eso es aproximadamente 3 meses de diferencia. Tres meses en los que tu equipo sigue haciendo las cosas manualmente. Sigue cometiendo errores y sigue pasando las tardes de los viernes conciliando datos en hojas de cálculo.
Para una empresa de 30 personas, esos procesos manuales cuestan fácilmente entre $3K y $8K al mes en mano de obra desperdiciada. Tres meses adicionales de eso son entre $9K y $24K. Añade eso al salario del desarrollador, y el cálculo se ve muy diferente.
El enfoque híbrido
Contrata a una agencia para construir la versión uno. Lánzala en 6 semanas. Empieza a usarla. Descubre lo que realmente necesitas frente a lo que creías que necesitabas (siempre es diferente). Luego, seis meses después, cuando tengas solicitudes de funciones continuas y suficiente trabajo de desarrollo para justificarlo, contrata a un desarrollador para mantener y extender lo que se construyó.
El desarrollador comienza con un sistema funcionando en lugar de un lienzo en blanco. Tiene una base de código para estudiar. Tiene usuarios que pueden decirle qué funciona y qué no. Su adaptación es la mitad de larga porque las decisiones difíciles ya se han tomado.
Una empresa educativa con la que trabajamos hizo exactamente esto. Construimos su herramienta de coordinación estudiantil en cinco semanas. La usaron durante ocho meses. Luego contrataron a un desarrollador a tiempo parcial para añadir funciones e integraciones a medida que surgían las necesidades. Ese desarrollador fue productivo en su segunda semana porque el sistema ya estaba documentado y funcionando. Compara eso con un desarrollador que empieza desde cero, y la diferencia es de meses. Puedes ver más sobre ese proyecto en nuestros casos de estudio.
Preguntas que debes hacerte
¿Tengo un proyecto específico o necesidades de desarrollo continuas?
Si puedes describir exactamente lo que necesitas construir y tiene un punto final claro, contrata a una agencia. Si estás pensando: “Necesitamos a alguien que construya cosas para nosotros indefinidamente”, contrata a un desarrollador.
¿Qué tan rápido lo necesito?
Si la respuesta es “ayer”, una agencia gana siempre. La contratación de un desarrollador lleva de 4 a 8 semanas de reclutamiento, y luego meses de adaptación. Una agencia puede empezar la próxima semana.
¿Alguien de mi equipo puede gestionar a un desarrollador?
Si nadie en tu empresa puede evaluar código, tomar decisiones de arquitectura o priorizar un backlog técnico, un desarrollador solo tendrá dificultades. Necesitan a alguien a quien reportar que entienda lo que están haciendo. Una agencia se gestiona a sí misma.
¿Cuál es mi presupuesto?
Un desarrollador tiene un coste mensual fijo, ya sea que esté construyendo o inactivo. Una agencia es un coste único por proyecto. Si tienes un presupuesto de $30K para una herramienta específica, contrata a una agencia. Si tienes $120K asignados anualmente y siempre tendrás trabajo que hacer, un desarrollador podría tener más sentido.
¿Qué sucede después de que se construye la herramienta?
Si necesitas a alguien para mantener, extender y dar soporte a tiempo completo, un desarrollador te lo proporciona. Si necesitas actualizaciones ocasionales y correcciones de errores, un contrato de mantenimiento con una agencia es más barato y sencillo.
Las razones equivocadas para elegir cualquiera de los dos
No contrates a un desarrollador pensando que será más barato a largo plazo sin hacer los cálculos. Para la mayoría de las PYMES con ingresos de $3M a $30M, una herramienta personalizada es un proyecto, no una función permanente. No necesitas un desarrollador a tiempo completo más de lo que necesitas un electricista a tiempo completo.
No contrates a una agencia porque le tienes miedo al compromiso. Si realmente tienes un año de trabajo de desarrollo en fila, una agencia haciéndolo proyecto por proyecto costará más que una buena contratación a tiempo completo.
No contrates a ninguno de los dos hasta que puedas describir claramente el problema que estás resolviendo.