Compartir a través de


Creación de equipos productivos

Los ingenieros se desarrollan en entornos donde pueden centrarse y llegar a la zona. Los equipos suelen enfrentar distracciones y prioridades de competencia que obligan a los ingenieros a cambiar el contexto y dividir su atención. Tienen dificultades para equilibrar el tiempo de concentración con el tiempo de atención plena. La adición de nuevas funcionalidades requiere que los miembros del equipo se concentren y se enfoquen. Responder a los problemas de los clientes y resolver problemas de un sitio en funcionamiento requiere que el equipo esté atento y consciente de lo que está ocurriendo.

Para mitigar las distracciones, un equipo puede dividirse en dos equipos: uno para funcionalidades y otro para la salud del sitio en vivo.

Ilustración de la tripulación de características y la tripulación del cliente trabajando juntos.

El enfoque de dos tripulaciones produce una mayor productividad y previsibilidad. La implementación correcta se basa en estos elementos clave:

  • Roles de tripulación claramente definidos
  • Un proceso de rotación de tripulación bien definido
  • Ajustes frecuentes en el tamaño de la tripulación

Equipo de desarrollo de características

La tripulación de características o la tripulación F se centra en el futuro. Trabajan como una unidad eficaz con una misión clara y un objetivo: construir y enviar características de alta calidad.

La tripulación F está protegida del caos cotidiano del servicio en vivo para asegurarse de que tengan tiempo para diseñar, construir y probar su trabajo. Pueden confiar en distracciones mínimas y la libertad de tener que corregir problemas que surgen al azar. Se recomienda que rara vez revisen su correo electrónico, y eviten involucrarse en otros asuntos a menos que sean críticos.

Cuando un miembro del equipo F se une a una conversación o, ocasionalmente, queda atrapado en un hilo de correo electrónico, otros miembros del equipo deben reprenderlo: "¿Estás en el equipo F, qué estás haciendo?" Si un miembro del equipo F necesita abordar un problema crítico, se recomienda que lo delegue al equipo de cliente y vuelva al trabajo en características.

La tripulación F funciona como un equipo unido que se concentra intensamente en un pequeño conjunto de características. Un buen límite de trabajo en curso (WIP) es dos funcionalidades en proceso para 4-6 personas. Al trabajar estrechamente juntos, crean un contexto compartido profundo y encuentran errores críticos o problemas de diseño que una revisión de código superficial pasaría por alto. Una tripulación dedicada permite una velocidad de rendimiento y un tiempo de espera más predecibles. Los miembros del equipo suelen referirse a la tripulación F como serenos y centrados. Lo encuentran tranquilo y rejuvenecedor centrarse profundamente en un aspecto, dedicándole toda la atención. La gente que pasa tiempo con la tripulación F se siente renovada y satisfecha.

Tripulación del cliente

El equipo del cliente, o C-crew, se concentra en el momento y proporciona soporte de primera línea para problemas del cliente y del sitio en vivo, errores, telemetría y supervisión. El equipo de C a menudo se agrupa alrededor de un ordenador, depurando un problema crítico en el sitio en vivo. Su prioridad número uno es la salud del sitio operativo. Enfocados como un láser en este entorno, desarrollan habilidades expertas de depuración y análisis. A menudo, el equipo del cliente se conoce como el equipo escudo, ya que protege al resto del equipo de distracciones. En lugar de trabajar en las futuras características, el equipo C es el puente entre los clientes y el producto actual. Los miembros de la tripulación están activos en el correo electrónico, Twitter y otros canales de comentarios. Los clientes quieren saber que son escuchados y el trabajo del equipo C es escucharlos. El equipo C prioriza los problemas reportados por los clientes inmediatamente y asiste rápidamente a los clientes bloqueados.

Con un diluvio de tareas entrantes, trabajar en un equipo C de ritmo acelerado puede, a veces, ser emocionante. En una semana ocupada, abordan varios correos electrónicos, investigaciones de sitio en directo y errores. A medida que las operaciones se reducen, trabajan para mejorar la telemetría y los informes, invirtiendo su tiempo con el fin de facilitar el mantenimiento del servicio.

Los C-crews permiten al equipo abordar problemas sin desviar a los miembros de otras prioridades, y aseguran que clientes y socios sean escuchados. La capacidad de respuesta a preguntas y problemas se convierte en un punto de orgullo para las tripulaciones C. Sin embargo, este ritmo puede resultar agotador, lo que exige una rotación frecuente entre tripulaciones.

Rotación de tripulación

Un proceso de rotación bien definido hace que el sistema de dos tripulaciones funcione. Simplemente podría intercambiar las tripulaciones (F-crew se convierte en C-crew y viceversa), pero esto limita el intercambio de conocimiento entre y dentro de las tripulaciones. En su lugar, opte por una rotación semanal.

Al final de cada semana, realice una breve reunión de intercambio donde el equipo decida quién intercambia entre tripulaciones. Puede usar un gráfico de pizarras para realizar un seguimiento de quién está actualmente en cada tripulación y cuándo se intercambiaron. Las personas con más antigüedad en cada tripulación normalmente deben intercambiarse entre sí. Sin embargo, en cualquier semana determinada, es posible que alguien quiera permanecer para completar el trabajo en una investigación en un sitio en vivo o en una funcionalidad. Aunque hay flexibilidad, cuanto más tiempo haya alguien en una tripulación, más probable será que se les cambie.

Las rotaciones semanales ayudan a evitar silos de conocimiento en el equipo y a garantizar un flujo constante de información y perspectiva entre las tripulaciones. El movimiento frecuente de ingenieros crea conocimiento compartido del trabajo del equipo, que ayuda a la tripulación de C a resolver problemas sin la ayuda de otros. A menudo, los nuevos miembros de la tripulación F encontrarán rápidamente un diseño o un error de código pasados por alto anteriormente.

Tamaño de la tripulación

El tamaño de la tripulación varía para mantener la salud del equipo. Si un equipo tiene una tasa alta de problemas entrantes en el sitio activo o tiene una gran deuda técnica, el equipo C se hace más grande y viceversa. Ajustar los tamaños semanalmente aumenta la previsibilidad en las entregas y dependencias del equipo. En algunas semanas, un equipo puede trasladar a todos al equipo C para abordar los comentarios de una importante actualización.

Esta estrategia simplifica la comunicación con la administración. Sin un sistema de dos tripulaciones, los ingenieros suelen trabajar en varias cosas simultáneamente. Cuando se producen varias distracciones en una sola semana, las funcionalidades en curso se retrasan a menudo. Como resultado, es posible que un equipo no pueda proporcionar plazos para el desarrollo de futuras funcionalidades.

Un equipo de F dedicado conduce al rendimiento predecible y al tiempo de entrega. La división de recursos entre las tripulaciones aumenta la responsabilidad dentro del equipo y con la administración sobre lo que el equipo puede lograr cada semana y cada sprint.

Pasos siguientes

El sistema de dos tripulaciones puede ayudar a los equipos a comprender dónde los ingenieros deben dedicar su tiempo y a avanzar en muchas prioridades competitivas.

Además de mejorar la productividad y la previsibilidad, el sistema de dos tripulaciones puede aumentar la moral del equipo. Los ingenieros de cada equipo comprenden claramente sus roles y responsabilidades y funcionan de forma más independiente y con una responsabilidad mucho mayor. Este enfoque es ideal para los equipos de DevOps, los responsables tanto del desarrollo como de las operaciones. Sin embargo, este enfoque se puede aplicar a casi cualquier equipo ágil que trabaje con prioridades competitivas.

Microsoft es una de las empresas ágiles más grandes del mundo. Obtenga información sobre cómo Microsoft organiza los equipos en la planeación de DevOps.