Sincronizando la entrega de valor con SAFe: El Nivel de Programa

2
2106

Para darle continuidad a los artículos en los que he venido documentando los conceptos básicos sobre SAFe, en el presente apartado explicaré los detalles del Nivel de Programa como marco de trabajo para la sincronización de equipos ágiles en el desarrollo de software.

Índice de contenidos

1. Introducción

SAFE Program Level

Figura 1. Nivel de programa.
Recuperado de www.scaledagileframework.com

Según lo visto en el artículo sobre los Equipos de desarrollo con SAFe, en el Nivel de Equipo se sientan las bases sobre las que se organizan las tareas de desarrollo para entregar en funcionamiento características probadas de un componente del dominio de negocio.

Según este modelo, los equipos y otros recursos se organizan en torno a la metáfora del Agile Release Train (ART) para fomentar el flujo continuo e incremental de versiones del producto. Según se explica en las guías de SAFe, cada ART se divide en los llamados Incrementos del Programa (PI, por sus siglas en inglés) y estos a su vez en ciclos cortos y de longitud fija en los que participan de 5 a 12 equipos de desarrollo.

2. El Nivel de Programa

En el Nivel de Programa es donde se descubren, definen y desarrollan las características y habilitadores necesarios para la consecución de los objetivos del negocio.

En él, se provee de un Sistema Kanban para gestionar y hacer visible el flujo del trabajo para todos los usuarios. El objetivo principal de este nivel es asegurarse de que las características sean analizadas, definidas y priorizadas antes de su inclusión en el ciclo de un PI. Como parte de la definición, cada una de las características debe incluir sus criterios de aceptación como guía para lograr una implementación apegada a los requisitos del negocio. Cada una de estas características son mantenidas y priorizadas dentro del Program Backlog.

3. Roles en el Nivel de Programa

Los equipos en SAFe están concebidos para ser auto-gestionados y auto-organizados en torno al Agile Release Train. Sin embargo, este ART no se crea ni gestiona por sí mismo; se necesita orientación y dirección para que los equipos se organicen bajo una misión y arquitectura común. Para solventar estas necesidades de gestión, SAFe incluye los siguientes roles como garantía de la ejecución de las iniciativas a Nivel de Programa:

SAFE Program Level Roles

Figura 2. Gestión del Programa, Gestión de Contenido y Arquitectura.

Recuperado de www.scaledagileframework.com

  • El Release Train Engineer (RTE, por sus siglas en inglés), es el Scrum Master o Jefe del ART. Su responsabilidad es la de optimizar el flujo de valor a través del programa usando varios mecanismos como la Program Kanban, sesiones de Inspección & Adaptación y las PI plannings, entre otras.
  • El Product Manager es el representante del negocio y trabaja con los Product Owners para entender sus necesidades, definir las características del sistema y participa en su validación. Es el responsable del Program Backlog.
  • El System Architect/Engineer es una persona o departamento que en la práctica es quien aplica un pensamiento sistémico. Define la arquitectura del sistema, los requisitos no funcionales y ayuda a la creación de interfaces de comunicación.

4. La Spanning Pallette

En la Big Picture se definen algunos artefactos adicionales que contribuyen en la relación entre el Nivel de Programa y el flujo de valor de SAFe. Cada uno de estos artefactos contribuyen con la Agile Release Train definiendo los siguientes aspectos clave:

SAFE Spanning Palette

Figura 3. Spanning Pallette.
Recuperado de www.scaledagileframework.com

  • La Visión, que describe el contexto y solución propuesta para solventar las necesidades de las partes interesadas.
  • El RoadMap, que representa una visión con los compromisos para los Incrementos en el Programa.
  • Las Métricas utilizadas para medir los sistemas y evaluar su rendimiento. En el Nivel de Programa suelen utilizarse las siguientes métricas:
    • El Tablón de progresos.
    • El Tablón Kanban del programa.
    • La predictibilidad del programa.
    • Las Métricas de rendimiento.
    • El BurnDown chart del PI.
    • El Diagrama de flujo acumulativo.
    • La Autoevaluación del ART.
  • Los Milestones, definen los puntos claves que se utilizan para medir los progresos y riesgos dentro del Roadmap.
  • Las Releases, que tienen el objetivo de ofrecer valor al cliente en ciclos de liberación frecuentes.
  • Las DevOps, que representan los mecanismos de integración necesarios para que las operaciones de desarrollo y despliegue puedan integrar a los equipos de operaciones con los equipos ágiles dentro del ART.
  • El System Team, es un equipo ágil dedicado a la asistencia en la construcción y uso de la infraestructura necesaria para entregar soluciones probadas e integradas.
  • La Gestión de la Release, consiste típicamente en la planificación, gestión y gobierno de la solución, teniendo la autoridad y responsabilidad de ayudar a guiar el flujo de valor hacia los objetivos de negocio.
  • Los Servicios Compartidos, que representan los roles necesarios para apoyar al ART y el flujo de valor pero sin una dedicación exclusiva.
  • La Experiencia del Usuario (UX, por sus siglas en inglés), que contempla las prácticas que dirigen la inclusión de aspectos como la facilidad de uso, utilidad y eficiencia de las interfaces de los sistemas.

5. Conclusiones

En el Nivel de Programa se proporciona un modelo de gestión como guía para solventar las necesidades del negocio y partes involucradas. En tal sentido, este nivel tiene como objetivo principal proporcionar mecanismos de gobernabilidad para que el Agile Release Train pueda orquestar las actividades de los equipos de desarrollo.

Una de las características más relevantes de este modelo de gobernanza es que está concebido para operar en convivencia con modelos tradicionales de desarrollo de software.

En Autentia proporcionamos soporte a la implantación corporativa de metodologías ágiles ayudando a la transformación digital de grandes organizaciones. Te invito a que te informes sobre los servicios profesionales de Autentia y el soporte que podemos proporcionar a tu empresa en en la implantación de frameworks de escalado de agile como SAFe y LESS.

6. Referencias

2 Comentarios

  1. En el Nivel de Programa es donde se descubren, definen y desarrollan las características y habilitadores necesarios para la consecución de los objetivos del negocio.

    ¿Cuales serían estas características y habilitadores ?

    • Las características de nuestro sistema son las propiamente tienen la connotación funcional que describe nuestra aplicación. Una manera habitual de plasmar estas características es con las famosas Historias de Usuario que nos permiten establecer un criterio común para describir estos cambios desde una perspectiva centrada en el usuario.

      Por otro lado las tareas habilitadoras son aquellas que son necesarias para poder construir nuestras aplicaciones. Por ejemplo, si es necesario que configuremos nuestros entornos de desarrollo, calidad y producción podemos considerar estos cambios como actividades habilitadoras para nuestra aplicación.

      Espero haberte aclarado la diferencia.

Dejar respuesta

Please enter your comment!
Please enter your name here