Hacia el escalamiento de soluciones ágiles en grandes empresas de software: un mapeo sistemático

Towards the scaling of agile solutions in large software companies: a systematic mapping study

DOI: http://doi.org/10.17981/ingecuc.16.2.2020.13

Artículo de Investigación Científica. Fecha de Recepción: 28/07/2020. Fecha de Aceptación: 15/09/2020.

Tania Guadalupe Cañizares-Hernández

Universidad del Cauca. Popayán (Colombia)

ctania@unicauca.edu.co

Cristian Esthibel Gómez-Campo

Universidad del Cauca. Popayán (Colombia)

cristiangomezc@unicauca.edu.co

César Jesús Pardo-Calvache

Universidad del Cauca. Popayán (Colombia)

cpardo@unicauca.edu.co

Para citar este artículo:

T. Cañizares Hernández, C. Gómez Campo, C. Pardo Calvache, “Hacia el escalamiento de soluciones ágiles en grandes empresas de software: un mapeo sistemático”, INGE CUC, vol. 16, no. 2, pp. 180–191, 2020. DOI: http://doi.org/10.17981/ingecuc.16.2.2020.13

Resumen

Introducción— Actualmente, debido a la globalización, las compañías de software están optando por utilizar enfoques de Desarrollo Ágil a Gran Escala (DAGE). Sin embargo, no todos los elementos que se presentan en estos enfoques escalados son fácilmente aplicables al contexto de una organización, y tras llevar a cabo el mapeo sistemático, no se evidenció que describieran una estrategia de adaptación, implementación y control que facilite el proceso de transformación hacia el DAGE.

Objetivos— En este sentido, este artículo presenta un mapeo sistemático en el cual se analiza el conocimiento reciente sobre esta área de investigación, con el fin de identificar y establecer los atributos fundamentales a tener en cuenta en la transformación al DAGE desde la experiencia reportada en la literatura.

Metodología— Se sigue un protocolo para la realización de mapeos sistemáticos de la literatura, el cual plantea un conjunto de preguntas de investigación y se establece una estrategia de búsqueda aplicada en cuatro bases de datos. Posteriormente, se seleccionan los artículos primarios teniendo en cuenta los criterios de inclusión, exclusión definidos y, con base en los hallazgos se resuelven las preguntas de investigación y se realiza la clasificación y caracterización de los resultados. Finalmente, se discuten los resultados y se presentan las conclusiones.

Resultados— Los resultados obtenidos en este estudio presentan los esfuerzos de la comunidad científica por establecer principios, prácticas, roles, artefactos, desafíos y factores que permitan tener éxito en el proceso de escalamiento del enfoque de una organización hacia un enfoque de DAGE. Estos resultados se sintetizan como elementos fundamentales para escalar, respondiendo a qué tener en cuenta y cómo lograrlo.

Conclusiones— A partir de los resultados obtenidos, es posible concluir que no existe una terminología unificada, por lo que es importante estandarizarla para simplificar la comprensión y aplicación de enfoques escalados. Además, este documento muestra la vista previa del Framework para soportar la transformación del DAGE de una organización.

Palabras clave— Desarrollo ágil a gran escala; mapeo sistemático; desarrollo ágil de software; escalamiento ágil

Abstract

Introduction— Currently, due to globalization, software companies are opting to use Large-Scale Agile Development (LSAD) approaches. However, not all the elements that are presented in these scaled approaches are easily applicable to the context of an organization, and after carrying out the systematic mapping, there was no evidence that they describe an adaptation, implementation and control strategy that facilitates the process of transformation to LSAD.

Objectives— In this sense, this paper presents a systematic mapping in which recent knowledge about this research area is analyzed, in order to identify and establish the fundamental attributes to take into account in the transformation to LSAD from the experience reported in the literature.

Methodology— A protocol to carry out systematic mappings of the literature is followed, which raises a set of research questions and establishes a search strategy applied in four databases. Subsequently, the primary articles are selected taking into account the defined inclusion and exclusion criteria and, based on the findings, the research questions are resolved and the results are classified and characterized. Finally, the results are discussed and the conclusions are presented.

Results The results obtained in this study present the efforts of the scientific community to establish principles, practices, roles, artifacts, challenges and factors that allow success in the process of scaling an organization’s approach towards a LSAD approach. These results are synthesized as fundamental elements for to scale, answering what to take into account and how to achieve it.

Conclusions— From the results obtained, it is possible to conclude that there is no unified terminology, so it is important to standardize it to simplify the understanding and application of scaled approaches. In addition, this document shows the preview of the Framework to support the transformation of the LSAD of an organization.

Keywords— Large scale agile development; systematic mapping study; agile software development; scaling agile

I. Introducción

Los enfoques, métodos, modelos, técnicas, entre otros (en adelante, soluciones ágiles), han ganado relevancia en la industria de desarrollo de software [1], [2], [3]. Estas soluciones se caracterizan principalmente por: ser tolerantes a los cambios, entregas incrementales y la activa participación del cliente [4].

Las soluciones ágiles han demostrado ser de gran utilidad en proyectos conformados por grupos pequeños de colaboradores, entre 7 y 9 personas [5]. Sin embargo, son pocas las ocasiones donde han demostrado resultados eficientes en equipos donde el número de participantes es mayor [6], esto, debido a que, al aumentar el tamaño de los equipos, la inercia organizacional también aumenta, dificultando el cambio organizacional [7]. Por otra parte, las soluciones ágiles fueron definidas para contextos co-located (en el mismo sitio), y por esta razón, difícilmente pueden satisfacer las expectativas y demandas de un contexto de desarrollo ágil a gran escala, en adelante, DAGE. En este sentido, no se ajustan a grandes empresas con un gran número de empleados y equipos distribuidos geográficamente, situación que incrementa la complejidad de dirección, gestión y monitoreo del progreso de los equipos y sus interdependencias [8]. Además, aspectos como la comunicación, cooperación y coordinación se convierten en factores desafiantes para el desarrollo de software [7], [9], especialmente cuando las dependencias entre actividades están estrechamente vinculadas [10]. Por lo anterior, han surgido nuevos enfoques centrados en el DAGE como: Scrum of Scrums [11], Scrumconix [12], Nexus [13], SAFe [14], LeSS [15], DAD [16], entre otros. También han surgido guías como la presentada en [17], que se basa en Scrum [5] para definir un conjunto de actividades, tareas, roles y criterios para apoyar la gestión del desarrollo de software global cuando existen múltiples modelos de referencia.

El DAGE se caracteriza por la necesidad de coordinar el esfuerzo, la comunicación, coordinación y cooperación entre los equipos y entre otras unidades organizativas, tales como: recursos humanos, marketing, ventas y gestión de productos [7], que pueden o no estar distribuidas geográficamente y pueden o no sufrir cambios culturales. Sin embargo, ninguna de las soluciones definidas para el desarrollo a gran escala describe una estrategia de adaptación, implementación y control que facilite el proceso de transformación, esto causa confusión en las organizaciones [18], y en algunas ocasiones, las lleva a modificar el enfoque elegido tomando partes de otras soluciones, o a desarrollar un enfoque propio acorde a sus necesidades [19], esto, debido a que no todas las prácticas por los modelos sugeridos son fácilmente aplicables, con lo cual puede ser necesaria una ruta de implementación clara que se adapte al contexto de la organización [6].

Para garantizar el éxito en la adopción de un enfoque de DAGE, no solo es necesario garantizar que la cultura ágil impacte sobre las personas que desarrollan un producto, la calidad del producto/servicio a implementar y los procesos que se utilizan para obtenerlo y gestionarlo [9], sino también, es importante considerar qué atributos son fundamentales y cómo realizar el escalamiento de una solución. Teniendo en cuenta lo anterior, este artículo presenta un mapeo sistemático en el cual se analiza el conocimiento reciente sobre esta área de investigación, con el fin de identificar y establecer los atributos a tener en cuenta para apoyar el DAGE desde la experiencia reportada en la literatura.

Este artículo es una extensión del artículo presentado en [20], en donde, si bien se evidenciaron resultados relevantes, éstos fueron considerados como preliminares para su extensión en esta versión, teniendo en cuenta que la primera versión contempló artículos hasta el año 2018, tres fuentes de búsqueda y no se profundizó en el análisis de los hallazgos, en cuanto a clasificación y agrupación de resultados. Adicionalmente, cabe señalar que el trabajo previo, aunque puede tener relación con el área de desarrollo de software global, sólo se enfocó en el escalamiento ágil. Por lo anterior, las principales diferencias con respecto al primer artículo son: se incluyen nuevos estudios que no se tuvieron en cuenta en el año 2019 y se adiciona una nueva fuente de búsqueda (ACM DL), se muestra la caracterización de los hallazgos en la literatura, los cuales responden a qué tener en cuenta para escalar y cómo lograrlo, y se expone un avance de propuesta como modelo de referencia basado en atributos a tener en cuenta para transformar una solución de desarrollo ágil en una solución de DAGE.

Este documento está organizado de la siguiente manera. La sección II, presenta el método de investigación establecido para llevar a cabo el mapeo sistemático. La sección III, presenta las respuestas y el análisis a las preguntas planteadas en la investigación. La sección IV, presenta la caracterización y clasificación de los hallazgos obtenidos. En la sección V, se discuten los hallazgos obtenidos. La sección VI, presenta la estructura de un framework preliminar basado en los atributos fundamentales (encontrados en la literatura) que debe tener en cuenta una organización en el proceso de transformación hacia un enfoque de DAGE. Finalmente, en la sección VII, se presentan las conclusiones y trabajos futuros.

II. Método de Investigación

El método de investigación se basó en las directrices presentadas en otros trabajos [21], [22], [23], [24] y se compone de tres etapas principales: Planificación, ejecución y documentación. La etapa de planificación, involucra las actividades de: (i) diseñar preguntas de investigación, (ii) establecer la estrategia de búsqueda, (iii) definir criterios de selección para estudios primarios, (iv) establecer criterios de evaluación de calidad, (v) definir la estrategia de extracción de datos y, (vi) seleccionar los métodos de síntesis. La etapa de planeación y ejecución se presentan como subsecciones de la presente sección, la etapa de documentación será presentada en la sección III.

A. Etapa de planificación

1) Preguntas de investigación

En la Tabla 1 se presentan las preguntas definidas para indagar los trabajos relacionados en el contexto del desarrollo ágil a gran escala, sin embargo, para el presente trabajo, el cual es una extensión del mapeo sistemático presentado en [20], solo se seleccionaron para su profundización, clasificación y agrupación las preguntas de investigación: PI3, PI4 y PI6 las cuales están basadas en la primera versión del mapeo presentada en [20]. Esta decisión se toma partiendo del objetivo principal de este trabajo, que es establecer aquellas propuestas que respondan al qué tener en cuenta para escalar y cómo lograrlo. Por consiguiente, las preguntas de investigación PI1, PI2 y PI5 enfocadas en obtener un conocimiento relacionado a qué se está entendiendo por DAGE, qué tipos de estudios existen sobre el DAGE y qué estructuras de trabajo se proponen para el DAGE respectivamente, no se tuvieron en cuenta para su extensión.

Tabla 1. Preguntas de investigación.

#

Preguntas de investigación

Motivación

1

PI1. ¿En la comunidad científica, qué se entiende por desarrollo ágil a gran escala?

Conocer la definición de desarrollo de software “a gran escala” según la comunidad científica.

2

PI2. ¿Qué tipos de estudios existen sobre el escalamiento de un enfoque de desarrollo de software hacia un enfoque de DAGE?

Identificar los tipos de estudios y tendencias investigativas en esta temática.

3

PI3. ¿Qué principios se proponen para el desarrollo ágil a gran escala?

Definir y analizar los principios del desarrollo ágil a gran escala con base en los artículos encontrados.

4

PI4. ¿Existen o se proponen prácticas, recomendaciones y/o artefactos que permitan apoyar el desarrollo ágil a gran escala?

Puntualizar prácticas y/o artefactos mínimos a tener en cuenta para desarrollar software de forma ágil a gran escala.

5

PI5. ¿Existe o se propone una estructura de trabajo y/o roles que soporten el escalamiento de un enfoque de desarrollo de software?

Identificar nuevas estructuras de trabajo y roles presentes en el escalamiento ágil de un enfoque.

6

PI6. ¿Qué factores de éxito y desafíos se pueden identificar en el escalamiento ágil?

Indicar los aspectos que han permitido escalar exitosamente un enfoque de desarrollo de software, así mismo, los aspectos desafiantes que se han presentado durante su realización.

Fuente: Autores.

2) Estrategia de búsqueda

En la búsqueda automática se utilizó la cadena de búsqueda: (Methods OR Frameworks OR Model OR practices OR principles OR values) AND (“Large scale agile” OR “Large-scale agile” OR “scaling agile”), y se aplicó a las bases de datos: Scopus, IEEE Xplore, SpringerLink y ACM DL; en las cuales adaptó e introdujo la cadena de búsqueda usando una ventana de tiempo de 10 años.

3) Criterios de inclusión y exclusión

Los estudios fueron seleccionados en función del título, resumen y palabras clave con el fin de determinar si clasificaban como estudios relevantes, luego, éstos se seleccionaron teniendo en cuenta el cumplimiento con los siguientes criterios de inclusión: (i) estudios en inglés que se referían al desarrollo de software a gran escala y (ii) estudios completos que sean artículos publicados entre 2008 y 2019 en revistas, conferencias, congresos o talleres de prestigio con revisión por pares. De la misma manera, se obviaron aquellos estudios que cumplieran con algunos de los siguientes criterios de exclusión: (i) estudios duplicados, (ii) estudios cuya principal contribución no tenga que ver con el desarrollo a gran escala y (iii) el estudio contemple el tema de manera superficial. Asimismo, se aplicó el método backward reference searching, en el cual se revisan los estudios citados en cada uno de los estudios seleccionados como primarios [23].

4) Criterios para evaluar la calidad

Para medir la calidad de los estudios seleccionados y determinar los estudios relevantes sobre desarrollo ágil de software a gran escala, se desarrolló un cuestionario con un sistema de puntuación de tres valores (–1, 0 y +1). Los criterios de calidad establecidos para evaluar los estudios primarios se explican en [20]. La Tabla 2 muestra los resultados de la evaluación de los nuevos estudios de acuerdo con los criterios de evaluación de calidad. La suma del puntaje de cada estudio corresponderá al puntaje final (obteniendo un valor entre –5 y +5).

Tabla 2. Evaluación de la calidad de los estudios primarios.

Referencia

Criterio

C1

C2

C3

C4

C5

Puntaje

[8]

0

+1

+1

–1

0

1

[10]

+1

+1

+1

–1

+1

3

[19]

0

0

–1

–1

–1

–3

[25]

–1

+1

–1

–1

0

–2

[26]

+1

–1

–1

–1

+1

–1

[27]

–1

+1

+1

–1

+1

1

[28]

–1

+1

+1

+1

0

2

[29]

+1

+1

–1

+1

0

2

[30]

–1

+1

+1

+1

0

2

[31]

–1

+1

+1

+1

+1

3

[32]

–1

–1

–1

–1

–1

5

[33]

–1

+1

+1

–1

–1

–1

[34]

–1

+1

0

–1

0

–1

[35]

–1

+1

+1

–1

0

0

[36]

–1

+1

0

–1

+1

0

[37]

–1

+1

+1

–1

0

0

[38]

–1

+1

+1

–1

+1

1

Fuente: Autores [8], [10], [19], [25], [26], [27], [28], [29], [30], [31], [32], [33], [34], [35], [36], [37], [38].

5) Criterios para evaluar la calidad

Después de seleccionar los estudios primarios, fue posible comenzar con la extracción de la información más relevante de cada uno de ellos, usando una estrategia la cual se basa en un conjunto de posibles respuestas para cada una de las preguntas de investigación definidas. La estrategia basada en la respuesta permite que se apliquen los mismos criterios de extracción de datos para todos los estudios primarios seleccionados.

6) Método de síntesis

Se realizó un análisis cuantitativo que se basó en la representación de la información a través de: (i) el uso de tablas y gráficos con el porcentaje respectivo de los estudios seleccionados y clasificados según las posibles respuestas a las preguntas establecidas, y (ii) mecanismos de representación gráfica para el análisis de la información que permitan conocer la frecuencia de las respuestas a cada una de las preguntas.

B. Etapa de ejecución

En la etapa de ejecución se llevó a cabo la aplicación del protocolo de revisión definido en la etapa de planificación realizando cuatro iteraciones, una iteración por cada fuente de búsqueda establecida. La Tabla 3 presenta la cantidad total de estudios relevantes, repetidos y primarios encontrados en las fuentes de búsqueda: Scopus, IEEE Xplore, Springerlink y ACM DL.

Tabla 3. Conteo de estudios encontrados en cada fuente de búsqueda.

Fuente de búsqueda

Estudios encontrados

Estudios relevantes

Estudios relevantes repetidos

Estudios primarios seleccionados

Scopus

120

33

0

9

IEEE Xplore

59

10

7

4

Springerlink

140

28

7

9

ACM DL

44

28

2

5

Total de estudios primarios

27

Fuente: Autores.

III. Análisis de los Resultados

Las respuestas a las preguntas PI3, PI4 y PI6 se presentarán en las siguientes secciones, y las respuestas detalladas a las preguntas de investigación (PI1, PI2 y PI5) no abordadas en este trabajo pueden ser encontradas en [20]. La Fig. 1 presenta un gráfico de burbuja donde se clasifican los trabajos primarios según el tipo de estudio y el aporte a cada una de las preguntas establecidas anteriormente.

Fig. 1. Visualización del mapeo sistemático en forma de gráfico de burbujas.
Fuente: Autores.

A. Principios a tener en cuenta para el escalamiento ágil (PI3)

La contribución de los estudios analizados para identificar principios a gran escala fue solo del 7.4%, correspondiente a 2 artículos clasificados como propuestas. Por un lado, en el taller XP2014 [4], se creó una comunidad de investigadores y profesionales interesados en el desarrollo ágil a gran escala, quienes concluyeron que los principios a tener en cuenta en el desarrollo ágil a gran escala deberían centrarse en: (i) coordinación entre equipos, (ii) gestión de cartera, (iii) prácticas de escala y (iv) arquitectura de software. Por otro lado, en [39] se propone un conjunto de 21 principios para la ampliación del desarrollo ágil, que tienen como base los principios del Manifiesto Ágil [40], los principios Toyota [41], Lean [42], Beyond Budgeting [43] y Blue Ocean [44]. Según [39], con estos principios se busca cubrir todos los aspectos de la agilidad presentados en grandes organizaciones, también se establece que la agilidad en las organizaciones va más allá de la agilidad del producto que se construye, en este sentido, también se debe cubrir otros aspectos tales como: agilidad estratégica, agilidad en negocios, agilidad en la organización, herramientas ágiles, entre otros.

B. Prácticas, recomendaciones y artefactos que apoyan el desarrollo ágil a gran escala (PI4)

La contribución de los estudios analizados para identificar prácticas, recomendaciones y/o artefactos fue solamente del 51.8%, 14 artículos de los cuales: 6 son estudios de caso, 6 son propuestas, 1 es revisión de la literatura y 1 está clasificado como otro tipo de estudios. Se encontraron propuestas concretas al desarrollo ágil a gran escala como: (i) las mejores prácticas extraídas de la comparación de algunos enfoques ágiles escalados [45], (ii) recomendaciones para superar ciertos desafíos como la coordinación entre equipos [28], (iii) roles especializados para apoyar los mecanismos de coordinación [10], (iv) estrategias técnicas tales como el desarrollo dirigido por modelos, pruebas continuas, técnicas de gestión de bases de datos ágiles y gobernanza del desarrollo [36], (v) artefactos necesarios en el ciclo de vida del desarrollo [46] y (vi) convenciones que facilitan la coordinación de equipos [37].

C. Desafíos y factores de éxito en el DAGE (PI6)

El DAGE implica enfrentar desafíos únicos [7], por ejemplo: alto riesgo en su aplicación, tiempo, dinero, recursos, gestión y la adopción de un marco complejo diferente al tradicional. Estos desafíos representan una oportunidad de mejora para las organizaciones que lo requieren. En el mapeo se encontró que el 26%, correspondiente a 7 artículos: 3 son estudios de caso, 1 es revisión de la literatura, 2 son propuestas y 1 está clasificado como otro tipo de estudio. Estos estudios describen una serie de desafíos y factores de éxito relacionados con la transformación ágil a gran escala. Entre los factores de éxito encontrados se tienen factores como: (i) unificación de vistas y valores, (ii) apoyo de la gerencia, (iii) cultura empresarial y previa experiencia en ágil, (iv) capacitar y entrenar al personal, y (v) comunicación y transparencia. De la misma manera, se identificaron desafíos como: (i) resistencia al cambio, (ii) coordinación de equipos en entornos distribuidos, (iii) integración de enfoques ágiles con no ágiles, y (iv) falta de compromiso y trabajo en equipo. Estos factores son abordados con más detalle en la siguiente sección.

IV. Caracterización y clasificación de los hallazgos

A continuación, en las Tabla 4, Tabla 5 y Tabla 6 se presentan respectivamente los extractos de la caracterización de los principios, prácticas, desafíos y factores de éxito identificados. Para el proceso de caracterización, se creó una plantilla la cual permitiera extraer información como la referencia del autor, definición de la propuesta, observaciones y clasificación qué, cómo (presentada en la Tabla 7) de cada propuesta encontrada. Cuando se presentaron varios autores apoyando una misma propuesta, se optó por ubicar la definición que fuese más detallada. La caracterización completa puede ser accedida mediante la siguiente dirección web: https://scaledagilemodel.github.io/mapeo.html

Tabla 4. Extracto de la caracterización de principios identificados.

Principio

Referencia

Definición

Coordinación entre equipos.

[4]

Para coordinar equipos en el DAGE, se deben establecer normas y valores comunes y enfocarse en las redes de conocimiento eficaces, ya que estas son esenciales en el desarrollo a gran escala debido a la naturaleza intensiva en conocimiento del desarrollo de software.

Arquitectura de software.

[4]

Se debe prestar atención al papel que representa la arquitectura y cómo esta coordina el trabajo del DAGE. Además, la organización del trabajo arquitectónico debe ser influenciado por el nivel de incertidumbre y el nivel de cambio.

El aprendizaje ocurre entre equipos.

[39]

La integración grupal permite una mejor empatía entre los miembros de los equipos, resultando en una retroalimentación más rápida y la creación de conocimiento colectivo bajo una misma visión y enfoque.

Fuente: Autores [4], [39].
Tabla 5. Extracto de la caracterización de prácticas y recomendaciones identificadas.

Práctica

Referencia

Definición

SoS semanales.

[6]

Reunión de sincronización entre equipos. Informa sobre el estado actual del trabajo, impedimentos y gestión de dependencias.

Entrenamiento intensivo y acompañamiento durante los primeros 2-6 meses.

[38]

Se debe capacitar a las personas en agilismo y un entrenador (coach) debe estar disponible para resolver las dudas de los equipos.

Fuente: Autores [6], [38].
Tabla 6. Extracto de la caracterización de desafíos y factores de éxito identificados.

Factor

Referencia

Definición

Involucrar a los líderes del cambio.

[7], [9], [19]

Factor de éxito el cual se resalta que la coordinación se ve favorecida gracias a los responsables del cambio, los cuales son los líderes que contribuyen en la adopción de la nueva forma de trabajo.

Persuadir a los equipos para que transformen su forma, procesos y herramientas de trabajo.

[6], [7], [9], [19], [28]

La resistencia al cambio se origina cuando una organización empieza un proceso de transformación y cambio, ésta se evidencia con personas que pueden estar familiarizadas con el desarrollo ágil, pero que no gustan de esa forma de trabajo.

Fuente: Autores [6], [7], [9], [19], [28].

Como paso posterior a la caracterización, las propuestas fueron clasificadas como un qué, cuando dicha propuesta era planteada como una recomendación, sugerencia o práctica generalizada; o un cómo, cuando la propuesta era más específica o respondía a un qué ya planteado. Lo anterior, con el fin extraer qué se necesita para el escalamiento ágil y cómo lograrlo. Finalmente, esto permitirá establecer los hallazgos más relevantes como potenciales atributos fundamentales para el DAGE.

Es importante resaltar que para el proceso de clasificación solamente se tuvo en cuenta las prácticas, recomendaciones, desafíos y factores de éxito, ya que los principios se presentan como pilares para el escalamiento; y los artefactos y roles se presentan como herramientas y estructuras que apoyan al escalamiento. De manera adicional, los desafíos al ser oportunidades de mejora fueron reescritos para presentarlos como factores de éxito y se identifican en letra itálica. De las 71 propuestas encontradas, el 60.6% responden a qué se necesita para escalar; de los cuales el 48.8% son prácticas y/o recomendaciones, y el 51.2% son desafíos y factores de éxito. De la misma manera, el 39.4% de las propuestas responden cómo lograr el escalamiento; de los cuales el 46.4% son prácticas y/o recomendaciones, y el 53.6% son desafíos y factores de éxito. Debido a la limitación de espacio, la Tabla 7 presenta un extracto de la clasificación realizada, la versión detallada se puede consultar en: https://scaledagilemodel.github.io/mapeo.html.

Tabla 7. Extracto de la clasificación de los hallazgos en la literatura.

Qué

Referencia

Descripción

Cómo

Referencia

Descripción

SoS semanales.

[6]

Reunión de sincronización entre equipos. Informar sobre el estado actual del trabajo, impedimentos y gestión de dependencias.

Enviar representantes del equipo a la reunión de SoS.

[6]

Tal como sugiere LeSS o SAFe con la variación de usar un sistema rotativo de miembros representantes del equipo en cada reunión.

Llevar a cabo un Scaled Sprint Demo separadas por equipos individuales.

[6]

Cada equipo tendrá su reunión de demostración por separado, sólo con propietarios de producto.

Usar un “Modelo de feria de ciencias”.

[6]

Cada equipo configura una pantalla, y los empleados visitan las que les parecen interesantes. Cada “stand” ofrece una presentación de 15 minutos sobre los esfuerzos de trabajo recientes.

Mentalidad y alineación ágil.

[7]

Entender los valores ágiles para dar sentido a las razones que motivan el cambio o transformación de una organización.

Involucrar a líderes del cambio.

[7], [9], [19]

La motivación y coordinación se ve favorecida gracias a los portavoces del cambio, líderes que contribuyen en la adopción de la nueva forma de trabajo.

Fuente: Autores [6], [7], [9], [19].

V. Discusión

Teniendo en cuenta que no se evidencia una definición genérica para definir DAGE [20], se propone la siguiente definición: “Desarrollo de software en proyectos de larga duración, con un mínimo de 9 meses, el cual requiere a nivel de proyecto al menos 2 equipos que pueden estar o no distribuidos geográficamente, con un mínimo de 25 personas involucradas y que maneja a nivel de proyecto una complejidad media o alta” [20].

Con relación a prácticas para soportar el ciclo de vida de un enfoque de DAGE, no se encontró mayor evidencia, si bien existen varios frameworks de trabajo y algunas propuestas, éstas no son detalladas y no quedan claros ciertos elementos, por ejemplo: los artefactos para establecer valor compartido y facilitar la coordinación entre los participantes de un equipo de trabajo [46]. Como se plantea en [46], el incluir nuevos artefactos, roles y nuevas reuniones pueden desviar el “enfoque saludable” y ágil de una organización, sin embargo, dichos cambios son necesarios para favorecer la coordinación, revisión y supervisión del DAGE.

Por otra parte, en [25] se puede observar que, aunque las organizaciones estudio de caso que afirmaron trabajar de acuerdo con frameworks como SAFe o LeSS, sólo 4 de las 42 organizaciones reportadas siguieron las implementaciones de roles sugeridos en los frameworks escalados mencionados. Desde su perspectiva, estos frameworks no se consideran prescriptivos, sino más bien como “cajas de herramientas o inspiración” [25]. Asimismo, en [27] se plantea que las principales razones para que una empresa decida adoptar agilidad a gran escala; son o están relacionadas con las presiones externas para ser cada vez más competitivas. frameworks como SAFe, LeSS y otras soluciones, pueden ser puntos de partida útiles, porque describen pasos para el escalamiento. Sin embargo, muchas organizaciones están desorientadas, porque no saben: (i) si están realizando el escalamiento de su enfoque correctamente, (ii) qué tan lejos están de dicha transformación; o (iii) qué pasos deberían seguir en caso de enfrentarse a ciertos desafíos inherentes al escalamiento [27]. De la misma manera, en [28] se identificó la necesidad de estudios empíricos, que no se basen en la documentación de los frameworks escalados, sino que se centren en la experiencia que han tenido muchas organizaciones al momento de escalar su enfoque actual de desarrollo de software.

Teniendo en cuenta lo anterior, se considera que, con la recopilación de prácticas, herramientas, roles, desafíos, factores de éxito y artefactos de los trabajos analizados, se podría llegar a un modelo de referencia, el cual indique los atributos/requisitos necesarios a tener en cuenta para apoyar la transformación de un enfoque de desarrollo de software hacia un ágil a gran escala. Además, a partir de dicho modelo de referencia se podría crear un modelo de evaluación, ya que se hace necesario evaluar cuál es el estado actual de su adopción ágil a gran escala y cuáles serían los próximos pasos/oportunidades de mejora para avanzar en su transformación. En la siguiente sección se presenta un diseño preliminar de los elementos que podría contener un framework que permita apoyar el escalamiento de las empresas que desarrollan software.

VI. Framework para apoyar la transformación hacia el DAGE

En la Fig. 2 se presenta una versión preliminar del framework que se está desarrollando para soportar los principales desafíos identificados en este mapeo sistemático y que permita apoyar el escalamiento de un enfoque de desarrollo de software. El framework estará conformado por: (i) OntoAgile [47], una ontología que permite tener una terminología común y coherente para compartir el conocimiento generado en torno a la implementación de los enfoques ágiles, (ii) un modelo de referencia basado en atributos fundamentales a tener en cuenta en el proceso de transformación hacia un enfoque de DAGE, el cual será creado adaptando el framework presentado en [48] para el modelado de procesos en el desarrollo global de software, (iii) un modelo de evaluación que permite evaluar el estado de una organización en términos de cumplimiento de los elementos fundamentales en el DAGE, este modelo de evaluación es creado usando el modelo de referencia para el escalamiento ágil, el paradigma Goal Question Metric (GQM) [49], PvalCOMPETISOFT [50] y la experiencia reportada en el mapeo sistemático presentado en [51]; y (iv) una herramienta web basada en el modelo de referencia y el modelo de evaluación para evaluar el grado de cumplimiento de la transformación ágil a gran escala.

Fig. 2. Framework para soportar la transformación del DAGE de una organización.
Fuente: Autores.

VII. Conclusiones y Trabajos Futuros

El escalamiento de soluciones en el desarrollo de software ágil es un proceso que no solo se trata de adoptar y ajustar ciertas reuniones o características del desarrollo ágil, esto implica una transformación ágil total. En este sentido, algunos autores proponen principios ágiles escalados, mejores prácticas de desarrollo ágil a escala, prácticas basadas en el empirismo, nuevos artefactos para apoyar el escalamiento, factores que favorecen el éxito de la transformación a gran escala, recomendaciones a los desafíos encontrados, entre otros. Por lo tanto, y a partir de la información recopilada hasta este punto, es posible establecer una definición preliminar de los atributos fundamentales a considerar en el desarrollo ágil de software a gran escala.

Como trabajo futuro, se continuará trabajando en el desarrollo del modelo de referencia basado en atributos/elementos fundamentales que permitan ser tomados como referencia para la evaluación del nivel de calidad de un enfoque que se desee escalar o que haya sido escalado. El modelo de referencia incluirá los atributos comunes de las soluciones escaladas más representativas, entre ellas: SAFe, LeSS, DAD y Nexus y los encontrados en este mapeo sistemático de la literatura. La identificación de los elementos comunes y la fusión de elementos se realizará a través de una estrategia de armonización de múltiples modelos. Finalmente, se buscará ampliar esta investigación agregando nuevas herramientas de búsqueda y/o bases de datos que permitan encontrar nuevos estudios para complementar la investigación y llenar los vacíos que se hayan podido presentar.

Agradecimientos

El profesor César Pardo agradece la contribución de la Universidad del Cauca, donde trabaja como profesor asociado.

Referencias

[1] F. Mc Caffery, P. S. Taylor & G. Coleman, “Adept: A unified assessment method for small software companies,” IEEE Softw, vol. 24, no. 1, pp. 2431, Jan. 2007. https://doi.org/10.1109/MS.2007.3

[2] M. Amir, K. Khan, A. Khan & M. Khan, “An appraisal of agile software development process,” Int J Adv Sci Eng Inf Technol, vol. 58, pp. 7586, 2013. https://doi.org/10.14257/ijast.2013.58.07

[3] T. J. Gandomani & M. Z. Nafchi, “Agility assessment model to measure agility degree of agile software companies,” INDJSRT, vol. 7, no. 7, pp. 955959, 2014. https://dx.doi.org/10.17485/ijst/2014/v7i7.8

[4] T. Dingsøyr & N. B. Moe, “Towards principles of large-scale agile development,” presented at International Conference on Agile Software Development XP'14, ACM, ROM, IT, 26-30 May. 2014, pp. 18. https://doi.org/10.1007/978-3-319-14358-3_1

[5] K. Schwaber & J. Sutherland, The definitive guide to scrum: The rules of the game. 2017. [Online]. Available: https://bit.ly/2t35PVl

[6] M. Kalenda, “Scaling agile software development in large organizations,” Master’s Thesis, Fac Info, MU, Brno, CZ, 2017. Available from https://is.muni.cz/th/410499/fi_m/masters_thesis.pdf

[7] K. Dikert, M. Paasivaara & C. Lassenius, “Challenges and success factors for large scale agile transformations: A systematic literature review,” J Syst Softw, vol. 119, pp. 87108, 2016. https://doi.org/10.1016/j.jss.2016.06.013

[8] A. Šāblis & D. Šmite, “Agile teams in large-scale distributed context: Isolated or connected?” presented at Proceedings of the Scientific Workshop Proceedings of XP'16, ACM, EH, UK, May. 2016, pp. 15. https://doi.org/10.1145/2962695.2962705

[9] C. Ebert & M. Paasivaara, “Scaling agile,” IEEE Softw, vol. 34, no. 6, pp. 98103, Nov. 2017. https://doi.org/10.1109/MS.2017.4121226

[10] F. O. Bjørnson, J. Wijnmaalen, C. J. Stettina & T. Dingsøyr, “Inter-team coordination in large-scale agile development: A case study of three enabling mechanisms,” presented at 19th International Conference on Agile Software Development of XP'18, OPO, PT, 21-25 May. 2018, pp. 216231. https://doi.org/10.1007/978-3-319-91602-6_15

[11] A. M. Almutairi & M. R. J. Qureshi, “The proposal of scaling the roles in scrum of scrums for distributed large projects,” IJITCS, vol. 7, no. 8, pp. 6874, Jul. 2015. https://doi.org/10.5815/ijitcs.2015.08.10

[12] L. T. Portela & G. Borrego, “Scrumconix: Agile and documented method to agsd,” en IEEE 11th International Conference on Global Software Engineering, ICGSE, OC, USA, 2-5 Aug. 2016, pp. 195196. https://doi.org/10.1109/ICGSE.2016.39

[13] K. Schwaber, Nexus Guide - The Definitive Guide to scaling Scrum with Nexus: The Rules of the Game, 2018. [Online]. Available: https://bit.ly/2GNKKoe

[14] D. Leffingwell, Scaled Agile Framework – SAFe for Lean Enterprises, 2019. [Online]. Available: https://bit.ly/2FAcOu5

[15] L. Craig & V. Bas, LeSS Framework - Large Scale Scrum (LeSS), 2018. [Online]. Available: https://bit.ly/2BKJU78

[16] DAD, Disciplined Agile Delivery, 2019. [Online]. Available: https://bit.ly/3fccRL5

[17] C. J. Pardo, P. R. Chilito, D. E. Viveros & F. J. Pino, “Scrum+: A scaled scrum for the agile global software development project management with multiple models, Rev Fac Ing Univ Ant, no. 93, pp. 105116, 2019. http://dx.doi.org/10.17533//udea.redin.20190519

[18] I. Stojanov, O. Turetken & J. J. Trienekens, “A maturity model for scaling agile development,” presented at 41th Euromicro Conference on Software Engineering and Advanced Applications, SEAA, Madeira, PT, 26-28 Aug. 2015, pp. 446453. https://doi.org/10.1109/SEAA.2015.29

[19] L. Barroca, T. Dingsøyr & M. Mikalsen, “Agile transformation: A summary and research agenda from the first international workshop,” presented at International Conference on Agile Software Development XP'19, ACM, MON, CA, 21-25 May. 2019, pp. 39. https://doi.org/10.1007/978-3-030-30126-2_1

[20] T. Cañizares, C. Gómez, C. Pardo & O. Gómez, “What is there about scaling of agile software development? preliminary findings from a systematic mapping study,” presented at XIV Jornadas Iberoamericanas de Ingeniería de Software e Ingeniería del Conocimiento, JIISIC'2019, Guanacaste, Costa Rica, 27-28 Jun. 2019, pp. 8396.

[21] M. Genero, J. Cruz-Lemus & M. Piattini, Métodos de investigación en ingeniería del software. Paracuellos de Jarama, ES: RA-MA, 2014.

[22] K. Petersen, R. Feldt, S. Mujtaba & M. Mattsson, “Systematic mapping studies in software engineering,” presented at 12 International Conference on Evaluation Assessment in Software Engineering of EASE'08, UNIBA, Bary, IT, 26-27 Jun. 2008, pp. 6877. Available: http://www.robertfeldt.net/publications/petersen_ease08_sysmap_studies_in_se.pdf

[23] C. Wohlin, “Guidelines for snowballing in systematic literature studies and a replication in software engineering,” presented at 18th International Conference on Evaluation Assessment in Software Engineering of EASE '14, ACM, LDN. UK, May. 2014, pp. 110. https://doi.org/10.1145/2601248.2601268

[24] D. Budgen, M. Turner, P. Brereton & B. Kitchenham, “Using mapping studies in software engineering,” presented at 20th Annual Workshop of the Psychology of Programming Interest Group, PPIG, LDN, UK, 10-12 Sept. 2008, pp. 195204. Avaialable: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.222.9091

[25] T. Gustavsson, “Assigned roles for inter-team coordination in large-scale agile development: a literature review,” presented at XP'2017 Scientific Workshops, ACM, Col, DE, May. 2017. https://doi.org/10.1145/3120459.3120475

[26] N. B. Moe, H. Holmström & T. Dingsøyr, “Trends in large-scale agile development: A summary of the 4th workshop at xp 2016,” presented at Proceedings of the Scientific Workshop Proceedings of XP'16, ACM, EH, UK, May. 2016, p. 14. https://doi.org/10.1145/2962695.2962696

[27] M. Laanti, “Agile transformation model for large software development organizations,” presented at XP'2017 Scientific Workshops, ACM, Col, DE, May. 2017. https://doi.org/10.1145/3120459.3120479

[28] K. Conboy & N. Carroll, “Implementing large-scale agile frameworks: Challenges and recommendations,” IEEE Softw, vol. 36, no. 2, pp. 4450, Feb. 2019. https://doi.org/10.1109/MS.2018.2884865

[29] T. Dingsøyr, D. Falessi & K. Power, “Agile development at scale: The next frontier,” IEEE Softw, vol. 36, no. 2, pp. 3038, Feb. 2019. https://doi.org/10.1109/MS.2018.2884884

[30] M. Jorgensen, “Relationships between project size, agile practices, and successful software development: Results and analysis,” IEEE Softw, vol. 36, no. 2, pp. 3943, Feb. 2019. https://doi.org/10.1109/MS.2018.2884863

[31] M. Paasivaara & C. Lassenius, “Communities of practice in a large distributed agile software development organization–case ericsson,” IST, vol. 56, no. 12, pp. 15561577, Dec. 2014. https://doi.org/10.1016/j.infsof.2014.06.008

[32] J. M. Bass, “Future trends in agile at scale: A summary of the 7 th international workshop on large-scale agile development,” presented at International Conference on Agile Software Development of XP'19, ACM, MON, CA, 21-25 May. 2019, pp. 7580. https://doi.org/10.1007/978-3-030-30126-2_9

[33] I. Figalist, C. Elsner, J. Bosch & H. H. Olsson, “Scaling agile beyond organizational boundaries: Coordination challenges in software ecosystems,” presented at International Conference on Agile Software Development XP'19, ACM, MON, CA, 21-25 May. 2019, pp. 189206. https://doi.org/10.1007/978-3-030-19034-7_12

[34] A. Scheerer, T. Hildenbrand & T. Kude, “Coordination in large-scale agile software development: A multiteam systems perspective,” presented at 47th Hawaii international conference on system sciences, HICSS, Waikoloa, USA, 6-9 Jan. 2014, pp. 47804788. https://doi.org/10.1109/HICSS.2014.587

[35] M. Berntzen, N. B. Moe & V. Stray, “The product owner in large-scale agile: An empirical study through the lens of relational coordination theory,” presented at International Conference on Agile Software Development XP'19, ACM, MON, CA, 21-25 May. 2019, pp. 121136. https://doi.org/10.1007/978-3-030-19034-7_8

[36] S. W. Ambler, “Agile software development at scale,” presented at IFIP Central and East European Conference on Software Engineering Techniques, CEE-SET, POZ, PL, 2007, pp. 112. https://doi.org/10.1007/978-3-540-85279-7_1

[37] J. Nyfjord, S. Bathallath & H. Kjellin, “Conventions for coordinating large agile projects,” presented at International Conference on Agile Software Development, XP'14, ROM, IT, 26-30 May. 2014, pp. 5872. https://doi.org/10.1007/978-3-319-14358-3_6

[38] A. W. Brown, “A case study in agile-at-scale delivery,” presented at International Conference on Agile Software Development XP'11, ACM, MD, ES, 10-13 May. 2011, pp. 266281. https://doi.org/10.1007/978-3-642-20677-1_19

[39] M. Laanti, “Characteristics and principles of scaled agile,” presented at International Conference on Agile Software Development XP'14, ACM, ROM, IT, 26-30 May. 2014, pp. 920. https://doi.org/10.1007/978-3-319-14358-3_2

[40] W. Cunningham, “Principios del manifiesto Ágil,” agilemanifesto.org. Available: https://bit.ly/30nXaIS (2001).

[41] Toyota, “Guiding Principles at Toyota,” toyota-global.com. Available: https://bit.ly/2UrZ4c7 (1997).

[42] Lean Enterprise Institute, “Principles of Lean,” Lean.org. Available: https://bit.ly/2mpaDzd (2000).

[43] Beyond Budgeting. “The Beyond Budgeting Principles.” bbrt.org. Available: https://bit.ly/2v7a946 (Mar. 2016).

[44] W. C. Kim & R. Mauborgne, “Blue ocean strategy: How to create uncontested market space and make the competition irrelevant,” Harv Bus Review, vol. 4, no. 13, pp. 110, Oct. 2004. Available: https://hbr.org/2004/10/blue-ocean-strategy

[45] M. Alqudah & R. Razali, “A review of scaling agile methods in large software development,” Int J Adv Sci Eng Inf Technol, vol. 6, no. 6, pp. 828837, 2016. https://doi.org/10.18517/ijaseit.6.6.1374

[46] J. M. Bass, “Artefacts and agile method tailoring in large-scale offshore software development programmes,” IST, vol. 75, pp. 116, Jul. 2016. https://doi.org/10.1016/j.infsof.2016.03.001

[47] W. A. Ortega-Ordoñez, C. J. Pardo-Calvache & F. J. Pino-Correa, “Ontoagile: an ontology for agile software development processes,” DYNA, vol. 86, no. 209, pp. 8697, 2019. https://doi.org/10.15446/dyna.v86n209.76670

[48] J. A. Campo, F. Pino, C. Ardila & C. Pardo, “Modelado de procesos en el desarrollo global de software,” Ingenium, vol. 9, pp. 23, pp. 1726, 2015. Disponible en https://repository.usc.edu.co/handle/20.500.12421/767

[49] Y. Mashiko & V. R. Basili, “Using the GQM paradigm to investigate influential factors for software process improvement,” J Syst Softw, vol. 36, no. 1, pp. 1732, 1997. https://doi.org/10.1016/0164-1212(95)00194-8

[50] F. J. Pino, C. Pardo, F. García & M. Piattini, “Assessment methodology for software process improvement in small organizations,” IST, vol. 52, no. 10, pp. 10441061, 2010. https://doi.org/10.1016/j.infsof.2010.04.004

[51] W. A. Ortega-Ordoñez, C. J. Pardo-Calvache & F. J. Pino-Correa, “Mapeo sistemático sobre la evaluación de la agilidad en organizaciones de desarrollo de software,” ITECKNE, vol. 16, no. 1, pp. 6476, 2019. https://doi.org/10.15332/iteckne.v16i1.2162

Tania Guadalupe Cañizares-Hernández es estudiante de Ingeniería de sistemas en la Universidad del Cauca (Colombia), miembro del grupo de investigación de Tecnologías de la Información-GTI e integrante del semillero IRON Software Engineering de la Universidad del Cauca. Desarrollador freelance. https://orcid.org/0000-0003-2933-8833

Cristian Esthibel Gómez-Campo es estudiante de Ingeniería de sistemas en la Universidad del Cauca (Colombia), miembro del grupo de investigación de Tecnologías de la Información-GTI e integrante del semillero IRON Software Engineering de la Universidad del Cauca. Egresado de la Tecnología en análisis y desarrollo de sistemas de información. https://orcid.org/0000-0003-2416-6673

César Jesús Pardo-Calvache es profesor asociado de planta adscrito a la FIET, al Departamento de Sistemas de la Universidad del Cauca (Colombia) y miembro del grupo de investigación de Tecnologías de la Información-GTI (Colombia). Ingeniero de Sistemas por la Universidad del Cauca (Colombia), Doctor y Magister en Ingeniería Informática por la Universidad de Castilla (La Mancha, España). Profesor, investigador y consultor con más de 13 años de experiencia en temas relacionados a: DevOps, escalamiento ágil, calidad de procesos, calidad de producto, mejora de procesos, modelos híbridos y metodologías ágiles para la gestión de equipos detrabajo y el desarrollo de productos y servicios. Mentor del semillero de investigación IRON Software Engineering de la Universidad del Cauca. https://orcid.org/0000-0002-6907-2905