I. Introducción
El Desarrollo Global de Software (DGS) es una variación especial del desarrollo de software distribuido, en el cual los equipos se ubican más allá de las fronteras geográficas de un país [1]; así, su alcance abarca tanto el desarrollo distribuido como la tercerización de actividades vinculadas con el ciclo de vida de los productos de software, como ingeniería de requerimientos, pruebas, soporte y mantenimiento, entre otros [2]. Campo et al. [3] destacan algunas ventajas del DGS, entre ellas: (i) disminuir la falta de talento humano localizado, (ii) solucionar la limitación de espacio físico, y (iii) reducir el tiempo de comercialización, con base en el modelo de llamado “follow-the-sun”.
Sin embargo, Jiménez et al. [1] establecen que el DGS implica ciertos desafíos y riesgos relacionados con la comunicación, cooperación y coordinación, entre ellos: (i) gestionar adecuadamente los equipos distribuidos, (ii) lograr la eficiencia de los equipos, (iii) impulsar una apropiada comunicación y gestión del conocimiento y (iv) administrar el tiempo. Respecto de los equipos, la complejidad y problemáticas de su conformación e interacción, el DGS puede afrontar diversos riesgos ligados con: (i) limitaciones en las interrelaciones sociales, (ii) barreras del idioma, (iii) dificultad o pérdida de la coordinación y control de los proyectos [4], (iv) ausencia de compañerismo y (v) choque cultural [5-6].
A partir del análisis de la literatura, se encontraron algunos trabajos que proponen riesgos y métricas para proyectos de DGS, como prácticas para una comunicación esencial cuando se utiliza XP en los equipos de DGS [2], un modelo para la gestión de riesgos en la planificación de procesos en DGS [7] y planteamientos de métricas para DGS [4], entre otros. Sin embargo, esta misma lectura evidenció que algunos riesgos no se describen detalladamente, carecen de clasificación o son difíciles de entender, lo que obstaculiza su categorización.
Por lo tanto, este artículo presenta un conjunto de riesgos para el DGS clasificados de acuerdo con las tres dimensiones establecidas por Fuks et al. [8]: comunicación, coordinación y cooperación (3Cs). Además, formula métricas para un subconjunto de los riesgos propuestos, usando el paradigma Goal Question Metric (GQM) [9]. Estas se evaluaron mediante un grupo focal conformado por expertos, para calcular su completitud, pertinencia, claridad, precisión, coherencia y facilidad de uso. Con estos elementos, se busca disminuir la ambigüedad y complejidad detectadas en la literatura; brindar herramientas para cuantificar y diagnosticar el impacto de los riesgos asociados con los equipos de trabajo en la modalidad de DGS, y agregar valor y apoyo en la toma de decisiones.
La estructura del artículo es la siguiente: la sección II (método) presenta el análisis del estado del arte y el protocolo seguido para la comparación e integración de los riesgos citados en la literatura; además, propone 37 riesgos para las 3Cs. La sección III (resultados) incluye 9 métricas para apoyar dichos factores en el DGS y su evaluación a través de un grupo focal. Por último, la sección IV (discusión) se refiere a las conclusiones y trabajo futuro.
II. Método
En esta sección, se expone el análisis de los trabajos relacionados y la estrategia definida para la armonización de los riesgos.
A. Revisión de literatura
Del análisis de la literatura se identificaron diferentes propuestas, pero se incluyeron solo aquellas acordes con los siguientes criterios: (c-i) describen factores de riesgo y/o (c-ii) establecen métricas para DGS. En cuanto al criterio (c-i), Mathrani y Mathrani [10] muestran una estrategia de riesgos utilizada por profesionales que participan en actividades de desarrollo de software, distribuidos en Nueva Zelanda, Australia e India; Layman et al. [2] elaboran un estudio de caso para entender cómo un equipo distribuido que emplea la metodología XP supera los riesgos y obstáculos que se generan en proyectos asociados con equipos de desarrollo distribuido; Steinmacher et al. [11] ofrecen una revisión sistemática de los estudios realizados en el contexto de DGS y clasifican los riesgos identificados dentro de las 3Cs.
En cuanto al criterio (c-ii), Wanderley et al. [12] proponen el uso de dos métricas para la gestión de los riesgos de software: Pure Risk Point (PRP) y Exponential Risk Point (ERP), ambas basadas en la métrica Risk Point; Björndal et al. [13] presentan un conjunto de métricas para el DGS definidas a través del paradigma GQM y relacionadas con zona horaria, equipo, confianza, comunicación e innovación; Noll y Beecham [14] exponen los resultados de una encuesta enfocada en la evaluación del impacto con base en factores geográficos, temporales y culturales, que permiten reducir la distancia global en los proyectos de desarrollo de software; Tihinen et al. [6] explican un estudio en el cual se describe un conjunto de métricas esenciales utilizadas en el DGS, entre ellas, pérdida de riqueza de comunicación, pérdida de coordinación, pérdida de control y barreras de cohesión y choque cultural; sin embargo, no hay una definición formal de las métricas.
En los trabajos revisados, se hallaron propuestas que intentan apoyar la gestión del riesgo en equipos de DGS, a través de factores de riesgo y métricas. No obstante, es poco el desarrollo respecto de métricas definidas que permitan cuantificar el efecto de los factores de riesgo relacionados con las 3Cs; además, se evidencia ambigüedad y falta de detalle en su descripción, lo que dificulta su comprensión e implementación.
B. Protocolo para la armonización de riesgos
A continuación, se explica el protocolo seguido, el cual estuvo conformado por dos actividades: caracterización de los riesgos y comparación e integración de estos.
1) Caracterización de los riesgos. La clasificación de riesgos para las 3Cs en el DGS fue la base para el proceso de definición de las métricas. Después de analizar detalladamente los estudios relacionados con los riesgos (criterio c-i de la sección anterior), dado que los autores crearon subcategorías ligadas con la distancia para la comunicación y coordinación respecto de las distancias temporales, geográficas y socioculturales [15, 16, 17], se decidió adoptarlas como referencia.
Por otro lado, se detectó la existencia de ambigüedad en los riesgos, pues una gran cantidad de ellos coincidían en su significado, pero respondían a diferentes nombres en cada categoría o subcategoría. En tal sentido, se decidió compararlos y verificar la posibilidad de integrarlos. Además, se encontraron riesgos no categorizados o subcategorizados, con descripciones confusas o poco detalladas. En este estudio, se descartaron aquellos que no aportaban mayor información y resultaban difíciles de comprender. La Tabla 1 resume la cantidad de riesgos hallados en los trabajos examinados; de un total de 120, se descartaron 27 ambiguos, poco detallados o sin clasificar (SC). Como resultado, se armonizaron 93 riesgos, a partir de los cuales se proponen 37 nuevos de ellos, luego de este proceso.
Verner et al. [21] afirman que la distancia incrementa los problemas de coordinación y cooperación: a medida que aquella aumenta, se intensifica el impacto negativo en la comunicación, lo que afecta indirectamente la efectividad de las dimensiones de coordinación y cooperación. Por ello, es posible advertir en estas un mayor número de riesgos, como se ilustra en la Tabla 1. Por último, la cooperación es una de las dimensiones menos investigadas, puesto que en la literatura se hallaron muy pocos riesgos asociados con esta.
2) Comparación e integración de riesgos. Durante esta etapa, se realizaron las siguientes actividades: (i) registrar los riesgos identificados para las dimensiones de coordinación, comunicación y cooperación, incorporando en los dos primeros las dimensiones temporal, geográfica y sociocultural. En este sentido, se tuvo en cuenta agregar un identificador, nombre del riesgo y descripción, en su caso; (ii) armonizar los riesgos, identificando los elementos en común, de acuerdo con los aspectos de equivalencia, complementariedad y fusión. Para establecer los vínculos entre los riesgos, se llevó a cabo la comparación 1 a 1, buscando similitudes en su descripción, nombre o información adicional, como causas, efectos y factores de riesgo. Al encontrar relaciones entre estos, se integraban y, por consiguiente, se diseñaban nuevos riesgos, que tomaron el nombre y la etiqueta del más completo o significativo. En los casos en los que no se encontraron relaciones, no sufrieron cambio alguno y se agregaron al resultado final.
La Tabla 2 muestra un ejemplo de la integración de dos riesgos para la dimensión de coordinación, con la información enseguida descrita.
La Tabla 3 muestra un extracto de los riesgos propuestos. De una totalidad de 37, se dividieron en 15 riesgos para comunicación, 19 riesgos para coordinación y 3 riesgos para cooperación, disponibles para su consulta en https://bit.ly/3m2lxav.
Debido al límite de espacio, la Tabla 4 contiene la descripción para un subconjunto de ellos; así, muestra 9 riesgos con su respectiva descripción y con el identificador también incluido en la Tabla 3, del siguiente modo: la dimensión a la que pertenece —comunicación (CM), coordinación (CD) o cooperación (CP)— y la distancia en la cual se inscribe —distancia geográfica (DG), distancia temporal (DT), distancia sociocultural (DS) o no aplica (NA)—. Las métricas asociadas con estos riesgos se reseñan detalladamente en la siguiente sección.
III. Resultados
En esta sección, se presentan 9 métricas establecidas para algunos de los riesgos armonizados, junto con su evaluación cualitativa a través de un grupo focal.
A. Métricas propuestas para las 3Cs en el DGS
Para definir el conjunto de métricas de una manera sistemática y organizada, se aplicó el paradigma GQM [9], con los pasos que este sugiere: (i) identificar las metas principales, (ii) derivar preguntas para determinar el cumplimiento de dichas metas y (iii) establecer las mediciones necesarias para responder adecuadamente esas preguntas. Como resultado, las metas se fijaron a nivel conceptual; las preguntas, a nivel operativo, y las métricas, a nivel cuantitativo.
Por lo tanto, los criterios para definir al conjunto de métricas se explican enseguida: (i) específicas, fáciles de entender y de utilizar por parte de las organizaciones de software que trabajan con equipos geográficamente distribuidos, (ii) adaptables a las necesidades de cada organización y (iii) fundamentadas en metodologías reconocidas. Además, se consideraron las características sugeridas para la correcta definición de las métricas de software; es decir: (i) cuantificables, (ii) independientes, (iii) explicables y (iv) precisas. La Tabla 5 muestra las metas, hipótesis y preguntas para el riesgo con identificador R1CMDG incluido en la tabla 4 (los demás riesgos pueden consultarse en https://bit.ly/3lZtKMF).
Debido al límite de espacio, la Tabla 6 solo contiene las métricas diseñadas para la meta M9 presentada en la Tabla 5; aquellas vinculadas con las metas M1 a M8 se encuentran en https://bit.ly/327VMO0. Las métricas se organizaron en relación con dos preguntas: ¿qué mide?, donde se establece el atributo por cuantificar, y ¿cómo lo mide?, donde se indica cada métrica a través de estos elementos: descripción, tipo, escala y función de cálculo. El identificador de la meta es el mismo que aparece en la Tabla 5. En https://bit.ly/33dA8XY se presentan ejemplos de uso de las métricas propuestas para cada riesgo, con su correspondiente escala de interpretación.
B. Evaluación cualitativa por medio de un grupo focal
El conjunto de riesgos y métricas propuesto se evaluó a través de una técnica cualitativa de investigación llamada grupo focal, que permitió su examen, refinación y mejora a partir de la opinión de expertos (participantes); este método empírico se eligió porque, mediante una sesión de debate, es posible explorar el concepto de los participantes sobre la propuesta, en aspectos cualitativos como idoneidad, completitud y claridad.
En su realización, se siguieron los lineamientos planteados por Kontio et al. [23], que enlista cinco fases: proyectar la investigación (planteamiento), diseñar los grupos de discusión (reclutamiento), conducir las sesiones (moderación), examinar la información y concentrar los resultados (análisis y reporte de resultados) y las oportunidades de mejora (acciones de mejora). Se diseñó un cuestionario integrado por 11 preguntas que se presenta en la Tabla 7; las preguntas 1 a 9 utilizaron una escala de Likert y las preguntas 10 y 11 fueron dicotómicas (sí o no). La escala de Likert se perfiló en los siguientes términos: muy satisfecho (MS), con valor de 5; algo satisfecho (AS), con valor de 4; satisfecho (S), con valor de 3; poco satisfecho (PS), con valor de 2, y muy insatisfecho (MI), con valor de 1.
La Tabla 7 refiere que, de manera general, los participantes estuvieron de acuerdo con la mayoría de los riesgos y métricas propuestos. Sin embargo, se tomaron como respuestas poco favorables aquellas calificadas como PS; en este caso, la pregunta 7 se tuvo en cuenta para ejecutar acciones de mejora sobre la propuesta. De igual forma, se consideraron los comentarios y opiniones de los participantes en el mismo sentido.
La Tabla 8 resume las acciones de mejora implementadas sobre el conjunto inicial de riesgos y métricas propuestas.
IV. Discusión
Este artículo presentó un análisis de los trabajos relacionados con los riesgos en el DGS, donde se identificaron aquellos que afectan a la comunicación, cooperación y coordinación de los equipos en este contexto. Además, se caracterizaron los citados trabajos, con lo que se evidenció la heterogeneidad y ambigüedad en cuanto a las definiciones, descripciones, efectos y causas de los riesgos propuestos por otros autores.
Se expusieron 37 nuevos riesgos discriminados así: 15 para comunicación, 19 para coordinación y 3 para cooperación, de los cuales, para la comunicación, se plantean 5 riesgos en distancia geográfica, 4 en distancia temporal y 6 en distancia sociocultural; para coordinación, se proponen 14 riesgos en distancia geográfica y 5 en distancia sociocultural. También se incluyeron las métricas para un conjunto de 9 riesgos.
Estos riesgos y métricas tienen el objetivo de generar valor en las organizaciones de software, con el fin de facilitar la toma de decisiones; apoyar en la identificación de amenazas y vulnerabilidades, y generar planes de contingencia y/o mitigación, con base en las medidas e indicadores detectados con las métricas planteadas. A partir de los resultados obtenidos en el grupo focal, los participantes consideraron, en su gran mayoría, que las métricas son completas, pertinentes, claras, precisas, coherentes, fáciles de usar y capaces de generar valor en las organizaciones de DGS. Además, con los comentarios y recomendaciones vertidos, se identificaron oportunidades de mejora que permitieron el refinamiento de la propuesta y la formulación de una segunda versión, presentada en este documento.
Como trabajo futuro, se espera evaluar las métricas propuestas en estudios de caso que usen enfoques de DGS, lo que permitirá ajustarlas y mejorarlas. En ese sentido, se aspira a extender las métricas a partir de la aplicación del paradigma GQM a los demás riesgos aquí establecidos.