REVISTA DE ADENAG

ISSN 1853-7367

Ejemplar N° 13 – 2023

METODOLOGIAS AGILES: ESTUDIO COMPARATIVO DE APLICACIÓN EN ARGENTINA Y COLOMBIA

AGILE METHODOLOGIES: COMPARATIVE STUDY OF APPLICATION IN ARGENTINA AND COLOMBIA

 

 Sergio Daniel Conde sergio.conde@ues21.edu.ar

Horacio Esteban Busleiman Paez bhoracio@hotmail.com

Giovanny Andrés Piedrahita Solórzano gapiedrahita@poligran.edu.co

Colaboradores:

Isabel Andrea Mahecha Nieto imahecha@poligran.edu.co

Daniel Omar García danielomargarcia66@gmail.com

Universidad Siglo 21 - Institución Universitaria Politécnico Grancolombiano

Artículo Científico

Resumen

Los Modelos de Desarrollo, tales como Scrum, XP (eXtreme Programming), Kanban y Scrumban permiten a las empresas y organizaciones realizar proyectos de desarrollo y mantenimiento de sistemas informáticos de manera más ágil, con respuestas más rápidas y adecuadas al contexto cambiante. Sin embargo, a nivel mundial se han detectado varios problemas con la implementación de dichos modelos de desarrollo con lo cual se obtienen resultados menores a los esperados.

Se propone analizar la aplicación de Modelos de Desarrollo en empresas y organizaciones de Argentina y de Colombia con la participación de la Institución Universitaria Politécnico Grancolombiano y la Universidad Argentina Siglo 21.

Palabras claves:  Kanban.  Metodologías ágiles. Modelo de desarrollo. Scrum. XP.

 

Abstract

Development Models, such as Scrum, XP (eXtreme Programming), Kanban and Scrumban allow companies and organizations to carry out development projects and maintenance of computer systems in a more agile way, with faster and more appropriate responses to the changing context. However, worldwide, several problems have been detected with the implementation of these development models, with which less than expected results are obtained.

In this project we propose to analyze the application of Development Models in companies and organizations in Argentina and Colombia with the participation of the Institución Universitaria Politécnico Grancolombiano and the Universidad Argentina Siglo 21.

Keywords: Agile Methodologies. Development model. Kanban. Scrum. XP.

 


1.        Introducción

Las Metodologías Ágiles, tales como Scrum, XP (eXtreme Programming) y Kanban permiten a las empresas y a organismos estatales dedicados al desarrollo de software, realizar proyectos de desarrollo y mantenimiento de sistemas informáticos con respuestas más rápidas y adecuadas al usuario. Sin embargo, se han detectado varios problemas con la implementación de dichas metodologías, con lo cual se obtienen resultados menores a los esperados.

El Objetivo General es:

Identificar las causas que generan debilidades en la implementación de Modelos de Desarrollo en empresas y organizaciones de Argentina y Colombia.

Los Objetivos Específicos del presente trabajo son:

Identificar las áreas donde se aplican Modelos de Desarrollo de Metodologías Agiles   en empresas y organizaciones de Argentina y Colombia.

Comparar las debilidades encontradas en la aplicación de los Modelos de Desarrollo de Metodologías Agiles en empresas y organizaciones de Argentina y Colombia.

2.        Marco teórico

El desarrollo de software a través de Metodologías Ágiles se refiere a un grupo de metodologías aplicadas basadas en un proceso iterativo, en donde los requerimientos y las soluciones evolucionan mediante la colaboración entre equipos auto-organizados (Ambler, 2009). Los métodos ágiles generalmente promueven un proceso de administración de proyectos que da pie a la frecuente inspección y adaptación, una filosofía de liderazgo que promueve el trabajo en equipo, equipos auto-controlados, una serie de buenas prácticas que permiten la rápida entrega de software de alta calidad y un enfoque de negocios que alinea el desarrollo con las necesidades de los clientes y las metas de las compañías (Agile Manifesto, 2001).

Varios autores coinciden en que resulta difícil para las pymes implementar programas de mejoras de Proceso de Software fundamentalmente por la falta de seguimiento de los planes de acción y de implantación, debido al alto costo que significan. De esta forma, los parámetros de tiempos de desarrollo y costo de soluciones, afectarán directamente al trabajo que se realice, siendo la calidad la primera variable de ajuste disponible (Mas A. et al., 2005). (Pino, 2006). (Pasini, 2008.)

Las metodologías ágiles son flexibles, pueden ser modificadas para que se ajusten a la realidad de cada equipo y proyecto. Los proyectos ágiles se subdividen en proyectos más pequeños mediante una lista ordenada de características. Cada proyecto es tratado de manera independiente y desarrolla un subconjunto de características durante un periodo de tiempo corto, de entre dos y seis semanas. La comunicación con el cliente es constante al punto de requerir un representante durante el desarrollo. Los proyectos son altamente colaborativos y se adaptan mejor a los cambios; de hecho, el cambio en los requerimientos es una característica esperada y deseada, al igual que las entregas constantes al cliente y su retroalimentación. Tanto el producto como el proceso son mejorados frecuentemente.

El concepto de scrum tiene su origen en un estudio de 1986 sobre los nuevos procesos de desarrollo utilizados en productos exitosos en Japón y los Estados Unidos con las cámaras de fotos de Canon, fotocopiadoras de Xerox, automóviles de Honda, ordenadores de HP y otros productos. Los equipos que desarrollaron estos productos partían de requisitos muy generales, así como novedosos, y debían salir al mercado en mucho menos del tiempo del que se tardó en lanzar productos anteriores. Estos equipos seguían patrones de ejecución de proyecto muy similares. En este estudio se comparaba la forma de trabajo de estos equipos altamente productivos y multidisciplinares con la colaboración entre los jugadores de Rugby y su formación de Scrum.

En 1993 se realizó el primer Scrum para desarrollo de software y en 1995 el proceso fue formalizado. En 2001 un grupo de personas muy relevantes en lo que empezaba a ser el desarrollo ágil describieron los valores fundamentales de los procesos ágiles.  Desde 1995 miles de proyectos en todo el mundo han utilizado Scrum para el desarrollo de productos, tanto en empresas pequeñas, con tan sólo tres personas desarrollando un producto, como en multinacionales. (Conde y Marcovecchio, 2022).

Los principios que dan origen al Manifiesto implican la satisfacción del cliente mediante entregas tempranas y continuas de software funcional, requerimientos cambiantes en cualquier etapa del proyecto, participación activa del cliente, simplicidad, equipos de desarrollo motivados y auto organizados, comunicación efectiva auto inspecciones y adaptación (Agile Manifesto, 2001).

En el año 2001 un grupo de diecisiete personas que incluyen desarrolladores, consultores y escritores; construyeron y suscribieron el Manifiesto Ágil. Esto no implica que en ese momento o previo a él, hayan surgido las metodologías ágiles, sino el reconocimiento expreso de la necesidad de pautas comunes que hagan posible algún tipo de agrupación entre ellas (Sommerville, I, 2010).

El desarrollo ágil de software en general se caracteriza por los siguientes atributos: incremental (se refiere a pequeñas versiones de software, con ciclos de desarrollo rápidos), cooperativo (se refiere a una estrecha interacción entre el cliente y el desarrollador), simple (implica que el método en sí es fácil de aprender y modificar y que está suficientemente documentado) y adaptativo (se refiere a la capacidad de realizar y reaccionar ante cambios de último momento) (Abrahamsson, P, 2003, p. 2).

La mayoría de los equipos ágiles exitosos han adaptado prácticas ágiles de distintas metodologías para generar un proceso de desarrollo propio que se ajusta a sus necesidades. Estas adaptaciones parecen estar centradas en mezclas de Scrum con XP. XP se enfoca en prácticas de desarrollo por parte de los programadores, respetando principios que se deben cumplir. Scrum apunta a la administración de proyectos con la elaboración de documentos donde se detallan cada uno de los requerimientos a cumplir, se establecen reuniones de planificación de seguimiento diario y se aplican diferentes roles en la estructura de cada equipo de desarrollo (Paige, 2005). (Martin & Martin, 2006).

La hipótesis del trabajo es: La implementación de Modelos de Desarrollo de Metodologías Agiles se encuentran inadecuadamente utilizada en las empresas.

3.        Metodología

Se parte de la hipótesis: La aplicación de Modelos de Desarrollo de Metodologías Agiles se encuentran inadecuadamente utilizada en las empresas.

El diseño utilizado es cuantitativo - cualitativo.

La metodología propuesta permite identificar las variables necesarias para poder verificar y validar la hipótesis, permitiendo desarrollar un análisis detallado de cada resultado obtenido.

La obtención de la información para el procesamiento de cada una de las variables se realizó por intermedio de encuestas en Argentina y Colombia.

4.        Desarrollo

Para empezar, se identificó el país de origen de la empresa; que podía ser Argentina, Colombia, o una multinacional con presencia en alguno de los países mencionados.

Gráfico 1: País de origen de la empresa. Elaboración propia.

Se puede observar que sobre un total de 102 (ciento dos) respuestas: 52 (cincuenta y dos) corresponden a Colombia representando el 50,98%, 19 (diecinueve) son multinacionales con representación en Colombia con un porcentaje de 18,63%, 17 (diecisiete) corresponden a Argentina con un porcentaje del 16,67%, 7 (siete) son multinacionales con representación en Argentina con un porcentaje de 6,86%, mientras que 7 (siete) encuestados no respondieron esta pregunta (6,86%).

Analizando el tamaño de las empresas encuestadas, encontramos grandes, medianas, pequeñas, microempresas y startups.

Gráfico 2: Tamaño de las empresas cuyo origen o representación se encuentra en Colombia. . Elaboración propia.

 

En este sentido, la distribución para empresas cuyo origen es Colombia y multinacionales con representación en dicho país, tenemos que un total de 38 (treinta y ocho) son grandes representando el 53,52%, 16 (dieciséis) son medianas con un porcentaje del 22,54%, 13 (trece) son pequeñas con un porcentaje del 18,31%, 3 (tres) son microempresas con un porcentaje del 4,23%, y 1 (una) es un startup con un porcentaje del 1,4%.

Gráfico 3: Tamaño de las empresas cuyo origen o representación se encuentra en Argentina. Elaboración propia.

Con respecto a la distribución para empresas cuyo origen es Argentina y multinacionales con representación en dicho país, tenemos que un total de 13 (trece) son grandes representando el 54,17%, 5 (cinco) medianas que alcanzan el 20,83%, 2 (dos) son pequeñas que representan el 8,33%, 1 (una) es una microempresa con el 4,23%, 1 (una) es una startup con el 4,17%, y 2 (dos) no respondieron a esta pregunta con el 8,33%.

Un aspecto de interés para la investigación consiste en conocer en cuál es el modelo de desarrollo utilizado principalmente.

Gráfico 4: Modelo de desarrollo utilizado principalmente en las empresas cuyo origen o representación se encuentra en Colombia. Elaboración propia.

 

Para el caso de empresas de origen colombiano y multinacional con representación en Colombia, de un total de 71 encuestados, se observa que la mayoría utiliza los modelos incremental (30) y cascada (23); en una cantidad menor los modelos en espiral (7), scrum (4), Bdd (1) y modelo v (1). Mientras que 3 (tres) encuestados no respondieron, 1 (un) encuestado respondió que no utiliza modelo de desarrollo, y 1 (un) encuestado no está asociado con programación. Si sumamos los encuestados que utilizan modelos ágiles (scrum, bdd y modelo v), podemos observar que en total son 7 (siete), los que representan el 9% (nueve) porciento sobre la base de 71 encuestados. Cabe destacar el uso por parte de un encuestado de la metodología Bdd (del inglés Behavior Driven Development, o Desarrollo Guiado por el Comportamiento). s un proceso de desarrollo de software que surgió a partir del desarrollo guiado por pruebas. El desarrollo guiado por el comportamiento combina las técnicas generales y los principios del desarrollo guiado de pruebas, junto con ideas del diseño guiado por el dominio y el análisis y diseño orientado a objetos para proveer al desarrollo de software y a los equipos de administración de herramientas compartidas y un proceso compartido de colaboración en el desarrollo de software

Continuando con el mismo análisis, para el caso de empresas de origen argentino y con representación en Argentina, se observa que, de un total de 24 (veinticuatro) encuestados, 13 (trece) utilizan el modelo incremental, 3 (tres) el modelo en cascada, 2 (dos) el modelo scrum, 1 (una) el modelo en espiral; mientras que 4 (cuatro) encuestados no respondieron la pregunta y 1 (uno) indicó Nn.

Gráfico 5: Modelo de desarrollo utilizado principalmente en las empresas cuyo origen o representación se encuentra en Argentina. Elaboración propia.

 

Considerando los 2 encuestados que indicaron que utilizan scrum, vemos que representan sólo el 8 % sobre una base de 24 encuestados en Argentina, no observándose otra metodología utilizada en dicho país.

Si bien, tanto para Argentina como para Colombia, se observa que son relativamente pocos los encuestados que utilizan metodologías ágiles, el resultado cambia al responder a la pregunta respecto a si la empresa utiliza metodologías ágiles.

En ese sentido, para el caso de las empresas de origen colombiano y multinacionales radicadas en Colombia, el 83,1% respondió que utiliza metodologías ágiles, el 14,08% respondió que no utiliza metodologías ágiles, y el 2,82% no respondió esta pregunta.

Gráfico 6: Empresas de origen colombiano o radicadas en Colombia, que utilizan metodologías ágiles. Elaboración propia.

 

Gráfico 7: Empresas de origen argentino o radicadas en Argentina, que utilizan metodologías ágiles. Elaboración propia.

 

En cuanto a las empresas de origen argentino y multinacionales radicadas en este país, el 75% respondió que utiliza metodologías ágiles, el 16,67% respondió que no utiliza metodologías ágiles, y el 8,33% no respondió esta pregunta.

La diferencia entre empresas que utilizan metodologías ágiles en Argentina con respecto a Colombia es notablemente menor para el primero (8,1%).

Otro aspecto notable en las encuestas es que no se condice la pregunta de si utilizan metodologías ágiles (si, no o no contesta) con respecto a la pregunta de qué metodologías utilizan (incremental, cascada, espiral, scrum, bdd, modelo v, etc.). Vemos, por ejemplo, que la mayoría utiliza la metodología incremental y cascada (no ágiles) y por otro lado afirman que utilizan metodologías ágiles. Cabe realizar las siguientes preguntas ¿se conoce cuáles son las metodologías ágiles? ¿utilizan una adaptación de estas a la empresa?

Una de las preguntas asociadas a la investigación es sobre los roles utilizados en las metodologías. Para este análisis, se tiene en cuenta que una empresa puede utilizar más de un rol.

Gráfico 8: Roles utilizados en las metodologías ágiles (Scrum y Bdd) de origen colombiano o radicadas en Colombia. Elaboración propia.

De las 5 (cinco) de empresas de origen colombiano o radicadas en Colombia que utilizan metodologías ágiles, 4 (cuatro) utilizan el rol de analista de pruebas, 4 (cuatro) utilizan un equipo de desarrollo, 4 (cuatro) utilizan scrum master, 3 (tres) utilizan el rol de desarrollador, 3 (tres) utiliza personal de soporte, 3 (tres) utilizan product owner, 2 (dos) utilizan el rol de analista de requerimientos, 2 (dos) utilizan el rol de líder de proyecto, 2 (dos) utilizan el usuario final y 1 (una) no utiliza roles.

Llama la atención que uno de los encuestados respondió que no utiliza roles, a pesar de implementar la metodología ágil. Otro aspecto que llama la atención es que sólo dos empresas incluyen a los usuarios en el proceso de desarrollo.

Gráfico 9: Roles utilizados en las metodologías no ágiles o que no utilizan una metodología, de origen colombiano o radicadas en Colombia. Elaboración propia.

 

De las 66 (sesenta y seis) de empresas de origen colombiano o radicadas en Colombia que utilizan metodologías no ágiles o que no utilizan una metodología, 53 (cincuenta y tres) utilizan el rol de desarrollador, 53 (cincuenta y tres) utilizan un equipo de desarrollo, 49 (cuarenta y nueve) utilizan el rol de analista de pruebas, 46 (cuarenta y seis) utilizan el rol de analista de requerimientos, 44 (cuarenta y cuatro) utilizan el rol de líder de proyecto, 43 (cuarenta y tres) utilizan scrum master, 42 (cuarenta y dos) utiliza product owner, 28 (veintiocho) utilizan el usuario final, 27 (veintisiete) utiliza personal de soporte, 1 (una) no contestó a la pregunta y 1 (una) no utiliza roles.

Al igual que en las metodologías ágiles, existe un muy bajo nivel de participación del usuario final en la aplicación de la metodología.

Gráfico 10: Roles utilizados en las metodologías ágiles de origen argentino o radicadas en Argentina. Elaboración propia.

De las 2 (dos) de empresas de origen argentino o radicadas en Argentina que utilizan metodologías ágiles, 1 (una) utiliza el rol de analista de pruebas, 1 (una) utiliza el rol de analista de requerimientos, 1 (una) utiliza el rol de desarrollador, 2 (dos) utilizan un equipo de desarrollo, 2 (dos) utilizan el rol de líder de proyecto, 1 (una) utiliza personal de soporte, 2 (dos) utilizan product owner, 2 (dos) utilizan scrum master, y 1 (una) utiliza el usuario final.

Gráfico 11: Roles utilizados en las metodologías no ágiles o que no utilizan una metodología, de origen argentino o radicadas en Argentina. Elaboración propia.

En cuanto a las metodologías no ágiles, de las 22 (veintidós) empresas de origen argentino o radicadas en Argentina, 13 (trece) utilizan el rol de líder de proyecto, 12 (doce) utilizan un equipo de desarrollo, 9 (nueve) utilizan el rol de desarrollador, 9 (nueve) utilizan personal de soporte, 7 (siete) utilizan product owner, 7 (siete) utilizan el usuario final, 6 (seis) utilizan scrum master, 5 (cinco) utilizan el rol de analista de pruebas, 5 (cinco) utilizan el rol de analista de requerimientos, 3 (tres) no utilizan roles, 3 (tres) no contestaron a la pregunta, 1 (uno) utilizan DevSecOps.

Nuevamente, se observa la baja participación del usuario final en el proceso de desarrollo.

5.        Conclusiones

Partiendo de la hipótesis: La aplicación de Modelos de Desarrollo de Metodologías Agiles  se encuentran inadecuadamente utilizada en las empresas, se puede determinar que  si bien se observa que en todos los casos de Argentina y Colombia se da una baja participación al usuario final, una de las principales diferencias entre ambos países, es que las empresas de origen colombiano o multinacional con presencia en Colombia tienen un alto grado de participación del rol de analista de pruebas, en comparación con las empresas argentinas.

Finalmente, del estudio se puede observar la necesidad de seguir promoviendo dentro de las organizaciones la capacitación en metodologías ágiles, para alinear los conocimientos que se tienen con las herramientas aplicadas y cuya utilización puede aportar muchos elementos en la ejecución.

 Se requiere un análisis de la puesta en práctica o implementación para responder al objetivo del trabajo y mejora del proceso de desarrollo de software.

Como trabajo futuro se buscará identificar casos de estudio específicos que sirvan de prueba para implementar estrategias de capacitación y evaluación de competencias en metodologías ágiles, que puedan ser trasladadas a diferentes organizaciones de desarrollo de software.

6.        Referencias

Abrahamsson, P., Warsta, J., Siponen, M. & Ronkainen, J. (2003) New Directions on Agile Methods: A Comparative. Analysis. Proceedings 25th International Conference on Software Engineering. Portland, IEEE.

Agile Manifesto. (2001). Copyright Ward Cunningham 2001. Recuperado de: http://agilemanifesto.org/ el 12-07-2019

Ambler, S. (2009). “Modeling (AM) Home Page Effective Practices for Modeling and Documentation”. Ambysoft Copyright 2001-2009. Recuperado de:   http://www.agilemodeling.com/ el 20/06/2021

Conde, S y Marcovecchio O. (2022). El Conocimiento Organizacional. Aplicación.

Mas A., Amengual E. (2005). Las mejoras de los procesos de Software en las pequeñas y medianas empresas (pymes). Un nuevo modelo y su aplicación a un caso real. Revista Española de Innovación, Calidad e Ingeniería del Software, Vol.1, No. 2.

Hoda, R., Kruchten, P., Noble, J. & Marshal, S. (2010). Agility in Context. Proceedings of the ACM International Conference on Object Oriented Programming Systems Languages and Applications (OOPSLA ‘10). New York, ACM.

Martin, R. & Martin, M. (2006) Agile principles, patterns, and practices in c#. Prentice Hall, Westford.

Paige, R., Chivers, H., McDermid, J. & Stephenson, Z. (2005). High-integrity extreme programming. En L. Liebrock (2005) [Ed.]. Proceedings of the 2005 ACM symposium on Ap- plied computing (SAC ‘05), New York, ACM.

Pasini, A., Esponda, S., Bertone, R. & Pesado, P. (2008). Aseguramiento de Calidad en PYMES que desarrollan software. XIV Congreso Argentino de Ciencias de la Computación.

Pino, F., Garcia, F. Piattini, M. (2006). Revisión sistemática de mejora de procesos software en micro, pequeñas y medianas empresas. Revista Española de Innovación, Calidad e Ingeniería del Software. (REICIS). Vol. 2 (1) Abril pp. 6-23.

Sommerville, I. (2010). Ingeniería de Software. Editorial Pearson. Editorial Addison Wesley. Ed. 9°.