SCRUM, Metodologías ágiles para empresas modernas

Utilización de SCRUM en modalidad de trabajo remoto con equipos geográficamente dispersos.
Problemas asociados a la práctica y alternativas para su solución.

(Primera entrega)

SCRUM es una tendencia creciente dentro de la industria del software para empresas que buscan formas ágiles de desarrollo e implementación.

En sus orígenes este marco de trabajo requería equipos de trabajo pequeños, cuyos integrantes estuvieran establecidos en un mismo ámbito, trabajando cara a cara, pues se necesita una gran comunicación y trabajo en conjunto.

Hoy en día, es cada vez más común que los equipos estén en ámbitos geográficamente dispersos y bajo la modalidad de "home office", y que las empresas precisen continuar obteniendo los beneficios logrados por las metodologías ágiles, tales como reducción del “time to market” y mayor flexibilidad en los proyectos, por lo que se hace necesario adaptar y/o buscar la forma en que esta metodología sea apta en estos contextos, no solamente para equipos pequeños, sino también al escalar a grandes equipos de desarrollo e implementación.

La modalidad de trabajo remoto con equipos geográficamente dispersos no impide utilizar el marco de trabajo Scrum, sino que éste provoca que toda la problemática se manifieste desde el primer día de trabajo, a diferencia de la modalidad "en cascada", en donde los inconvenientes se detectan más adelante en el ciclo de vida del proyecto, siendo en muchos casos tarde para corregirlos, aumentando el riesgo en los proyectos que usan esta modalidad, y adicionalmente, Scrum nos proporciona las herramientas procedimentales para resolverlas.

Está en la habilidad, experiencia y buen juicio de los participantes del equipo en su conjunto para hacerlo.

Los problemas que usualmente se detectan en los proyectos en los que se utiliza esta modalidad son los siguientes:

  • Diferencia horaria con poco o nulo solapamiento temporal entre las distintas locaciones.
  • Dificultad de comunicación y entendimiento dentro del equipo.
  • Diferencias culturales.
  • Infraestructura deficiente.
  • Fallas de coordinación.
  • Pérdida del sentido de pertenencia de los integrantes del equipo.
  • Falta de puntualidad para asistir a las reuniones.
  • Sonido deficiente en las conferencias remotas.
  • Pérdida del lenguaje no verbal.
  • Pérdida de foco en las reuniones.
  • Pérdida de compromiso en las tomas de decisiones.
  • Falta de disponibilidad de los miembros del equipo al ser requeridos.
  • Duración extensa de las reuniones.
  • Dificultad de comprensión en las reuniones remotas.

 Es necesario utilizar todas las herramientas, experiencia y habilidades, tanto personales como del equipo en pos de resolverlas.

En futuras entregas describiremos cómo intentamos hacerlo para varios de ellos.

  

Utilización de SCRUM en modalidad de trabajo remoto con equipos geográficamente dispersos.
Problemas asociados a la práctica y alternativas para su solución.

(Segunda entrega)

El trabajo remoto con equipos dispersos geográficamente y con modalidad "home office" para el trabajo de desarrollo y/o implementación de software tiene múltiples ventajas y beneficios descriptas en extensas bibliografías, como así también una gran cantidad de problemas inherentes a esta forma de trabajo, que vino para quedarse, por lo que es necesario analizar éstas para poder encontrar soluciones.

Estos problemas existen cualquiera sea la metodología que se utilice, la gran diferencia que se percibe es que el marco de trabajo Scrum provoca que se manifiesten desde el principio, mientras que en contextos de “trabajo en cascada” se logran detectar recién al estar avanzado el proyecto, haciendo más riesgosa esta problemática, y adicionalmente Scrum proporciona herramientas procedimentales para resolverlos.

Comentaremos varios de ellos que hemos experimentado en proyectos reales y acciones que se tomaron oportunamente.

Problemas en las reuniones:

Scrum se compone de varias reuniones esenciales a las que el equipo tiene que participar:

  • Reuniones de Planificación del Sprint
  • Reuniones Diarias
  • Reuniones de Refinamiento de la Lista de Producto
  • Reuniones de Revisión del Sprint
  • Reuniones Retrospectivas.

Adicionalmente a éstas, son frecuentes las reuniones internas para tratar distintos temas a resolver en el marco de la problemática del proyecto.

Estas actividades generan situaciones para los equipos geográficamente dispersos y en la modalidad de "home Office" que hay que resolver.

Entre esos problemas debemos tener en cuenta:

Problemas de sonido:
Es muy común que suceda cuando parte del equipo está en una sala y los demás en forma remota en "home office". Cuando el que habla no está cerca del micrófono, las personas remotas no pueden escucharlo correctamente, por lo que el que habla tiene que acercarse al micrófono, tornándose en determinadas circunstancias muy problemático. Si el problema persiste, es necesario que todos participen por teléfono en su sitio en lugar de reunirse en una sala.

 Ruido de fondo - conversaciones laterales: Anular sonidos de fondo.

Tenemos dos fuentes de ruido de fondo: cuando parte del equipo está en una sala, es muy común que haya conversaciones laterales por fuera de la que corresponde a la de la reunión, generando un molesto ruido de fondo para los que están remotos. Por el otro lado, también hay ruido de fondo desde los que trabajan remoto con innumerables situaciones de la vida cotidiana. Es importante que el que trabaje remoto esté en algún lugar por fuera de estos ruidos, pero lamentablemente a veces no es posible. En esas circunstancias hay que estar preparado para ver cómo hacer en estas situaciones antes de que se produzcan.

Es necesario entonces que el Scrum Master limite el sonido de los participantes que hacen ruido poniendo en modo "mute" o "unmute" a cada uno según corresponda, generándose a veces situaciones en las que alguien quiere hablar y no logra que lo escuchen.

Puntualidad:

En general todas las reuniones se realizan a través de una herramienta para conferencias grupales, sin usar video para no perjudicar la transmisión de sonido, teniendo una sola persona mostrando un documento o presentación. Se debe hacer un trabajo especial para instalar en los participantes el concepto de que la puntualidad es un requisito importante para poder trabajar en estos contextos: no es posible retrasar 5 o 10 minutos una reunión de 15 minutos, dejando a todo el equipo esperándolo en el teléfono. Para ello, es necesario instalar rutinas que deben cumplir los miembros del equipo:

  • Todos los participantes deben estar en el teléfono de 2 a 5 minutos antes de la reunión, para que puedan comenzar de inmediato.
  • Si hay algún inconveniente que le impida asistir a alguno de los participantes, deberá informar al Scrum Master del problema de alguna manera y, si es posible, proporcionar la información necesaria para que la reunión se pueda desenvolver normalmente en su ausencia.
  • Cada persona debe tener un plan de contingencia para problemas de acceso a la reunión.
  • Todas las reuniones planificadas deberían haber definido el recordatorio anterior para que nadie se olvide de asistir, un problema común debido a la gran cantidad de reuniones que se generan.

Todos deben tener el calendario personal actualizado y disponible online para que si alguien necesita coordinar una reunión, pueda ver la disponibilidad de los asistentes.

Uso de chats, correos, etc.

Para evitar distracciones y mantener el foco de atención de todos los participantes en la reunión, es importante recordar que deban cerrar sesión de otras salas de chat y notificaciones de correo.

Es común que los usuarios remotos usen chats, correos electrónicos o cualquier otra aplicación e incluso que estén haciendo otra actividad, mientras participan en las reuniones, lo que les hace perder la atención sobre lo que se plantean en las mismas. Como norma, deberá definirse la imposibilidad de hacer toda actividad distinta a la de participar de la reunión y la obligación de cambiar el estado del chat a "no molestar" durante el transcurso de la misma.

Duración de las Reuniones.

Las reuniones de planificación de Sprint suelen ser largas, de 2 a 4 horas en total, lo que a menudo es difícil de sostener para quienes participan en forma remota. Se tiene que establecer un procedimiento para definir, al comienzo de cada reunión, la división en diferentes períodos de trabajo, con intervalos para descansar, y respetar los horarios establecidos (Time boxing). Se debe dar importancia a las reuniones de refinamiento de la lista de pendientes para llegar a la planificación del sprint con una mayor comprensión del requisito de desarrollar y así acelerar la reunión y reducirla en duración.

Solapamiento al hablar.

El Scrum Master deberá lograr que los participantes hablen de a uno por vez, y aquella persona que tiene el uso de la palabra tendrá que permitir las interrupciones, porque siempre tenemos que recordar que son diálogos y no discursos, donde los participantes intercambian conceptos, ideas, etc. Todo esto deberá estar enmarcado en un ámbito de cordialidad, sentido de equipo y espíritu constructivo.

Nivel de participación.

En las reuniones con varias personas, siempre suelen hablar los mismos, por actitud o personalidad, tratando de participar y dar a conocer sus puntos de vista, mientras que otros no. El Scrum Master debe ser consciente de este problema y moderar la reunión de tal manera que permita la participación de todos al animarlos a hablar o directamente a pedir opiniones.

Identificación del que participa.

A veces, y especialmente en reunión donde los participantes están por primera o segunda vez, no se reconoce a quién está hablando, por lo que es necesario como buena práctica, hasta que todos reconozcan la voz, que el que tome la palabra se presente.

 

Utilización de SCRUM en modalidad de trabajo remoto con equipos geográficamente dispersos.
Problemas asociados a la práctica y alternativas para su solución.

(Tercera entrega)

Continuamos comentando inconvenientes y alternativas de solución para modalidad de trabajo remoto:

Diferencia horaria con poca o ninguna superposición temporal entre diferentes ubicaciones.

Cuando los miembros de un equipo pertenecen a distintas ubicaciones geográficas, puede ser que pertenezcan a distintos países con diferencia horaria, llegando al caso en que haya poca o ninguna superposición temporal entre las diferentes ubicaciones. Este termina siendo un problema muy importante para lograr la participación, comunicación y entendimiento entre todos los integrantes del equipo. Las soluciones siempre se darán para cada proyecto, siendo este un ítem que se deberá resolver desde el principio del proyecto.

Coordinación para armar las reuniones.

Las reuniones de larga duración en las que participan personas de distintas actividades y sectores de la organización se complejiza para que puedan tener disponibilidad horaria, con lo cual es necesario hacerlo con una gran anticipación, y lograr que sean recurrentes, o sea por períodos regulares, el mismo día de la semana y a la misma hora. Esto se dificulta cuando las personas son de distintos países por tener que contemplarse los feriados adicionalmente a las distintas franjas horarias para lograr que éstas se superpongan para todos.

En relación con las otras reuniones: planificación, diaria, retrospectiva, refinamiento, también es necesario coordinarlas con antelación para resolver la diferencia de tiempo de los participantes en cada caso.

Problemas de comunicación y comprensión.

Un problema importante se da cuando los integrantes del equipo hablan distintos lenguajes, con lo cual es necesario adoptar un idioma común para el proyecto, en general inglés.
El idioma representa una barrera no solamente en términos de conocimiento del mismo, sino también en entender el acento de la otra persona, que es absolutamente distinto y en algunas oportunidades resulta inentendible para los oídos de otras regiones. Es sabido que no es nada similar la forma de hablar de un inglés, un estadounidense, un brasileño o un indio, agravándose la situación cuando el idioma definido para la comunicación no es el utilizado normalmente por las personas sino que es un segundo lenguaje.

Para abordar este problema en las reuniones diarias, el Scrum Master puede solicitar al equipo enviar previamente por correo electrónico las respuestas a las siguientes 3 preguntas: ¿Qué hice? ¿Qué haré? ¿Tengo algún impedimento?, mostrando las respuestas en la reunión, y así se logra ayudar unos a otros a mejorar la comprensión en la conferencia telefónica. Este tipo de herramientas ayudan mucho a mejorar la comunicación y entendimiento de las reuniones.

Diferencias culturales.

Adicionalmente al tema idiomático, un problema que surge es el de las diferencias culturales, que en términos generales se suelen caracterizar en aspectos comunes nacionales, tratando de englobar la características comunes de las nacionalidades de los distintos participantes; así hablamos de cómo son los argentinos, norteamericanos, mexicanos, brasileños o indios. Adicionalmente, se suelen detectar características especiales de comportamiento en términos zonales e incluso a nivel organización, donde solemos detectar la denominada "cultura de la empresa" en la que eventualmente tenemos que participar. Esto explica las razones de los comportamientos de los integrantes, que tenemos que entenderlas y analizar si constituye un problema que pueda impactar en el proyecto. Es muy importante tener en cuenta estas diferencias culturales para mejorar el entendimiento de las comunicaciones en las reuniones.

Infraestructura.

A veces surgen problemas de infraestructura, como ser suministro de electricidad, internet, servicios de telefonía, este tipo de situaciones hace que se dificulte trabajar bajo modalidad remota. Para ayudar a resolver este tema cada miembro del equipo tiene que armar un plan de contingencia personal para resolver los problemas de infraestructura que le puedan surgir. Esta solución incluye tener una "ubicación de backup": un hogar de un familiar, vecino o amigo; ir a trabajar a una cafetería con WiFi.

Pérdida de compromiso en decisiones generales.

A la hora de la toma de decisiones, se puede presentar la situación que algunos participantes no se involucren en ella. El hecho del trabajo remoto es un contexto que facilita esta problemática al no poder ser vista la gente reunida en su totalidad y no verse las caras entre las personas. El Scrum Master debe verificar por acuerdo o desacuerdo el tema en definición con cada uno de los participantes, alentando a emitir opinión a aquellos que usualmente no lo hacen.

Pérdida del sentido de pertenencia.

Uno de los problemas más importantes y que no está casi considerado, es la de la pérdida del sentido de pertenencia del equipo.
Al trabajar desde distintos lugares geográficos y de manera remota, los miembros de los diferentes equipos que trabajaban en paralelo pierden la pista de lo que están haciendo los demás: los vínculos interpersonales se debilitan.

En una experiencia personal, para solucionar esto se implementó una reunión semanal remota de todo el grupo: desarrolladores, testers y redactores técnicos, todos los lunes por la mañana para comentar de forma sucinta lo que cada equipo estaba haciendo. El viernes anterior, el Director del Proyecto enviaba un correo electrónico recordando la asistencia. Como muchas grandes ideas, todo sucedió por casualidad: poco a poco se incorporaron en este correo comentarios informales no relacionados con el trabajo específico. Con el propósito de fomentar la integración, se comentaba un conjunto de actividades para el fin de la semana, inicialmente recordando cumpleaños y aniversarios especiales (como el Día de la Madre o el Día del Padre. Ese correo electrónico era respondido rápidamente por quienes lo recibían, deseando felicitaciones a quienes celebraron su cumpleaños, o a las madres o padres en su día.

Esto fue percibido por el Director, quien, evolucionando con la idea, comenzó a compartir historias personales o de la infancia, comentarios serios sobre temas que iban desde opiniones políticas a preguntas filosóficas, o comentarios triviales sobre por ejemplo proponer un ranking de las mejores películas o series de televisión, o invitar a un espectáculo de Stand Up que el escritor técnico realizaría en un teatro durante el fin de semana, etc., con un impacto excelente. El correo de los viernes generó respuestas y debates entre los miembros del equipo con extensas cadenas de correos que todo el mundo disfrutó. Esta práctica se extendió a todos los interesados en plantear un tema: cualquiera que quisiera se encargaría de enviar el correo electrónico y en él adjuntar el texto que decidiera compartir. Todo el equipo estaba esperando el correo para participar o al menos los más tímidos, solo para leer y disfrutar lo que los otros miembros escribían. Un foro para el debate sobre diversos temas se desarrolló naturalmente donde el grupo de afinidad era simplemente pertenecer al equipo. Esta práctica generó un sentido de pertenencia y comunidad que se había perdido debido a la modalidad de "home office".
Esos "correos de los viernes" permanecieron en la memoria del grupo.

 

Idioma | Language