Después de haber estado a ambos lados de la cerca, puedo confirmar que no es difícil obtener transparencia; estar al tanto de lo que está sucediendo está bien con cualquier agencia decente; entrometerse con su código y las prácticas de desarrollo podrían no estarlo. Aún así, si indica sus preferencias claramente por adelantado, también puede opinar sobre el enfoque de desarrollo. En general, si usted es un desarrollador web con experiencia, el proceso de subcontratación de “caja blanca” puede funcionar bastante bien; esa es, de hecho, la mejor manera de externalizar, tener un miembro del equipo experimentado que absorba todo el conocimiento y verifique lo que ofrece el socio.
Aquí hay algunos consejos sobre cómo hacer que esto funcione:
– Use su propio repositorio de control de fuente
Sin embargo, debe asegurarse de que siempre esté funcionando y funcionando bien. Si tiene tiempo de inactividad u otros problemas, esto molestará al equipo y lo usarán como una excusa para llegar tarde (llegarán tarde de todos modos, pero si no tienen una excusa, se esforzarán más)
- ¿Por qué Yahoo! ¿El CEO Scott Thompson miente sobre tener un título en ciencias de la computación?
- ¿Vale la pena emigrar a Suecia o Noruega como desarrollador de software?
- Si se eliminara todo el software del mundo, ¿qué cambios haría al reconstruirlo?
- ¿Cuál es el lenguaje de programación preferido para desarrollar software para dispositivos?
- ¿Con qué frecuencia se utilizan las pruebas basadas en propiedades (a la QuickCheck) para desarrollar productos reales?
– Hacer revisiones regulares de código
Pero, y un importante pero – ¡ten cuidado! La revisión de código es un proceso delicado incluso si lo hace en su propio equipo, en todos los equipos es aún más sensible ya que los desarrolladores no le informan, para ellos usted es un extraño. No te metas en guerras religiosas: solo revisa el código, asegúrate de que lo entiendes y solo habla sobre problemas importantes. Asegúrese de que esté bien comunicado: solicite al gerente que le presente a los desarrolladores y asegúrese personalmente de que estén al tanto.
Es posible que desee imponer sus convenciones de código: es una solicitud razonable, solo comuníquelo por adelantado.
– Sepa de qué está hablando
Cuando digo que tienes que tener experiencia, me refiero a un líder de equipo de decenet experimentado: no esperes que los desarrolladores del otro lado te expliquen cosas que puedes aprender tú mismo. Si desea estar al tanto de lo que está sucediendo, debe conocer la tecnología de adentro hacia afuera o estar preparado para leer mucho. Al equipo se le paga para entregar el código, no para educarlo: tienen todo el derecho de solicitar un pago adicional si hace demasiadas preguntas (especialmente las que no están 100% relacionadas con su implementación particular)
Si no tiene la suficiente experiencia, no puede esperar tener todos los conocimientos cruciales sobre la implementación del producto en la empresa. Si este es el caso, es mejor que contrate a un líder de equipo para realizar un seguimiento del equipo offshore.
Trabajar así ha sido una de mis mejores experiencias de outsourcing como agencia de outsourcing, y como cliente siempre he insistido en trabajar así. Cualquier agencia de outsourcing respetuosa debería aceptar trabajar con este enfoque; si no lo hacen, podría ser una luz roja. Después de todo, realmente depende de sus objetivos: si desea un código barato que funcione principalmente, tendrá que aceptar lo que sea que entreguen, si desea la misma calidad que tendría en la costa, esté preparado para pagar no mucho menos.
Por supuesto, a las agencias de outsourcing les gusta ganar su confianza con sus mejores personas y luego cambiar gradualmente a otras personas del grupo, ya que las mejores se necesitan en otros lugares. Ese es un proceso natural y no tiene por qué significar fatalidad para su proyecto: el trabajo se vuelve más rutinario a medida que avanza la línea, y sus desarrolladores experimentados aún están presentes cuando los juniors no pueden resolver algo.