1. INTRODUCCIÓN
Las metodologías ágiles representan un enfoque de desarrollo de software conocido por su alta flexibilidad [1], [2]. Entre estas metodologías, Scrum [3] destaca como una metodología ampliamente utilizada para la gestión ágil de proyectos de software. Su implementación se ha vuelto cada vez más común en pequeñas organizaciones de desarrollo de software [4], [5]. Sin embargo, la falta de comprensión en la adopción de esta metodología ha dado lugar a diversos obstáculos y desafíos [4], incluso cuando los equipos han recibido capacitación en este enfoque [6]. Por esta razón, la comunidad científica ha investigado para identificar los factores críticos en la implementación exitosa de Scrum [7], con el objetivo de proporcionar apoyo en este tipo de iniciativas.
Entre los factores críticos vinculados a las dificultades en la adopción de Scrum, se encuentran aquellos relacionados con el comportamiento humano, abarcando aspectos como la personalidad, las creencias y la cultura, que en adelante llamaremos el «factor persona» [8], [7]. Esto reviste una importancia fundamental en el contexto ágil, ya que uno de sus principios fundamentales establece: «Los individuos y sus interacciones, sobre los procesos y las herramientas». Esto implica, que se debe dar gran importancia a factores como la comunicación, interacción, integración, cultura organizacional, compañerismo y colaboración [9].
La colaboración desempeña un papel crucial en el ámbito del desarrollo de software, ya que se ha convertido en un medio altamente eficaz para alcanzar los objetivos de negocio y mejorar el rendimiento. Por este motivo, las prácticas colaborativas adquieren un valor considerable en la industria del software en la actualidad. Los desafíos relacionados con la colaboración en equipos de desarrollo de software pueden tener un impacto sustancial en el proceso de implantación de Scrum. La colaboración es un pilar fundamental para el éxito del equipo, ya que, se espera que los miembros trabajen de forma interactiva y colaborativa para alcanzar los objetivos del proyecto [7]. Cuando surgen problemas colaborativos en el equipo, esto puede repercutir negativamente en la eficacia de Scrum, ya que los miembros pueden enfrentar dificultades para trabajar en conjunto y alcanzar los objetivos del proyecto. Por ejemplo, si se presenta una falta de comunicación en el equipo, pueden surgir problemas de coordinación y cooperación que retrasen el proceso de desarrollo. De manera similar, si los miembros del equipo no están plenamente comprometidos con el proceso, esto puede dar lugar a una falta de motivación y entusiasmo, afectando tanto la calidad del trabajo como la satisfacción del cliente. Por lo tanto, abordar de manera efectiva los problemas de colaboración en el equipo se convierte en una tarea esencial para garantizar el éxito de la adopción de Scrum.
Debido a lo anterior, es necesario comprender e identificar los posibles desafíos de colaboración, que los equipos de desarrollo de software pueden encontrarse al adoptar Scrum.
Este artículo es una extensión del trabajo presentado originalmente en el evento Decisioning 2023, en donde se identificaron los desafíos asociados a la colaboración en equipos adoptantes de Scrum. En este documento, se describe un estudio en el cual se realizaron entrevistas semiestructuradas a líderes de equipos de desarrollo de software adoptantes de la metodología en el departamento del Cauca, estas entrevistas fueron posteriormente revisadas a través de una herramienta de investigación cualitativa que permitió clasificar los resultados [10] en cuatro categorías asociadas a Scrum y Colaboración. Esta categorización permitió identificar los problemas que se presentan en los equipos y la frecuencia con la cual surgen, de manera que un equipo adoptante pueda conocer con precisión cuáles de estos problemas representan un mayor riesgo para impactar su proceso. Adicionalmente, se plantea una solución potencial para mitigar los desafíos relacionados con la colaboración, aplicando conceptos de Ingeniería de la Colaboración que respalden las actividades colaborativas dentro de la metodología Scrum.
2. FUNDAMENTACIÓN TEÓRICA
Los métodos ágiles son un conjunto de técnicas para la gestión de proyectos y el desarrollo de software. Surgieron como un esfuerzo para mejorar debilidades percibidas y reales de la ingeniería de software convencional [8], pero también, se ha extendido a otro tipo de proyectos. Los métodos ágiles cumplen con una serie de principios y valores consignados en el manifiesto ágil [8]. Además, están atentos al entorno del proyecto y a las partes interesadas, ofrecen un entorno de trabajo más abierto y un marco mucho más flexible [1], [2]. Uno de los métodos ágiles más destacados es Scrum, la cual es una metodología ágil de gestión de proyectos específicamente referida a ingeniería de software [3]. Ya que, posee una adaptación flexible al cambio, se recomienda su uso en proyectos complejos con requisitos cambiantes o poco definidos, donde se necesitan entregas tempranas y de alta complejidad. Scrum se centra en cómo deben funcionar los miembros del equipo para que el sistema sea flexible y se adapte a unas condiciones constantemente cambiantes, por tanto, su funcionamiento está basado en sus roles, eventos, artefactos y reglas asociadas.
La adopción de esta metodología se refiere al proceso de implementar y utilizar la metodología ágil de Scrum en un equipo de desarrollo de software [11]. Puede implicar la realización de cambios en la cultura organizacional, la formación de los miembros del equipo, la implementación de nuevas herramientas y procesos, y la gestión del cambio a nivel de la organización [11]. La adopción la metodología brinda mayor importancia a las personas y sus relaciones, es decir, debe ser una decisión voluntaria y consciente de interiorizar no sólo el proceso y la metodología Scrum, sino también los valores y principios ágiles, de forma que el pensamiento del equipo cambie, e influir en el cambio en la cultura organizacional. En consecuencia, la adopción genera una visión compartida del proceso, los valores y principios ágiles, y la cultura organizacional.
Entre los principios ágiles se encuentra la colaboración, la cual es esencial en equipos de ingeniería de software. La colaboración es trabajar en conjunto para lograr una tarea u objetivo que no se lograría de forma individual bajo las mismas restricciones de tiempo, esfuerzo y costos [12]. Un equipo colaborativo es un grupo de personas con habilidades complementarias que comparten tareas, recursos, responsabilidades y liderazgo, para lograr un entendimiento común que les permita alcanzar un objetivo común [13], el cual se logra si y sólo si todos los integrantes alcanzan su objetivo individual [14]. Lograr la colaboración en equipos de ingeniería de software incluye: una adecuada comunicación de requisitos, decisiones de diseño, tareas, cambios, entre otros; conciencia de grupo sobre aquello que cada participante está realizando y el estado actual del proyecto, su disponibilidad y conocimiento; y las interacciones adecuadas para coordinar y realizar las tareas [15].
En este contexto, adquiere relevancia la Ingeniería de la colaboración (CE), un área dedicada al diseño y construcción de procesos colaborativos reutilizables con el fin de que las organizaciones puedan usarlos en sus equipos para ejecutar tareas recurrentes que requieren de la colaboración entre sus miembros, sin necesidad del conocimiento especializado en procesos colaborativos, es decir, sin el apoyo continuo de facilitadores profesionales [9], [16]. Los patrones de colaboración que crea la ejecución del diseño deben ser predecibles y deben poder reutilizarse para múltiples instancias de la tarea, por tanto, los patrones son descripciones de soluciones conocidas y reutilizables para problemas recurrentes [12]. Es por ello, que los ingenieros de colaboración usan ThinkLets como bloques de construcción reutilizables para construir diseños lógicos para prácticas de trabajo colaborativo, en parte, en función de las variaciones que producen [12]. Además, los ThinkLets establecen un lenguaje de patrones de procesos de colaboración para prácticas de diseño y ejecución de actividades en forma colaborativa.
2.1 Trabajo existente
En [17] se realizó un estudio de los principales factores problemas, retos, riesgos y situaciones que afectan la implementación de Scrum a través de entrevistas a grupos de expertos con el fin de realizar una ruta de trabajo para la implementación.
En [7] se centró en el problema común de los equipos de desarrollo de software de tener una gran cantidad de elementos en su lista de pendientes, también conocida como backlog. El artículo presenta a Scrum como una metodología que puede ayudar a los equipos a resolver este problema y mejorar la eficiencia del desarrollo de software. Los autores describen cómo ayuda a los equipos a priorizar y organizar su backlog, y cómo los equipos pueden trabajar juntos de manera más efectiva para lograr los objetivos del proyecto. Además, el autor destaca la importancia de la comunicación y la colaboración en el proceso de implementación de Scrum. El artículo concluye que la aplicación de la metodología puede ser una solución efectiva para los problemas de backlog y puede mejorar la productividad y la calidad del software desarrollado. En general, proponen una solución a los problemas del backlog durante la implementación. El estudio se enfoca en un equipo de desarrollo, y aplica entrevistas para la recopilación de información, además, utiliza de notas y herramientas de gestión del proyecto para el monitoreo del backlog.
En [18], los autores proponen un marco de trabajo para estudiar la colaboración impulsada por los requisitos en equipos ágiles distribuidos y determinar el impacto de sus patrones de colaboración durante la iteración, definiendo la colaboración en términos de comunicación como el intercambio de información entre los miembros del equipo y la conciencia del conocimiento de los demás. Los autores realizaron dos estudios de caso en equipos ágiles, cuya información fue recolectada a través de cuestionarios, entrevistas semiestructuradas y observación. Además, los autores concluyen que el marco de trabajo propuesto puede ser útil para investigar y mejorar la colaboración en el futuro. En general, el artículo proporciona una visión valiosa sobre la colaboración en equipos ágiles y cómo mejorarla para lograr el éxito en los proyectos ágiles.
En [19] los autores exploran el concepto de colaboración en el contexto del desarrollo de software ágil. Los autores definen la colaboración como un proceso interactivo en el que los miembros del equipo trabajan juntos para lograr objetivos comunes e identifican cuatro dimensiones clave de colaboración en el desarrollo de software ágil: comunicación, coordinación, cooperación y compromiso. Cada dimensión se examina en detalle, y se destacan los factores que pueden afectar la colaboración en cada área. Los autores también describen los beneficios de la colaboración en el desarrollo de software ágil, incluyendo una mayor eficiencia, mejor calidad del producto y mayor satisfacción del cliente. Los autores destacan que existe poca investigación que examine la naturaleza y las dimensiones de la colaboración en el contexto del desarrollo ágil de software. Para el desarrollo de este trabajo se utilizaron datos de entrevistas recopilados de cinco proveedores de subcontratación de desarrollo de software en China.
En [20] se explora el impacto de la pandemia en la adopción de tecnología colaborativa, y cómo esta ha influido en la revisión y redefinición de la cultura organizacional en entornos Scrum/Agile. La investigación se basa en una revisión comparativa de las herramientas colaborativas más populares, examinando su crecimiento y adopción tanto durante como después de la pandemia. Se destaca que estas tecnologías están siendo utilizadas para preservar aspectos clave de la cultura organizacional, como el trabajo en equipo y la transparencia. Sin embargo, se plantea la preocupación de que el uso de estas herramientas podría dificultar la comunicación informal y el intercambio de conocimientos dentro de las organizaciones. Este estudio sugiere un cambio hacia métodos de gestión más colaborativos, especialmente en industrias como la tecnología y el desarrollo de productos, donde las metodologías ágiles como Scrum son predominantes.
En [21] se aborda el tema del desarrollo global de software (GSD), una práctica cada vez más extendida en la ingeniería de software. A pesar de los beneficios que ofrece, el GSD enfrenta desafíos significativos en términos de colaboración, lo que puede afectar la calidad del producto final. El estudio se centró en investigar la colaboración y en implementar estrategias dentro de un entorno GSD, particularmente desde las perspectivas de empresas ubicadas en Suecia y Corea. A través de un estudio de caso que incluyó entrevistas, se identificaron tres áreas principales de desafíos en el GSD: la distancia geográfica, temporal y sociocultural. Para abordar estos desafíos, se implementaron estrategias como el uso de herramientas de comunicación apropiadas, la construcción de relaciones personales, la sensibilización cultural y la maximización de las horas de trabajo sincrónico. Aunque el estudio reconoce la eficacia de varias estrategias, destaca la importancia continua de la interacción cara a cara en el GSD. Este trabajo contribuye significativamente a la comprensión de la colaboración entre Suecia y Corea en el ámbito del GSD, ofreciendo valiosa información para mejorar la colaboración en el futuro y elevar la calidad de los productos desarrollados.
3. ASPECTOS METODOLÓGICOS
Muchas organizaciones han encontrado inconvenientes al momento de adoptar Scrum como metodología en sus proyectos [4], estos inconvenientes se ven relacionados con factores asociados al comportamiento humano como la cultura, organizacional, la interacción, el compañerismo, la comunicación, etc. [10] A continuación, se consolidan los principales problemas y situaciones que se presentan durante la adopción de Scrum de acuerdo con la perspectiva empírica de líderes de equipos de trabajo. Estos problemas permitirán identificar los aspectos colaborativos que el equipo reconoce y cuáles de ellos representan falencias tanto de los factores colaborativos como de la metodología.
3.1 Diseño
Pregunta de investigación: ¿Cuáles son los aspectos colaborativos que las empresas de software identifican durante la adopción de Scrum y qué tanto cubren las características relacionadas con la colaboración?
Personas: Las entrevistas están enfocadas a ingenieros de sistemas o afines, líderes de equipos de desarrollo en el contexto de la metodología ágil Scrum en su fase de adopción correspondientes a pequeñas empresas desarrolladoras de software del departamento del Cauca, Colombia.
Al realizar este estudio en el departamento del Cauca, se identificaron 95 empresas dedicadas al desarrollo de software, de las cuales 36 son pequeñas empresas especializadas en este campo. Tras establecer contacto con estas empresas, se constató que únicamente 7 de ellas están en proceso de adopción de Scrum, y de ese grupo, 3 están actualmente en etapas de capacitación y aún no cuentan con experiencia reportada. Por lo tanto, solo 4 empresas resultan aptas para ser objeto de estudio. Sin embargo, es relevante destacar que únicamente 3 de estas empresas expresaron interés en participar en este estudio y compartir sus experiencias en relación con la implementación de Scrum (ver Tabla 1).
3.2 Método de recolección de datos
El método de recolección de datos en este estudio consistió en una entrevista semiestructurada. Estas entrevistas son un enfoque intermedio entre encuestas estandarizadas, en su mayoría cerradas de individuos y las sesiones de libre participación, con grupos, son las entrevistas semiestructuradas [22].
La entrevista semiestructurada es conducida en forma conversacional con un encuestado a la vez, empleando una combinación de preguntas cerradas y abiertas, a menudo acompañadas por un seguimiento hacia atrás de las preguntas (por qué y cómo). El diálogo puede hacer zigzag en torno a los temas de la agenda, en lugar de adherirse rígidamente a las preguntas literales como en una encuesta estandarizada, y puede ahondar en cuestiones totalmente imprevistas. Las entrevistas semiestructuradas son relajadas, atractivas y al ser cara a cara, pueden ser más largas que las encuestas telefónicas, aunque duran tanto como los grupos focales. Una hora se considera una duración máxima razonable de una entrevista estructurada para minimizar la fatiga tanto para el entrevistador como para el entrevistado.
Los pasos prácticos para diseñar y realizar este tipo de entrevistas son: seleccionar y reclutar a los encuestados, redactar las preguntas y la guía de entrevistas, aplicar las técnicas recomendadas para este tipo de entrevistas y analizar la información recopilada.
3.2.1 Preguntas
El cuestionario de esta entrevista semiestructurada fue aplicado a dos expertos que participaron como jueces en la validación de contenido y expusieron su opinión, lo cual permitió refinar las preguntas con el fin de obtener la información más relevante para este estudio. La entrevista consistió en 22 preguntas (ver Tabla 2), divididas en cuatro categorías: Scrum (3 preguntas), interacción (6 preguntas), comunicación (5 preguntas) y conciencia (8 preguntas).
Los participantes fueron cuatro líderes de equipos de desarrollo pertenecientes a pequeñas empresas de desarrollo de software del departamento del Cauca (Colombia), con edades entre 36- 51 años, quienes voluntariamente aceptaron participar en la entrevista para profundizar los aspectos colaborativos de Scrum durante su fase de implementación (ver Tabla 3).
En cuanto al género de los participantes, se puede destacar que a pesar de que el estudio incluyó a una participante mujer, dicha participante es líder de un equipo más grande (15 personas) y tiende a comportarse como dos equipos (8 y 7 personas).
Las respuestas proporcionadas por los participantes no tienen estructura común, puesto que al ser una entrevista semiestructurada se les brindó la oportunidad de expresar sus experiencias y opiniones de manera extensa con el fin de identificar los posibles problemas que presentaron durante su proceso.
Para el análisis de las entrevistas, se utilizó el software WEFT QDA [23], herramienta de investigación cualitativa utilizada para el análisis de datos textuales como transcripciones de entrevistas, documentos y notas de campos. Esta herramienta es de uso gratuito y posee una licencia de dominio público además de estar disponible para Windows y Linux.
Esta herramienta permite: guardar los datos de forma organizada a partir de categorías definidas por el investigador; buscar y clasificar los datos (transcripción de entrevistas) en categorías analíticas establecidas por el investigador; establecer relaciones a partir de los datos a través de búsquedas; y visualizar las búsquedas en forma de textos o cuadros de doble entrada [23].
Como parte del proceso, se realizó la transcripción de las entrevistas en archivos Word independientes. El documento se estructuró agregando cada una de las preguntas seguidas de su respectiva respuesta, posteriormente estos documentos se ingresaron a la herramienta como fuentes para realizar el análisis.
Una vez integrada la información de las entrevistas en la herramienta, se generaron cuatro categorías de análisis (Interacción, Comunicación, Conciencia y Scrum) que generan una linealidad entre los objetivos de este artículo y el análisis de resultados. A continuación, se describen las categorías utilizadas en este trabajo:
Interacción: Se abordan y analizan los aspectos relacionados con interacción en el equipo de trabajo, ya sea, con el cliente o entre integrantes del mismo equipo desde la perspectiva Scrum.
Comunicación: Se analizan las herramientas, técnicas y/o canales de comunicación que utiliza el equipo de trabajo para tener una comunicación constante entre si desde la perspectiva Scrum.
Conciencia: Se abordan y analizan los aspectos relacionados con la conciencia que se tiene del proyecto, los roles y/o responsabilidades que se tienen dentro de este, desde la perspectiva Scrum.
Scrum: Se aborda lo relacionado con la metodología Scrum que no pudo entrar en ninguna de las categorías anteriores.
Las tres primeras categorías representan la colaboración, ya que, como se mencionó anteriormente, son necesarias para que una actividad sea colaborativa. Teniendo en consideración estas categorías, los autores etiquetan segmentos específicos de las entrevistas utilizando la herramienta WEFT QDA, a través de la herramienta se revisó y clasificó fragmentos de texto en las cuatro categorías (ver Tabla 4):
4. RESULTADOS Y DISCUSIÓN
Producto de la entrevista se identificaron un listado de actividades que fueron agrupadas por frecuencia, es decir, cuantos equipos coincidieron al mencionar la actividad (1, 2, 3 o 4), a su vez las actividades desarrolladas por los equipos se asociaron a actividades colaborativas y a eventos o elementos Scrum con el fin de identificar actividades dentro de la metodología en donde se pueden presentar los problemas especificados por los participantes.
A continuación, se presenta el número de actividades obtenido en cada categoría y el número de actividades por frecuencia (ver Tabla 5 y Tabla 6).
Las actividades con mayor incidencia (frecuencia 4) revelan problemas o factores de riesgo presentes durante la adopción que se pueden presentar de forma frecuente en equipos adoptantes de Scrum. Por otra parte, las actividades con menor incidencia (frecuencia 1) revelan problemas o factores de riesgo menos comunes.
Los participantes identificaron de forma explícita algunos de los problemas que se encontraron basados en su experiencia. La mayoría de estos problemas están asociados al factor persona que se evidencia en la cultura, las creencias, el lenguaje, la personalidad y la actitud.
Para este trabajo se denomina desafío a los diferentes factores que afectan la correcta adopción de Scrum. Los principales desafíos identificados en este estudio fueron encontrados a partir de los fragmentos de texto (afirmaciones explícitas de los participantes) y en las actividades asociadas.
A continuación, se presenta una lista de desafíos, acompañados de los componentes de la colaboración que afectan a cada uno de ellos:
El pensamiento de trabajo individual (comunicación, conciencia e interacción): algunos individuos prefieren trabajar solos o desarrollar sus actividades sin relacionarse con el equipo de trabajo.
Restar importancia al propósito de cada evento Scrum (conciencia): No conocen el objetivo de los eventos y como impactan en el proceso.
Falta de participación o ausencia durante las sesiones (comunicación, conciencia e interacción): Algunos miembros del equipo no desean participar durante las sesiones por lo que evitan estar presentes, no prestan atención y/o presentan poca o nula participación.
El factor persona puede afectar el proceso de adopción (comunicación e interacción): el proceso puede verse afectado por la personalidad, carácter, costumbres, creencias, etc. de una persona.
Ausencia de la propiedad colectiva de la información (comunicación y conciencia): los miembros del equipo desconocen el avance del proceso y las actividades que realizan otros miembros del equipo.
Ausencia de una comunicación efectiva (comunicación): La comunicación por múltiples herramientas de mensajería o canales puede provocar que haya pérdida de información o confusión.
Falta de cooperación y comunicación constante con el cliente (comunicación, conciencia e interacción): Se tiene en cuenta al cliente solo al final del proceso.
Falta de disciplina en las reuniones diarias (conciencia): Se extienden las reuniones, no se cumple con el objetivo, no queda claro el avance del proceso.
Falta de participación constante del cliente (comunicación, conciencia e interacción): El cliente pierde o no tiene interés por lo que no se involucra en el proceso.
Falta de comprensión de los valores ágiles (conciencia): los miembros del equipo tienen diferente comprensión de los valores ágiles.
Falta de comprensión de los objetivos de las reuniones (conciencia): los miembros del equipo no tienen la misma percepción del propósito de las reuniones de Scrum.
4.1 Discusión
Con relación a los aspectos generales, se encontró que la mayor parte de los estudios realizados consideran la colaboración como un factor importante en el éxito de la implementación de Scrum. No obstante, aunque los estudios comparten un enfoque en la implementación de metodologías ágiles en el desarrollo de software, difieren en sus objetivos específicos, enfoques metodológicos y resultados clave. Cada uno aporta una perspectiva única sobre los desafíos y aspectos relacionados con la colaboración en el contexto ágil.
En cuanto a objetivos específicos, se evidenció que son diferentes: algunos se centran en abordar problemas de acumulación de productos y proporcionar soluciones basadas en Scrum, otros se enfocan en proponer un marco para estudiar la colaboración impulsada por requisitos y su impacto en el rendimiento de la iteración en equipos ágiles; otros exploran las dimensiones clave de la colaboración en el desarrollo de software ágil; respecto a los enfoques metodológicos, se halló que aunque todos los artículos utilizan métodos de investigación empírica, difieren en los enfoques específicos de recopilación de datos. Por ejemplo, estudios de caso que involucran cuestionarios, entrevistas y observación, etc. Finalmente, los artículos difieren no solo en su alcance geográfico y de aplicación, sino también en los resultados.
En [24] se aborda la deuda no técnica (NTD) en ingeniería de software, un tema que no ha recibido la misma atención que la deuda técnica cuando se trata de deudas relacionadas con aspectos sociales, procesos y personas. El análisis comparativo entre las investigaciones sobre la deuda no técnica (NTD) en ingeniería de software y el presente estudio ofrece valiosas perspectivas sobre la importancia de la colaboración y la gestión efectiva de los aspectos sociales, procesos y personas en entornos de desarrollo de software. Sin embargo, reporta los resultados de una revisión cartográfica sistemática de la investigación en ingeniería de software, por lo tanto, difiere no solo en método de recopilación de información, sino también en enfoque, ya que, no se enfoca en Scrum específicamente. En cuanto a los resultados, se puede afirmar que este estudio reitera que el factor persona es importante en equipos de desarrollo de software, puesto que los aspectos personales como la cultura, creencias, etc., pueden impactar de forma negativa el proyecto.
Por otro lado, algunos autores [20] señalan la comunicación como un factor crucial en la colaboración en equipos que implementan Scrum. Coinciden en que el uso de herramientas colaborativas de comunicación, como chats y otras plataformas para la toma de notas, presenta desafíos para mantener conversaciones informales y la cultura de intercambio de conocimientos que se fomenta dentro de las organizaciones. Sin embargo, este estudio reveló que el uso de herramientas como los chats no garantiza la retención de información. Dado el carácter informal de las conversaciones, carecen de un historial claro de los cambios, lo que puede dificultar el seguimiento de decisiones, acuerdos, entre otros aspectos. En ocasiones, la información contenida en estas plataformas se pasa por alto o se olvida al no constituir canales formales de comunicación.
Otros autores [21] se centran en entornos de desarrollo global de software (GSD) y destacan las dificultades asociadas con la distancia geográfica, temporal y sociocultural; mientras que este trabajo identifica problemas o desafíos asociados a la colaboración relacionados con la comunicación, interacción y conciencia dentro de los equipos de desarrollo adoptantes de la metodología Scrum. Aunque se implementan estrategias específicas en cada contexto, como el uso de herramientas de comunicación adecuadas o la construcción de relaciones personales, ambos resaltan la relevancia de la colaboración efectiva para el éxito del proyecto. Sin embargo, el estudio sobre GSD subraya la importancia continua de la interacción cara a cara, sugiriendo que, a pesar de las ventajas de las herramientas tecnológicas, la comunicación directa sigue siendo fundamental. Estas conclusiones refuerzan la idea de que la colaboración bien gestionada es esencial en cualquier entorno de desarrollo de software, independientemente de la metodología utilizada, y ofrece perspectivas valiosas para mejorar las prácticas colaborativas en futuros proyectos.
Pese a que el estudio fue realizado con más del 70 % de las empresas adoptantes de Scrum en el departamento del Cauca, aún puede considerarse que son pocas en comparación a otras regiones, ciudades o países. No obstante, este estudio se basa en la experiencia empírica de equipos adoptantes, que incluso han recibido capacitación en el uso de la metodología, por lo cual los hallazgos son relevantes para determinar posibles obstáculos a la hora de adoptar o implementar Scrum.
En este sentido, la principal contribución de este estudio radica en su enfoque específico sobre los desafíos y aspectos de colaboración en equipos Scrum adoptantes en el departamento del Cauca, Colombia. A diferencia de investigaciones más generales o centradas en entornos globales, este estudio ofrece una visión contextualizada y profunda de los obstáculos únicos que enfrentan estos equipos. Basándose en la experiencia empírica de equipos capacitados en Scrum, el estudio identifica desafíos clave en comunicación, interacción y conciencia. Al contrastar estos hallazgos con investigaciones previas, el estudio enriquece el cuerpo de conocimiento existente sobre Scrum y colaboración en el desarrollo de software. Esta comparación permite no solo validar los resultados obtenidos, sino también identificar áreas donde se requiere más investigación o donde las prácticas actuales pueden necesitar ser adaptadas o mejoradas. Además, se puede inferir que los desafíos identificados en el departamento del Cauca podrían ser extrapolables a otras regiones de Colombia debido a factores culturales compartidos. En resumen, este trabajo aporta perspectivas que pueden beneficiar tanto la academia como la práctica, ayudando a los equipos Scrum a identificar desafíos en el desarrollo de software, ya sea para formular estrategias de manejo específicas o para tenerlos en cuenta en futuros procesos de adopción.
4.2 Propuesta (trabajo futuro)
Los desafíos de colaboración identificados representan riesgos a los cuales los equipos adoptantes de Scrum se enfrentan durante la ejecución de la metodología. Por lo tanto, resulta sumamente valioso determinar enfoques que permitan abordar estos desafíos de manera efectiva. Dado que la colaboración ha demostrado ser un aspecto crucial, como se evidenció en el estudio realizado, se pueden incorporar elementos de la ingeniería de la colaboración en el proceso de implementación de la metodología Scrum con el fin de mejorar la colaboración y mitigar el riesgo asociado al factor persona.
Además de los hallazgos obtenidos en este estudio, se sugiere explorar la viabilidad de implementar elementos de la ingeniería de la colaboración como patrones de colaboración y ThinkLets, que representan una oportunidad para soportar el proceso de aplicación en actividades de carácter colaborativo con el fin de mejorar la colaboración en equipos adoptantes de Scrum. Lo anterior, se puede realizar con la metodología proporcionada por [16] la cual está compuesta por 4 fases. En la primera, se realiza un diagnóstico del proceso, técnica o tarea; en la segunda, se realiza la descomposición del proceso; en la tercera se establecen las actividades que requieren colaboración, y en la última, se realiza la asignación o creación de ThinkLets (ver Figura 1).
En este sentido, como una solución potencial a los desafíos colaborativos, se propone la aplicación de ThinkLets, con el objetivo de incorporarlos como una herramienta de apoyo en el proceso de adopción. Tras identificar las actividades colaborativas dentro del marco de Scrum, resultaría sumamente beneficioso consultar el patrón o ThinkLet correspondiente durante la implementación. Esto permitiría potenciar la colaboración en situaciones donde se detecten uno o varios de los desafíos identificados en este estudio.
A partir de esta premisa se pueden asociar una serie de patrones de colaboración a las actividades colaborativas y crear una serie de ThinkLets diseñados para integrar la ingeniería de la colaboración y la metodología Scrum. Estos ThinkLets podrían considerarse como una guía o recomendación para realizar tareas específicas de Scrum de manera colaborativa. No obstante, los ThinkLets propuestos no deben ser obligatorios, ya que, consisten en una sugerencia para la mejora del proceso, por lo tanto, podrían ser adaptados a las necesidades del equipo. Además, podrían incluirse desde primeras etapas de la implementación de la metodología Scrum, el objetivo es que los equipos se acostumbren a las herramientas colaborativas y que estas sean interiorizadas por los miembros del equipo. Finalmente, sería ideal integrar los ThinkLets en una guía de adopción de Scrum con un enfoque colaborativo, permitiendo así su implementación cuando surjan desafíos en la colaboración o como medida preventiva para abordarlos durante el proceso de adopción.
La Tabla 7 contiene la estructura de un ThinkLet, esta estructura fue obtenida con base en los ThinkLets existentes, con el fin de proporcionar una comprensión más clara de cuándo y cómo pueden ser utilizados.
5. CONCLUSIONES
Scrum es una metodología de gestión de proyectos ágil y popular que se utiliza en el desarrollo de software y otros proyectos complejos. Aunque se centra en la colaboración entre los miembros del equipo, pueden surgir varios desafíos que afectan esta dinámica colaborativa. Por lo anterior, las entrevistas semiestructuradas realizadas brindan una perspectiva acerca de los problemas que afrontan los equipos adoptantes de Scrum de pequeñas organizaciones desarrolladoras de software durante su proceso de implementación respecto a la colaboración. Cabe mencionar que estos hallazgos serán considerados como parte de un estudio exploratorio inicial sobre el tema.
Resulta claro que una preferencia por el trabajo individual, combinada con una falta de interacción con otros miembros del equipo y una resistencia al cambio de este comportamiento, podría afectar adversamente la aplicación de Scrum. Las actitudes individualistas, al obstaculizar la colaboración dentro del equipo, pueden representar una amenaza para el progreso del proyecto bajo esta metodología.
Cabe considerar que el empleo de diversos canales de comunicación no necesariamente asegura una comunicación efectiva, pudiendo en cambio ocasionar confusiones o la falta de consideración oportuna de la información. Aunque herramientas como Skype, Google o incluso WhatsApp facilitan una comunicación continua entre los miembros del equipo, su naturaleza informal carece de una estructura para gestionar adecuadamente las comunicaciones y no proporciona la capacidad de rastrear decisiones, comentarios, entre otros aspectos. Esto conlleva a la pérdida de información y dificulta el seguimiento de las interacciones clave.
Además, la discrepancia en los niveles de conciencia dentro del equipo resulta evidente, ya que, se evidencia que los miembros del equipo tienen diferente comprensión de los eventos y valores ágiles, lo que obstaculiza la participación de algunos miembros del equipo y a su vez genera ausencia de un entendimiento compartido del problema, del producto, y del avance del proyecto. Esta variabilidad en la conciencia puede ser influenciada por el factor persona, que abarca elementos como la cultura, creencias, etnia, lenguaje, personalidad y actitud. Estos aspectos pueden influir significativamente en el proceso de implementación de Scrum, y dificultar la colaboración, puesto que pueden afectar la comunicación, la conciencia y la interacción entre los miembros del equipo. Es crucial tener en cuenta estas variables al implementar la metodología y fomentar un ambiente propicio para la colaboración.
De hecho, al establecer que existen problemas de colaboración en equipos adoptantes de Scrum, se abre la oportunidad de incorporar elementos de ingeniería de la colaboración para perfeccionar los aspectos colaborativos. Algunos equipos, por su parte, incorporan artefactos de metodologías tradicionales que consideran indispensables para el proyecto, lo que conlleva a una adaptación de estos artefactos a la metodología ágil. Los equipos están aplicando una ejecución modificada.
Por otro lado, los equipos ven necesaria la capacitación en Scrum de sus integrantes para una mejor implementación de la metodología. Sin embargo, la adopción debe ser una decisión voluntaria y consciente de interiorizar no sólo el proceso y la metodología, sino también los valores y principios ágiles, de forma que el pensamiento del equipo cambie, e influir en el cambio en la cultura organizacional.
A pesar de la existencia de estudios que investigan la colaboración en el ámbito del desarrollo de software, incluyendo la metodología Scrum, aún no se han llevado a cabo investigaciones que aborden la colaboración considerando los tres componentes: comunicación, conciencia e interacción. Se destaca la relevancia de la colaboración efectiva en el éxito de la implementación. Los desafíos identificados, como la discrepancia en los niveles de conciencia y las preferencias por el trabajo individual, subrayan la necesidad de fomentar una cultura colaborativa dentro de los equipos de desarrollo de software y proporciona una base sólida para reconocer estrategias y áreas de mejora potenciales.
En conclusión, los problemas de colaboración en equipos de desarrollo de software tienen un impacto directo en el proceso de implementación de Scrum, ya que, pueden hacer que los miembros del equipo pierdan la confianza en el proceso de Scrum, lo que, a su vez, puede hacer que se vuelvan reacios a adoptar la metodología en el futuro. Además, debilitan uno de los pilares de la metodología, dificultando así el proceso de aplicación en sí. Por lo cual es importante abordar los problemas colaborativos de manera proactiva para garantizar el éxito de la aplicación de Scrum.