I. Introducción
Actualmente, existe una amplia gama de frameworks/soluciones ágiles (en adelante marcos) para apoyar el desarrollo de software. Estos marcos se centran en la tolerancia al cambio, entrega continua e intervención activa del cliente y partes interesadas [1]; además de aportar algunos beneficios como la disminución del riesgo en las entregas, mejorar la calidad del producto, la productividad de los equipos [2], y la flexibilidad en la ejecución y administración de los proyectos [3]. Algunos de los marcos ágiles más populares son: Scrum [4], Agile Unified Process [5] y eXtreme Programming [6], entre otros.
Los marcos ágiles fueron originalmente concebidos para ser implementados en equipos no distribuidos de entre 7 y 9 personas [4], por lo que en muy pocas ocasiones han resultado ser altamente eficientes para equipos donde el número de participantes es mayor y se involucran múltiples equipos trabajando en diversos proyectos de manera distribuida (equipos escalados) [3]. Además, aspectos como la comunicación, coordinación y gestión de dependencias se convierten en aspectos críticos del desarrollo software en equipos a gran escala [7, 8, 9]. Lo anterior ha causado preocupación entre las organizaciones que requieren escalar su enfoque actual de trabajo hacia uno que les permita afrontar estos aspectos inherentes al Desarrollo Ágil a Gran Escala (en adelante DAGE).
Existen varios marcos para apoyar el DAGE, entre ellos: SAFe [10], LeSS [11], Nexus [12] y DAD [13], sin embargo, ninguno de éstos presenta una estrategia de implementación, lo cual causa confusión en las organizaciones [14] y, en algunas ocasiones, cada una presenta una visión propia y específica de escalamiento. Esto quiere decir que las organizaciones optan por modificar el marco elegido, combinándolo con elementos de otros marcos con el fin de que se adapte al objetivo de los escalados propuestos [3, 8]; esto puede resultar positivo, sin embargo, involucra un gran esfuerzo, tiempo y dedicación. Además, la adopción de estos marcos implica que las organizaciones que desean escalar deban enfrentarse a diversos desafíos del escalamiento tales como: aseguramiento de la calidad, resistencia al cambio, y diferencias respecto a la implementación ágil, entre otras [8].
Teniendo en cuenta lo anterior, para facilitar el éxito en el escalamiento de un enfoque de desarrollo de una organización hacia uno de desarrollo ágil a gran escala, es necesario garantizar que la cultura ágil impacte sobre las personas que desarrollan un producto, la calidad del producto/servicio que se desea implementar, y los procesos que se utilizan para obtenerlo y gestionarlo [7]. Se hace necesario, además, tener claridad respecto a los atributos fundamentales a tener en cuenta cuando una organización desea transformar y escalar su enfoque actual de desarrollo. En este sentido, el objetivo de este artículo es presentar Scaled Agile Model (en adelante SAM), el cual es un modelo híbrido preliminar para apoyar la transformación ágil a gran escala en la industria de software. El modelo surge como resultado de la armonización de las prácticas fundamentales presentadas en los marcos SAFe, LeSS, Nexus y DAD.
Dado lo anterior, el documento está organizado de la siguiente manera: la Sección II (Métodos) presenta los trabajos relacionados y describe la estrategia de armonización diseñada para homogeneizar, comparar e integrar las prácticas comunes de los marcos SAFe, LeSS, Nexus y DAD. La Sección III (Resultados) presenta la ejecución de la estrategia de armonización y, como resultado, se presenta un extracto del modelo híbrido obtenido. La Sección IV (Discusión) presenta las conclusiones y trabajo futuro.
II. Método
En este apartado se presenta un análisis de los trabajos relacionados y la estrategia de armonización utilizada para obtener un modelo híbrido.
A. Trabajos relacionados
Es posible observar que algunos estudios muestran interés en analizar ciertos marcos ágiles escalados desde múltiples perspectivas [15], por ejemplo: (i) revisión de la literatura para identificar los marcos escalados más adoptados por la industria [3, 16]; (ii) extracción de prácticas comunes entre SAFe y LeSS [3]; (ii) comparación de los marcos más adoptados para identificar sus fortalezas y debilidades [16], y (iv) análisis de los resultados de una encuesta aplicada a organizaciones sobre los marcos más adoptados, con el fin de extraer mediante una comparación de las mejores prácticas [7].
En consecuencia, es posible observar que existen marcos de trabajo ágiles escalados para ser adoptados por las organizaciones de software, sin embargo, estas soluciones no establecen la forma en la que una organización puede mantener o fusionar sus prácticas con las sugeridas por otros marcos escalados. Por otro lado, no ha sido posible evidenciar una solución que clarifique a las organizaciones los elementos básicos/fundamentales a tener en cuenta.
B. Protocolo de armonización
La estrategia de armonización definida tuvo por objetivo llevar a cabo la identificación de prácticas comunes entre los marcos de desarrollo ágil escalado más utilizados como: SAFe, LeSS, Nexus y DAD. Para ello, se implementaron los métodos propuestos por Pardo [17], los cuales son: (i) un método de homogeneización -HoMethod- [18], el cual permite identificar y resolver las diferencias estructurales entre modelos; (ii) un método de comparación -CoMethod- [19], el cual define un proceso para apoyar la identificación de las relaciones entre modelos, y (iii) un método de integración -IMethod- [20], el cual establece los pasos a seguir para hibridar las descripciones de los elementos deseados.
Para llevar a cabo la comparación de los marcos de trabajo, se realizó un análisis de sus estructuras y terminología. Al realizar el análisis de las estructuras de SAFe, LeSS, DAD y Nexus, fue posible encontrar elementos comunes entre ellos, por ejemplo: principios, reglas, prácticas, roles y artefactos. Sin embargo, teniendo en cuenta el alcance definido anteriormente y, dado que elementos como principios y reglas describen el objetivo propio de cada enfoque, la comparación se centró únicamente en las prácticas principales de los marcos y el nivel de detalle de la definición de cada una de ellas. Las correspondencias identificadas fueron constantemente revisadas por la experiencia y criterio de un asesor con amplia experiencia en la definición de modelos híbridos, lo que permitió disminuir el nivel de subjetividad de esta actividad.
Una vez identificadas las prácticas de los marcos de trabajo, se procedió a compararlas utilizando una adaptación del método CoMethod [19], éste permite identificar, mediante una plantilla de mapeo, la correspondencia entre las prácticas planteadas por un marco A (establecido como base) y las prácticas planteadas por un marco B. La Figura 1 presenta las tareas realizadas en esta actividad de comparación.
Con el fin de reducir la complejidad presentada al momento de llevar a cabo la integración de todas las relaciones encontradas, se decidió llevar a cabo dos etapas de integración. Etapa 1: hibridación entre las relaciones uno a uno de las comparaciones, y Etapa 2: hibridación entre las integraciones realizadas en la Etapa 1. La Figura 2 presenta el proceso llevado a cabo en la actividad de integración.
III. Resultados
En esta sección se presentan de forma detallada las tareas realizadas en la estrategia de armonización aplicada a SAFe, LeSS, Nexus y DAD.
A. Homogeneizando los marcos
Para llevar a cabo la comparación entre los marcos, se realizó una extracción de la información de aquellas prácticas del desarrollo ágil de software a gran escala definidas por los marcos LeSS, Nexus, DAD y SAFe; identificando 22 prácticas de SAFe, 11 de LeSS, 6 de Nexus y 15 de DAD. En la Tabla 1 se presenta un ejemplo de la extracción de las prácticas de SAFe.
B. Comparando los marcos
Teniendo en cuenta que SAFe es uno de los marcos más completos y usados, según el reporte anual del estado de agilidad [21], se establece que la direccionalidad del mapeo en el presente estudio será desde SAFe (marco base) hacia LeSS, Nexus y DAD, respectivamente. Con el fin de expresar de forma cualitativa el grado de correspondencia entre los marcos de trabajo a nivel de prácticas, se definió una escala discreta o escala de comparación conformada por cinco puntos: Correspondencia Nula (CN) (0%), Correspondencia Débil (CD) (1%-15%), Correspondencia Parcial (CP) (16%-50%), Correspondencia Amplia (CA) (51%- 81%) y Correspondencia Fuerte (CF) (86%-100%). Para calcular el nivel de correspondencia entre las prácticas definidas por un marco de trabajo A y las prácticas de un marco de trabajo B, se usó la ecuación (1).
La realización de la comparación tuvo un enfoque iterativo por cada comparación de dos modelos, es decir, un total de tres iteraciones: SAFe y Nexus, SAFe y LeSS, y SAFe y DAD (ver Figura 1). En cada iteración se realizó un análisis semántico y sintáctico con un alto nivel de abstracción que permitiera identificar las características, diferencias y relaciones entre las prácticas comparadas. Finalmente, el revisor analizó los resultados con el objetivo de verificar la fiabilidad de los resultados y el método de comparación. Para organizar las relaciones identificadas en cada comparación, se utilizó una convención, por ejemplo: para la comparación entre SAFe (S) y Nexus (N), se utilizó la etiqueta SNi, donde i es un consecutivo. Este proceso fue aplicado de manera análoga para cada una de las relaciones resultantes de las comparaciones de SAFe (S) vs. LeSS (L) y SAFe (S) vs. DAD (D), que a su vez fueron identificadas con las etiquetas SLi y SDi, respectivamente. En la Tabla 2 se muestra un extracto de la comparación entre las prácticas de SAFe y Nexus. Todas las relaciones identificadas entre la comparación de SAFe y los marcos LeSS, Nexus y DAD están disponibles a través del siguiente link: https://bit.ly/3cXwyFj.
La Tabla 3 presenta las direccionalidades de la comparación, el número de relaciones encontradas, el porcentaje de correspondencia obtenido y su respectiva calificación cualitativa de acuerdo con la escala definida. Como se puede observar, se encontraron 11 relaciones entre SAFe y Nexus, 20 relaciones entre SAFe y LeSS, y 20 relaciones entre SAFe y DAD. Asimismo, se identifica que el nivel de correspondencia de SAFe hacia LeSS, Nexus y DAD es fuerte, con LeSS y Nexus del 100%, es decir, la totalidad de sus prácticas son soportadas por SAFe; mientras que con DAD es del 87%, ya que, de 15 prácticas definidas, 13 se relacionaron con una o más prácticas de SAFe. Por otro lado, en cuanto a los niveles de correspondencia entre DAD, Nexus y LeSS hacía SAFe, se evidenció que tanto LeSS como DAD presentan una correspondencia amplia en relación a SAFe, a diferencia de Nexus, que presentó una correspondencia parcial del 50%. Finalmente, cabe resaltar que, si bien se evidenciaron correspondencias fuertes entre los marcos comparados, esto no significa que sean idénticos, sino que las prácticas identificadas en LeSS, Nexus y/o DAD son equivalentes y han encontrado al menos una relación con una práctica de SAFe.
C. Llevando a cabo la integración
A continuación, se describen las actividades realizadas en las etapas.
1) Etapa 1. Hibridación entre las relaciones uno a uno de las comparaciones.
Luego de identificar las relaciones existentes entre los marcos comparados, se realizó un proceso de hibridación de las dos prácticas relacionadas, teniendo en cuenta su nivel de detalle, tomando fragmentos de su definición, y reescribiéndolos como una nueva definición, sin perder el sentido semántico de sus definiciones. Lo anterior, con el fin de establecer una práctica genérica representativa entre las dos prácticas comparadas. De acuerdo con el proceso diseñado, se realizaron tres iteraciones para la hibridación: (i) se hibridaron las relaciones encontradas entre SAFe y LeSS; (ii) se hibridaron las relaciones encontradas entre SAFe y Nexus, y (iii) se hibridaron las relaciones encontradas entre SAFe y DAD. En la Tabla 4, se presenta un ejemplo de la hibridación de la relación SN3 obtenida de la comparación presentada en la Tabla 2. Los resultados de hibridar todas las relaciones encontradas en la comparación de los marcos SAFe, LeSS, Nexus y DAD, se encuentran disponibles en el link: https://bit.ly/3cXwyFj.
Para facilitar la integración de las definiciones entre las prácticas relacionadas, se estableció un conjunto de criterios de integración basados en los propuestos por Pardo et al [22], los cuales se ajustaron al trabajo, permitiendo saber cómo integrar la definición de cada práctica. El conocimiento previo de los modelos involucrados y la experiencia del revisor fueron fundamentales para aplicar los criterios adecuadamente. En la Tabla 5 se presentan los 3 criterios de integración con su respectiva descripción.
2) Etapa 2. Hibridación entre las integraciones realizadas en la Etapa 1. Luego de las integraciones realizadas en la Etapa 1, se realizaron dos iteraciones más de la siguiente manera: i) se integraron las prácticas híbridas de SAFe y LeSS y las prácticas híbridas de SAFe y Nexus, dando como resultado una primera versión del modelo integrado; ii) posteriormente, estas prácticas se integraron con las prácticas híbridas de SAFe y DAD, obteniendo así un modelo híbrido integrado final. La Tabla 6 presenta un extracto y ejemplo del proceso de integración de las prácticas híbridas de SAFe-LeSS y SAFe-Nexus, donde se evidencia que, si bien la práctica obtenida en SAFe-LeSS (práctica SL) ofrece una definición más detallada que la práctica obtenida en SAFe-Nexus (práctica SN), la definición de la práctica SN complementa la definición de la práctica SL. Por lo tanto, aplica el criterio de integración B (ver Tabla 5) y la definición de la práctica SL se adapta para que contenga la definición de la práctica SN. El resultado de la integración de todas las prácticas híbridas se encuentra disponible en el link: https://bit.ly/3cXwyFj.
D. Modelo integrado
Tras llevar a cabo la integración de prácticas híbridas, el resultado fue un conjunto de 18 prácticas que formarán parte del modelo híbrido integrado preliminar. Asimismo, las prácticas del modelo base SAFe fueron renombradas de manera que los nuevos nombres sean más representativos con las prácticas del modelo integrado. Debido a los límites de espacio, no es posible presentar el modelo en su forma completa, sin embargo, en la Tabla 7 se presenta el nombre de cada práctica resultado de la integración. El modelo completo con las definiciones de las prácticas híbridas integradas está disponible en https://bit.ly/3cXwyFj.
IV. Discusión
Los enfoques ágiles fueron diseñados originalmente para equipos pequeños e individuales, lo que genera grandes desafíos y limitaciones cuando se hace necesaria su aplicación en entornos a gran escala, y cuando los equipos de desarrollo deben sincronizar sus actividades con otras unidades organizativas. Para intentar solucionar estas necesidades, se han definido marcos de trabajo ágil escalados como SAFe, LeSS, Nexus y DAD, entre otros. Cada marco es diferente en detalle, descripción e información, lo que genera ambigüedad en las organizaciones por la variedad de definiciones, inseguridad al no saber qué marco elegir o cómo empezar, incertidumbre por el desconocimiento de los beneficios, desafíos y elementos fundamentales a tener en cuenta para garantizar cierto porcentaje de éxito, entre otros.
Teniendo en cuenta lo anterior, en este artículo se presenta SAM, un modelo híbrido que integra las prácticas comunes de los marcos SAFe, LeSS, Nexus y DAD a partir de una estrategia de armonización definida. El modelo de referencia híbrido propone 18 prácticas fundamentales a tener en cuenta para apoyar las transformaciones ágiles a gran escala en la industria de software.
El modelo propuesto puede ser de gran beneficio práctico para: (i) organizaciones que desean escalar su enfoque de trabajo actual y no saben por dónde empezar; (ii) organizaciones que están escalando su enfoque, u (iii) organizaciones que ya escalaron su enfoque y quieren evaluar el nivel de implementación de sus marcos.
Como trabajo futuro, se espera: (i) realizar una nueva iteración de armonización teniendo en cuenta los elementos no abordados de los marcos, tales como: fases, roles, artefactos, entre otros, esto con el fin de complementar el modelo propuesto. (ii) Extender SAM con los atributos, prácticas, principios, desafíos y factores de éxito identificados en el mapeo sistemático de la literatura realizado por Cañizares et al [15]. Y, por último, (iii) evaluar el modelo propuesto a través de un grupo focal con expertos en DAGE como método cualitativo de evaluación, donde se espera evaluar aspectos relacionados con idoneidad, claridad y completitud, así como generar una nueva versión que mejore aspectos desfavorables que sean identificados e incorpore las sugerencias y recomendaciones que surjan en la evaluación.