Outsourcing de código: ¿Cuáles son las ventajas y desventajas de establecer una instalación de desarrollo de software offshore?

Pros:

  • Puedes ahorrar algo de dinero. No es un secreto que algunos países tienen tarifas más bajas por hora que otros. Aunque India es un líder allí, la calidad ofrecida por los países de Europa del Este lo equilibra ( vea por qué es uno de los mejores destinos para externalizar su desarrollo de software ).
  • Puede cambiar su demanda de recursos humanos durante el proyecto. El número de desarrolladores que necesitará para construir su proyecto en un momento específico no es lineal. Es posible que necesite 5 personas para construir MVP, luego una para soportar grandes arreglos cuando verifiquemos su MVP en el mercado, luego 5 nuevamente para pivotar, luego dos para correcciones urgentes y pequeñas mejoras, luego 20 para permitir que escale. Cuando subcontratas el desarrollo de tu producto, no es un problema en absoluto.

  • No solo obtienes el tiempo de las personas sino también su experiencia. Su proyecto no es el primero que respaldan. Saben cuáles son las tendencias actuales, qué tecnologías se están utilizando y cuáles están desapareciendo.
  • No malgastes tu tiempo y recursos en el proceso de reclutamiento. Sabiendo que faltan desarrolladores en el mercado, puede asumir lo difícil que es construir su propio equipo. Debe comunicarse con los desarrolladores, entrevistarlos, verificar sus habilidades. Construir un equipo es un hueso duro de roer.
  • El equipo no necesita tiempo adicional para conocerse y comenzar a trabajar en equipo . Para garantizar la creación de software de alta calidad, necesita mucho más que un grupo de personas talentosas que saben codificar. Para comenzar a trabajar como un equipo real, necesitan conocerse, aprender las fortalezas de los demás y cómo complementarse.
  • Calidad. Debes tener cuidado con eso (lo explicaré en la lista de ‘contras’), pero si eliges la compañía con la que trabajas sabiamente, deberían asegurarte una alta calidad . No es complicado Cuando contrata a 6 desarrolladores, cada uno de ellos es responsable de sí mismo. Si falla, puedes despedirlo y reemplazarlo con otra persona. El resto de ellos se quedan. Pero si contrata a un equipo y no está satisfecho con ese equipo, no los reemplaza uno por uno; deja de trabajar con este equipo. Entonces se sienten responsables el uno del otro y quieren que estés satisfecho con el producto que obtienes.
  • Pila de tecnología. Ya tienen herramientas y han desarrollado su proceso de desarrollo ; el uso de integración continua y despliegue continuo, pruebas automatizadas, requisitos de calidad de código, etc. No tiene que preocuparse por eso y tiene semanas de anticipación desde el principio.

Contras:

  • Calidad. Como escribí antes, debe elegir sabiamente dónde externalizar su desarrollo de TI. El precio nunca debe ser el único factor que considere. Consulte su cartera, solicite ejemplos de código. Hace unos meses, hemos preparado un artículo sobre cómo elegir la mejor empresa de outsourcing para su inicio , espero que encuentre estos consejos útiles.
  • El riesgo de no tener a nadie que conozca el producto a nivel técnico en su propio equipo. Pero, de nuevo, si elige sabiamente a su contratista, esto no debería suceder. Por ejemplo, en Neoteric le damos a nuestros clientes un acceso constante al equipo, al repositorio de código y a las herramientas de gestión de proyectos. También ayudamos a nuestros clientes a construir su propio equipo cuando están listos para ello.
  • La seguridad de los datos de su empresa. Nuevamente: evitará este riesgo cuando elija sabiamente a su contratista y se asegure de qué datos está compartiendo en qué fase. Tener el control sobre el acceso a la información y las herramientas completas durante todo el proceso de producción es la clave para una cooperación efectiva.
  • Comunicación. Esto puede ser complicado cuando trabajas con un equipo muy remoto, una empresa de un continente diferente. Cuando son las 10 de la mañana en San Francisco, ya son más de las 10 de la noche en Nueva Delhi. Puede ser difícil establecer el tiempo de las reuniones, informes o sprints SCRUM. Pero, de nuevo, puede mitigarse eligiendo las empresas con un intervalo de zona horaria no mayor de 8 a 9 horas.

Gracias por vincular ese artículo. Y me reí con fuerza de la metáfora de la gaviota; uno bueno si pudiera agregar.

Para responder a su pregunta, no creo que deba considerar abrir una instalación de desarrollo de software en el extranjero si no es una gran empresa. Cómo una startup puede hacer tal cosa cuando solo hay una cosa en la que debería centrarse: su producto. Sin mencionar la cantidad de dinero que tendrías que gastar mensualmente solo para mantenerlo en funcionamiento.

Entonces, sí, creo que el desarrollo de outsourcing a una agencia de software ya existente es una idea mucho mejor. Incluso si es caro, es mucho más barato que mantener su propia oficina en el extranjero. Existen algunas desventajas al contratar a un desarrollador de terceros, como lo mencionan otras personas en este hilo, como: comunicación más lenta, fraude potencial, falta de ajuste cultural.

Sin embargo, la mayoría de ellos se pueden evitar o controlar. Solo requiere que te prepares para ellos. Como puedes hacer eso? Aquí hay una breve lista de verificación que debería comenzar:

  • Desea una “empresa”, no una fábrica : lo que está buscando depende del alcance de su proyecto. Si eres un emprendedor que quiere construir una nueva empresa, debes encontrar un equipo que pueda prestar el 100% de tu atención a tus necesidades. ¿Por qué? Porque tienen tiempo para comprometerse con su producto no solo a nivel de desarrollo sino también personal. Sientes que estás trabajando con personas reales y no solo con robots que crean el código para ti. Porque el código, como mis otras cosas en la vida, debe crearse con el lema “por personas para las personas” en mente.
  • Revisiones y referencias : sepa con quién está tratando. Clutch es un excelente lugar para comenzar a buscar socios potenciales. Puede aprender un poco sobre ellos y leer los comentarios de sus clientes. También puede consultar sus tarifas y proyectos completados.
  • Pila de tecnología : en un mundo ideal, desea trabajar con empresas que contratan desarrolladores “políglotas”. ¿Quienes son? Estos son ingenieros de software que conocen más de un lenguaje de programación y pueden aprender nuevos rápidamente. ¿Por qué eso importa? Porque cada problema debe abordarse de una manera diferente. Las empresas que usan solo una tecnología abordarán el problema desde la perspectiva de su stack tecnológico, lo que a veces puede conducir a malas decisiones de desarrollo.
  • Habla con los líderes. Hable con la gente : desea saber todo lo que pueda sobre las personas con las que trabajará durante los próximos X meses o años. Obtenga más información sobre los líderes de la compañía. ¿Quienes son? ¿Tienen experiencia en liderar equipos y desarrollar software en general? Hable con todos los involucrados en su proyecto. Conócelos mejor. Busque el ajuste de la personalidad. Recuerde que esas personas se convertirán en parte de su vida durante bastante tiempo.
  • Código abierto : busque los desarrolladores de la compañía de proyectos de código abierto creados. Verifique sus cuentas de GitHub y Bitbucket. Esto le ayuda a definir si esas personas “viven y respiran” el código y el desarrollo de software. También puedes verificar si son creativos o no 😉
  • Culture Fit : ¿son geniales sus nuevos socios tecnológicos? ¿Les gusta lo mismo? Mira la misma serie en Netflix. ¿Te sientes cómodo comunicándote con ellos? Seriamente. Pasarás mucho tiempo con ellos, así que asegúrate de disfrutarlo y no solo de “sobrevivir”, ya que habrá muchos altibajos en el camino.
  • Ubicación : asegúrese de que las zonas horarias no sean un problema. Sin mencionar un buen dominio del inglés y el nivel general de habilidad de los desarrolladores. HackerRank creó una buena clasificación de “Mejores programadores por país”.

Como siempre, sugiero leer Outsource IT; especialmente, si eres nuevo en las ofertas de outsourcing.

Ejecuto codequest; Empresa de creación de empresas con sede en Varsovia. Trabajamos con múltiples tecnologías y entregamos proyectos tanto para web como para dispositivos móviles. Mi correo electrónico: tomek [at] codequest.com. Avísame si podríamos trabajar juntos.