Comunicación de los requisitos a los equipos offshore

Solo para dar un contexto, hay un equipo extranjero en la India para un cliente en San Francisco. El equipo offshore está formado por 9 desarrolladores y 4 QA, con un gerente de proyecto. Estoy haciendo la coordinación en el sitio para este equipo desde la ubicación del cliente. Cada sprint (iteración de 2 semanas) busco las historias de antemano, las entiendo y doy una visión general durante su tiempo de historia. También aclaro los casos de esquina para ellos, asegurándome de que cada requisito sea claro y que el alcance también esté bien definido. A pesar de esto, hay casos de sorpresas que surgen en el requisito y el alcance (¡mi error, de acuerdo!). También hemos comenzado a enviar maquetas para cada historia de interfaz de usuario. Pero, en cambio, el equipo allí no se esfuerza por generar ideas y comprender el requisito por adelantado, sino que comienzan a hacerlo de inmediato sin una comprensión adecuada.

Al final del sprint (1/2 día antes) hacen las mismas preguntas que se aclararon a través de la maqueta y las que se aclararon durante la hora del cuento y los correos posteriores. Finalmente, si digo que sí, esto se debe hacer, etc., dicen que esto no se aclaró antes. (¿Cómo sé que les aparecerá esta pregunta?)

Obviamente no logran entregar sprint tras sprint. El gerente allí ni siquiera entiende una parte del desarrollo, ya que es un control de calidad y no tiene control del proyecto (lamentablemente, fue ascendido como gerente del mismo equipo, cuando intentó renunciar, lo que sucede a menudo en la empresa de servicios de la India). Y este gerente ni siquiera trata de entender que el desarrollador o el control de calidad no hicieron una planificación adecuada, una lluvia de ideas ni hicieron su esfuerzo extra o pequeño para comprender una característica y sus consecuencias, y directamente llega a la conclusión de que los requisitos no están claros. ¡El gerente tampoco pasa el tiempo adecuado con el equipo y pasa el tiempo saliendo en otro lugar! (raro, rumores!)

También hay una gran escasez de conocimientos técnicos y de productos de desarrollo y control de calidad, respectivamente, y no se están tomando medidas para mejorar esto. En la primera semana escuché que todo está claro, la segunda semana las cosas cambian drásticamente; supongo que es entonces cuando comienzan a funcionar. Cada sprint empeora y solo se intercambian comentarios duros y correos electrónicos. "Los requisitos no están claros" parece ser la salida fácil, y el equipo se acostumbró a decir esto para compensar su incapacidad.

No puedo explicar esto, ya que forman un grupo para tomar esta decisión fácil y rebotan con múltiples correos electrónicos groseros. ¿Qué harías para hacer estas cosas bien? ¿Cuánto de adecuado es claridad adecuada en el requisito? Estoy realmente inseguro de esto. (Los equipos en SFO son bastante claros con la cantidad aún menor de explicación de los requisitos). ¿Cómo puedo corregir esto? ¿Mi conjetura sobre el equipo offshore es correcta? (Disculpe por ser demasiado detallado!)

Para aclarar los comentarios de Michael, es decir, '¿Parece que no tienes contacto con ellos durante todo el sprint?' // De hecho, tengo llamadas de estado diarias en las que dicen cosas como controlador terminado, cambios de modelo terminados, cambios de base de datos terminados, etc. Pero no estoy seguro de una manera de ver esto funcionalmente.
Muchas gracias Michael, Mark y Tiago. Estoy listo para probar estos, y también hablar con mi empleador para tener algún tipo de plan de contingencia para mitigar los retrasos en la entrega.
Menciona sprint/iteración; aclare si está practicando Agile/Scrum. Si es así, ¿ha designado ScrumMaster/Propietario del producto y practica scrum stand-ups diarios... etc.?
Sí, Ashok, practicamos Agile y el equipo offshore también hace lo mismo. El PM del equipo offshore dirige las reuniones de scrum a diario, aunque no es una persona certificada.
ya se ha respondido mucho, y las diferencias culturales + asegurarse de que entiendan es, de hecho, la forma correcta de entender y abordar eso. con respecto a esta pieza en particular en los comentarios: "Tengo llamadas de estado diarias donde dicen cosas como controlador hecho [...]. Pero no estoy seguro de una manera de ver esto funcionalmente". - Supongo que puedes programar demostraciones con más frecuencia que una vez por sprint. eso puede sonar como comer tiempo del trabajo, pero dado que el trabajo no se está haciendo de todos modos... no iría tan lejos como para acortar los sprints a 2 días, así que solo demos 2-3 veces a la semana tan pronto como digan " X hecho".

Respuestas (4)

No hay garantías en este caso, pero esto es lo que intentaría:

  1. O no están entendiendo sus documentos o no están haciendo el trabajo y usando los documentos como chivo expiatorio. Es un poco extremo, pero solicite una reformulación de sus documentos junto con su enfoque anticipado. Obtenga esto para el día siguiente como un precursor para que comiencen a trabajar en el sprint. Esto formalizará la lluvia de ideas que quieres que hagan y, dadas las circunstancias, creo que es un paso necesario.

  2. Haga una evaluación honesta de sus documentos para ver si están escritos con un nivel de inglés apropiado. El desarrollador más inteligente no puede cumplir con las expectativas si los requisitos del lenguaje van más allá de lo razonable. Es mucho más fácil escribir documentos complicados que simples y requiere un esfuerzo continuo.

  3. ¿Parece que no tienes contacto con ellos durante todo el sprint? Si ese es el caso, debe cambiar para que no descubra que las cosas están desviadas 1/2 día antes del final del sprint. Necesita un compromiso diario documentado sobre su progreso y problemas.

  4. Dado el nivel de insatisfacción que tiene con sus habilidades técnicas y de comunicación, no parece que esté en posición de terminar la relación. ¿Puede hacer que el cliente lo presione para aplicar recursos más informados al proyecto?

  5. Esta situación no puede permitirse sorpresas en los requisitos y alcances. Debe explicárselo al cliente y asegurarse de que simplemente no suceda. Al permitirlo, reduce la probabilidad de que un equipo desafiado entregue y les da algo para usar en su contra.

  6. Finalmente, lo más difícil es evaluar honestamente si necesita pedir ayuda a su empleador. Con sprint tras sprint perdido, esto ha estado sucediendo durante un tiempo. Es doloroso admitir que una situación está fuera de nuestra experiencia, pero es mucho mejor que insistir en que podemos hacerlo y luego fracasar.

+1 para 'solicitar una reformulación de sus documentos junto con su enfoque anticipado'. Aunque suene extremo, más vale prevenir que lamentar.

Estoy totalmente de acuerdo con Michael y Mark. Ambos solucionaron el problema con la solicitud de una reformulación de sus documentos junto con su enfoque anticipado . Claramente no están entendiendo los requisitos. El problema es... ¿están tratando de entender de antemano? Si no están analizando los requisitos y saltando directamente al desarrollador, lo pasarán mal en el futuro.

Una cosa que debe considerar es la diferencia cultural en el lugar. Hay un video increíble de Robert Dempsey AQUÍ que habla sobre las diferencias culturales y destaca un pequeño detalle que puede cambiarlo todo: los indios no están acostumbrados a decir 'no', incluso si no entienden de lo que estás hablando (soy de Brasil y sé que aquí también pueden pasar cosas similares).

Hay otro punto que (si no me equivoco) Brooks menciona en su TMMM : Es poco probable que tengas una pregunta cuando tienes espacio para asumir cosas. Puede estar alineado con el problema original, los requisitos no están claros. Por lo tanto, cuando revise los requisitos con ellos, asegúrese de separar lo que entendieron de los documentos de requisitos y lo que asumieron en base a ellos.

Muy bien dicho.
Me gusta el video y el enlace publicado! ¡Gracias Tiago!

Seguro que tienes un problema. En última instancia, el problema es tuyo, incluso si el equipo está compuesto por holgazanes totales. Usted es responsable de entregar a tiempo; el equipo solo es responsable ante usted. No estoy seguro de que offshore/onshore sea relevante; No estoy seguro de que muchos de los detalles anteriores sean relevantes (excepto que le habríamos preguntado si no los hubiera proporcionado). Lo relevante de POV es que tiene un equipo que constantemente no cumple. ¿Cuáles son las consecuencias de ese fracaso? ¿Cuáles son las consecuencias para el proyecto? ¿Cuáles son las consecuencias para las partes interesadas? ¿Las consecuencias para el equipo? ¿Y cuáles son las consecuencias para ti?

  1. Aunque crea que ha comunicado las historias de los usuarios de manera clara y efectiva (y ciertamente parece que ha hecho todo lo correcto), la comunicación no es efectiva a menos que se reciba. Lo primero que haría en su lugar es encontrar una manera de probar si los destinatarios perciben que "cada requisito es claro y el alcance también está bien definido". Cierra ese ciclo de retroalimentación durante esa reunión de sprint inicial. Cree un circuito de retroalimentación que los obligue a producir un producto medible. ¿Quizás hacer que produzcan las pruebas unitarias para las historias de usuario dentro de las 24 horas posteriores a la sesión informativa inicial? Algo que les impide alegar requisitos poco claros más adelante.
  2. Claramente, el sprint de 2 semanas es un marco de tiempo ineficaz para Team India. Necesitan una supervisión más cercana. Hasta que puedan producir un sprint exitoso, se les debe exigir que informen el progreso incremental diariamente. (Semanalmente estaría bien, pero soy escéptico). Tú y el equipo de India comparten un problema y tendrás que compartir la responsabilidad de la respuesta.
  3. Métrica. El valor ganado es tu amigo. Usted y Team India comparten la responsabilidad de identificar y corregir el problema de comunicación al principio del sprint. La comprensión compartida del proceso de desarrollo, la identificación de obstáculos y la eliminación de obstáculos son la ruta para salir de esa trampa en particular.
  4. La consecuencia para el proyecto es que estás cada vez más tarde. Escalaría esto rápidamente; comience a informar hacia arriba que las fechas del proyecto se están deslizando rápidamente.

    "Nuestra fecha de envío ahora está 4 semanas más allá de nuestra línea de base; a menos que Team India pueda entregar en el sprint 7, esa fecha se retrasará dos semanas más. Si el retraso llega a las 8 semanas, el riesgo de que todo el proyecto no se entregue es del 50 %. Si queremos mitigar ese riesgo, podemos contratar a otro equipo de desarrolladores para que se haga cargo del trabajo que actualmente está planificado para Team India".

Al final, el PM solo puede identificar problemas e informarlos a las partes interesadas apropiadas junto con las mitigaciones. Acabo de volver a leer todo lo que dijo @michael Boses, y mi respuesta convergió con la suya más de lo que pensaba. El tiene razón. Leyendo entre líneas tu pregunta, ya has llegado a esta conclusión.

Antes de comenzar, debo mencionar que he manejado equipos de la India de hasta 180 en más de 100 proyectos en los últimos 10 años y he pasado exactamente por los mismos problemas. Es fundamental en cualquier proyecto hacer coincidir el conjunto de habilidades correcto con el proyecto en cuestión, pero es 10 veces más crítico en la India debido a la cultura, la comunicación, las diferencias horarias, etc.

Otros carteles han señalado los principales problemas;

  • La cultura india es significativamente diferente a la estadounidense. La cultura es de naturaleza muy jerárquica y la autoexpresión, el espíritu empresarial, el pensamiento 'fuera de la caja' es bastante raro. Para el 90% de los desarrolladores de la India, si las instrucciones/requisitos están incompletos de alguna manera, es muy probable que no se realice ningún trabajo.
  • La calidad del desarrollador en la India es general, he experimentado algunos desarrolladores fantásticos, pero en su mayoría desarrolladores promedio/deficientes. Fuera de la escuela, son extremadamente verdes y generalmente requieren una inversión sustancial en capacitación. Es muy inicial para obtener un buen retorno de la inversión. Es posible que sea necesario ajustar sus expectativas si aún no están bien capacitados y no tienen un gerente/mentor local que los guíe de manera efectiva.
  • Comunicación, aunque India requiere el inglés como idioma principal desde una edad relativamente temprana, generalmente solo se habla en el trabajo. Como tal, encontrará un nivel de competencia bastante variado.

Lo que he hecho que funciona es encontrar al menos un desarrollador (o gerente) de la India para liderar el equipo, la comunicación es la principal preocupación, luego la competencia técnica. Sin ese mánager será muy difícil triunfar. Mientras tanto, se levantará de 11:30 p. m. a 3 a. m. o de 6 a. m. a 9 a. Tu otra alternativa es documentar el ???? de todo, asuma que no saben casi nada sobre nada y documente apropiadamente. Puede sonar duro, pero es la realidad. Luego tendrá que revisar todo el resultado constantemente. De cualquier manera, para un equipo de 14, será un trabajo de tiempo completo. Otra opción es contratar a un contratista que esté acostumbrado a trabajar con equipos de la India para liderar el esfuerzo, es un arte trabajar con los recursos de la India de manera efectiva.

Encontrar a ese gerente/desarrollador superior, esa es otra cuestión...

Ese es un punto excelente. Incluso creo que una buena persona tecno-gerencial realmente sólida será muy útil aquí. Aparte de eso, si el gerente es un verdadero motivador, eso es un gran beneficio.
lo que normalmente hacemos en nuestra organización es tener un TL remoto (ubicado junto con el equipo) para ser un propietario de producto "suplente": comprender las historias, tener conversaciones diarias con el PO principal sobre todas las preguntas planteadas por el equipo, ayudar al equipo para hacer sus preguntas cuando las tengan, también brindando respuestas intermedias sobre aclaraciones de requisitos (bueno, conjeturas informadas, luego verificándolas si es necesario) cuando el PO del lado de EE. UU. no está disponible debido a la diferencia de TZ. pero eso requiere un TL con las habilidades de comunicación adecuadas.