Promover una cultura Agile dentro del equipo

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

A medida que crezca su equipo, querrá que las herramientas crezcan con él. Además, si es una empresa que adopta metodologías Agile, le interesa que las herramientas de Agile admitan los objetivos de negocio de su empresa.

Sin embargo, para escalar correctamente Agile es necesario abordar tanto la cultura como las herramientas que hay en la organización.

Nota:

¿No está familiarizado con Agile? Para más información, consulte Cultura de Agile y Escalado de Agile a equipos grandes.

Habilitación de la autonomía

Las organizaciones que aspiran a ser ágiles deben tener en cuenta la doble obligación de crear alineación en toda la empresa y apoyar la autonomía de los equipos. Un equipo necesita autonomía para ser eficiente. Además, las empresas necesitan que los equipos y la organización estén alineados para ser eficientes.

Demasiada alineación con una autonomía de equipo insuficiente no favorece la innovación ni la agilidad de los equipos para hacer las cosas. Una alineación demasiado escasa, donde cada equipo ejecuta su propio programa, no proporciona la información y la coordinación necesarias para alcanzar los objetivos de negocio.

Con el nivel adecuado de alineación en toda la organización y la autonomía de los equipos, las personas se sienten capacitadas para innovar e inspiradas para colaborar en la consecución de los objetivos de negocio.

Crear alineación

Cuando planee cómo quiere aumentar el conjunto de herramientas de Agile, tenga en cuenta las siguientes áreas. Estas áreas son fundamentales para crear alineación empresarial y desarrollar la autonomía del equipo.

Ámbito

Crear alineación

Apoyar la autonomía

Visión del producto

La organización define los objetivos y la hoja de ruta. Los objetivos se pueden definir como epopeyas y características que se muestran en el trabajo pendiente en cartera.

Un equipo determina cómo cumplir mejor la hoja de ruta. El equipo desglosa los objetivos en casos de usuario o elementos de trabajo pendiente mediante sus trabajos pendientes de equipo.

Estructura del equipo

En función de los objetivos de negocio, las organizaciones determinan el número y el tamaño de los equipos. Los equipos de características estructurados verticalmente llevan a una mayor autonomía y eficiencia.

Con los equipos, debe haber algunos roles establecidos, como el propietario del producto y los jefes de desarrollo, pero también espacio para rotar roles. Por ejemplo, los miembros del equipo pueden turnarse para actuar como facilitador (Scrum Master), desarrollar demostraciones de sprints, ejecutar retrospectivas de sprints o crear correos electrónicos de sprints.

Cadencia de desarrollo

Las organizaciones ágiles deben lanzar productos y actualizaciones de características a intervalos regulares. Establecer horarios regulares de lanzamiento y sprint promueve el ritmo de la empresa.
Cada sprint (una iteración de duración constante de entre dos y cuatro semanas) incluye el planeamiento, la ejecución, la entrega de valor, la reflexión y la participación en la mejora continua.

Todos los equipos administran su trabajo dentro de la cadencia de sprint establecida. El equipo da su opinión sobre la duración del sprint que más les conviene.
El equipo elige los métodos ágiles que funcionan para ellos, Scrum, Kanban o una combinación de ambos. El equipo también asume la responsabilidad de iniciar y aplicar su propio conjunto de prácticas de mejora continua.
Algunos equipos pueden ejecutar sprints más cortos. Por ejemplo, si una organización establece una cadencia de sprints de 2 semanas, algunos equipos pueden optar por operar en sprints de 1 semana, sin dejar de alinearse con el calendario de la organización.

Cadencia de comunicación

Al igual que los sprints aportan un ritmo natural al flujo de trabajo, también lo hacen las comunicaciones periódicas. Al establecer expectativas sobre los tipos de comunicaciones que quieren ver para mantenerse alineados y la frecuencia con la que se producen, las organizaciones crean de forma natural la alineación entre los equipos y la empresa.
Los correos electrónicos de sprint del equipo, el estado de la barra de errores y el estado de entrega de características del equipo de versiones son ejemplos de tales comunicaciones periódicas.

Un equipo determina los detalles que comunican y quién desarrolla la comunicación. Sus correos electrónicos de sprint pueden contener un resumen de los logros del sprint anterior y los siguientes planes de sprint o incluir una demostración de las características completadas recientemente.

Calidad

Cada organización debe establecer los criterios y estándares mediante los cuales evalúan la calidad y establecen las expectativas de los estándares de calidad. Algunas maneras de definir los criterios es establecer criterios de salida para el desarrollo de nuevas características, estándares para administrar la deuda técnica y límites de errores para equipos o personas.
Además, pueden supervisar el estado y las tendencias de los errores mediante la creación de paneles de errores.

Un equipo elige cómo cumplen los estándares de calidad. Pueden organizar batidas de errores para nuevas características o al final de cada sprint. Pueden elegir a un individuo para que actúe como escudo contra errores de forma rotatoria.

Administración del riesgo, seguimiento del trabajo

La organización determina cómo cada unidad funcional comunica el estado y el riesgo. Establecen un "contrato de comunicación" en cuanto a la información mínima necesaria que requiere la organización.
Además, la organización proporciona la infraestructura para reducir los riesgos. La organización debe a los equipos todo lo que puedan hacer para reducir los riesgos comunes a todos ellos.

Además de satisfacer las necesidades establecidas por la organización, los equipos determinan cualquier otro detalle que necesiten administrar y rastrear para reducir sus riesgos. Tanto si usan una pizarra con notas adhesivas como un gráfico de Gantt completo, administran los detalles. Por ejemplo, los equipos pueden agregar un elemento de trabajo pendiente para realizar un seguimiento de una dependencia que tienen de otro equipo. O bien, pueden realizar un seguimiento de sus riesgos a través de una lista de problemas o impedimentos. Además, los equipos contribuyen regularmente a mejorar el proceso y la infraestructura para respaldar la capacidad de las organizaciones de administrar el riesgo y extraer información.

Estructura de los equipos

A medida que escala, una de las tareas más importantes que se deben tener en cuenta es cómo estructura los equipos. Tradicionalmente, las estructuras de equipo horizontales dividen los equipos según la arquitectura de software: interfaz de usuario, arquitectura orientada a servicios y equipos de datos.

Gráfica donde se ve una comparativa de los equipos horizontales y los verticales.

Sin embargo, con la adopción de prácticas Agile, las estructuras de equipo verticales que abarcan la arquitectura proporcionan una mayor autonomía al equipo. Los equipos verticales pueden ofrecer las características que les corresponden trabajando en toda la arquitectura de software. También difunden por todos los equipos los conocimientos necesarios para trabajar en todos los niveles de la arquitectura.

Configure sus equipos en función de los flujos de valor que su organización quiera ofrecer. Por ejemplo, Fabrikam Fiber organiza a sus equipos en los siete equipos de características siguientes.

Gráfica donde aparecen siete equipos de funciones: carrito de la compra, perfil de cliente, estado del servicio, correo electrónico, voz, Internet y TV

Cada equipo planea las características que se van a entregar. Tienen la autonomía para determinar cómo estructuran los datos y diseñan los servicios y las interfaces de usuario web y móviles. Elaboran planes respetando las normas de calidad establecidas por la organización y a las que contribuyen todos los equipos.

Configuración de las herramientas de Agile para escalar

A medida que crece su organización, puede escalar las herramientas de Agile de las siguientes maneras.

  • Agregue equipos y vistas de trabajos pendientes filtradas: se agregan equipos para apoyar la autonomía de los equipos y proporcionarles las herramientas que pueden configurar y administrar para respaldar la forma en que quieren trabajar. Estas herramientas incluyen trabajos pendientes, paneles Kanban, trabajos pendientes de sprint y paneles de tareas, entre otros.

    Además, puede configurar los equipos para admitir una jerarquía de trabajos pendientes y trabajos pendientes en cartera para que los jefes de carteras puedan revisar la prioridad y el progreso en varios equipos.

  • Configure sprints y versiones: puede estructurar las iteraciones para admitir un conjunto plano de sprints o un conjunto de sprints insertados en versiones programadas. Cada equipo activa el conjunto de sprints y versiones en las que necesitan participar.

  • Administre carteras: configure una jerarquía de equipos y trabajos pendientes y active los trabajos pendientes en cartera. Los equipos de características centrados en un subconjunto del trabajo pendiente pueden permanecer centrados solo en su trabajo pendiente. Los administradores de carteras que quieran ver y organizar trabajos pendientes para realizar un seguimiento del progreso y las dependencias pueden administrar trabajos pendientes en cartera de características y epopeyas.

    Si se necesitan otros trabajos pendientes en cartera, por ejemplo, Escenarios o Iniciativas, puede agregarlos también.

  • Configure paneles: con los paneles de equipo, puede configurar gráficos que realicen un seguimiento del progreso dentro de un equipo o entre equipos. En concreto, puede agregar gráficos de estado y tendencias en función de las consultas que cree.

  • Agrupe o clasifique el trabajo: hay varias maneras de agrupar el trabajo del que quiere realizar un seguimiento. Los trabajos pendientes filtran los elementos de trabajo en función de las asignaciones de área de equipo. Además, los trabajos pendientes en cartera permiten agrupar los elementos de trabajo pendiente en Características y Epopeyas.

    Si quiere realizar un seguimiento de los elementos de trabajo y notificarlos en función de otras agrupaciones, puede hacerlo. Puede agregar etiquetas a elementos de trabajo y, luego, filtrar los trabajos pendientes o las consultas en función de etiquetas. Además, puede agregar rutas de acceso de subárea para representar áreas de características más específicas.

  • Agregue carpetas y use favoritos del equipo: a medida que crezcan los equipos, verá una lista creciente de consultas de elementos de trabajo, definiciones de compilación y carpetas de código fuente. Mediante carpetas, subcarpetas y favoritos de equipo, puede administrar muchas de estas listas de forma más fácil. Puede agregar favoritos de equipo para consultas compartidas, código fuente y definiciones de compilación.

Escalado con equipos y no con proyectos

A menudo, las organizaciones buscan agregar un proyecto para cada proyecto de desarrollo de software.

Se recomienda agregar equipos para escalar las herramientas en lugar de agregar proyectos por los siguientes motivos:

  • Visibilidad: es más fácil ver el progreso en todos los equipos
  • Seguimiento y auditoría: es más fácil vincular elementos de trabajo a otros objetos con fines de seguimiento y auditoría
  • Mantenibilidad: puede minimizar el mantenimiento de los grupos de seguridad y las actualizaciones de los procesos.

Para obtener más información, consulte Acerca de los proyectos y escalado de la organización.

Para poder crear o trabajar con cualquiera de las herramientas de Agile, necesita un proyecto. Si no lo tiene, puede crear uno.

Si está listo para pasar de un equipo a dos o configurar varios equipos, consulte Adición de equipos. Para agregar un administrador de equipo o configurar recursos de equipo, consulte Administración de equipos y configuración de herramientas de equipo.

Para obtener más información, consulte estos artículos:

Recursos del sector de la cultura Agile