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°.