¿Cómo puedo externalizar el desarrollo web sin sacrificar el proceso de aprendizaje?

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)

– 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.

Hacemos un poco de outsourcing compensando nuestro desarrollo a otros desarrolladores offshore. Todos nuestros ingenieros remotos están en Ucrania y Rusia.

Aquí hay algunas cosas que hacemos:

1. Dirija el equipo usted mismo o contrate a un técnico que pueda revisar el código y la arquitectura.
2. Dicte el proceso de desarrollo como mejor le parezca. Seguimos el scrum ágil, donde básicamente de principio a fin están en un ciclo semanal. Anotamos todo nuestro proceso interno; hasta los horarios de las reuniones y que el equipo offshore lo acepte durante el proceso del contrato. Por lo general, están abiertos a ello.
3. Obtenga un sistema de seguimiento de errores / WIKI para rastrear todo. Usamos Fogbugz que rastrea tareas, tiene un WIKI y un repositorio de código integrado para que las tareas estén directamente vinculadas a las confirmaciones de código. Cada mañana, cada líder técnico del proyecto revisará / comentará el código comprometido y lo enviará al repositorio principal.
4. Tenga un Stand-up remoto diario a través de Skype
5. El idioma puede ser una barrera, pero puedes hacer una combinación de chat / conversación en Skype. Si le resulta difícil obtener una respuesta, publique su pregunta en el chat y haga que respondan. Tienes que ser paciente aquí. Hemos descubierto que muchos ingenieros offshore no harán preguntas ni dirán cosas, sin embargo, si logran que respondan explícitamente una pregunta escrita en el chat o por correo electrónico / WIKI, generalmente responderán.
6. Hacer montones y montones de prototipos para las especificaciones (usamos axure). Encontramos que los prototipos son muy útiles para las especificaciones escritas. También hacemos un diseño de código de alto nivel y escribimos detalles de implementación en el WIKI para que todos puedan comentar.
7. La clave será entrevistar al ingeniero real que trabajará en su proyecto. Por cada 10 ingenieros que entrevistamos dentro de la misma compañía contratamos a uno. Así que no dudes en pedir varios candidatos. Esto requiere una gran cantidad de trabajo al principio, pero realmente funciona si encuentra un gran candidato.
8. También alentamos al equipo offshore a comentar libremente sobre nuestras especificaciones, procesos y arquitectura, y les alentamos a hacer sugerencias y hemos aprendido mucho.
9. Asegúrese de que su proceso esté abierto. Compartimos casi todo en el WIKI con cada miembro del equipo.
10. Obtenga los contratos / NDA, etc. antes de comenzar.

Trabajamos con un par de agencias en Ucrania y hemos estado trabajando durante 5 años. No dude en enviarme un correo electrónico sin conexión a niraj AT entechsolutions.com si desea la referencia. Tenemos 6 líderes técnicos a nivel local y alrededor de 10 equipos offshore. Liderar o asignar el desarrollador principal aquí en EE. UU. Nos ha ayudado mucho. Esencialmente, usted nomina a un líder tecnológico aquí y luego agrega miembros del equipo en la ubicación en alta mar.
Básicamente, usted negocia una tarifa mensual por recurso y solo se dedican a su proyecto.

Una parte del modelo de negocio de las agencias de outsourcing es ganar dinero con la producción de ‘personas con conocimiento’. Comprenda esa premisa y actúe en consecuencia:

Si desea aprender y hacer algunas cosas , entonces está buscando dos servicios diferentes, que tendrá que pagar.

Póngase en contacto con algunos desarrolladores web y trabaje directamente con ellos sin un propietario de agencia que quiera ganar dinero con el desarrollador web vendiendo su producción mientras lo protege del conocimiento real.

Al trabajar directamente con el desarrollador web, aprenderá cómo funciona. Sí, el desarrollador solo puede ser 80-90% tan productivo como cuando trabaja con un intermediario (por ejemplo, gerente de proyecto), pero en el otro 10-20% le enseñará cosas y ese es el segundo servicio que está pagando.

Eso depende principalmente de su enfoque si le dice al equipo contratado que desea tener una parte específica en el proyecto que deberían permitirlo con sus términos de curso, lo que necesita entender es que, como CEO, no es CTO y sí CTO no es un desarrollador, así que solo encuentra una casa de software que trabaje con Agile y esté dispuesta a compartir JIRA contigo, recuerda que ahora eres un líder, no un “crafter” de desarrollo web http://www.leansourcing.it/how-a

Ah No puedes tener tu pastel y comértelo también. No puedes tenerlo en ambos sentidos. Pero en su caso, siempre puede hacer arreglos.

La externalización del desarrollo web, naturalmente, le quitará el proceso de aprendizaje, ya que no podría ser práctico sobre el desarrollo. Dado que le está pagando a un equipo de desarrollo para hacerse cargo de esto, está pagando por la calidad y el trabajo que deben hacer. Menos el aprendizaje.

Pero si subcontrata a una empresa como OneHalf Offshore Business Solutions, podría hacer un acuerdo en el que el proceso de desarrollo pueda ser revelado a usted, la codificación, etc.

Servicios de marketing de desarrollo web

Genial que le gustaría ser parte del proceso de desarrollo y creer en la transparencia entre el desarrollo y la ejecución final. Como desarrollador web, debe tener experiencia técnica y comprender pequeños matices que causen un sonido fuerte. Para que un desarrollador subcontrate un proyecto, exige que la otra parte tenga confianza con la técnica inicial.

Además de los controles regulares, un desarrollador necesita medir el siguiente parámetro para llegar a una conclusión final:

  • Habilidades técnicas.
  • Comprensión técnica
  • Metodologías para llevar a cabo procesos de desarrollo .ie Scrum o ágil
  • Práctico con los últimos SDK y frameworks.
  • Experiencia laboral relevante.

Tenga cuidado de investigar adecuadamente y confirmar sus suposiciones. Una última cosa para recordar es que el outsourcing no es una solución a la ignorancia. ¡Nunca subcontrate nada que no entienda!

Estaremos encantados de responder más consultas !!