Capítulo 2 Estado del Arte
2.1.6 Discusiones
Una vez obtenidos los resultados, se procede a realizar el análisis de estos en función a dos aspectos.
Por un lado, un análisis cuantitativo cuyo objetivo es obtener la cantidad de estudios que se adecúan a cada aspecto considerado en las sub-preguntas definidas durante la fase de
“Formulación de la Pregunta” del proceso de revisión sistemática que aquí se describe. Y,
por otro lado, se lleva a cabo un análisis cualitativo, el cual tiene como fin
2.1.6.1 Análisis Cuantitativo
En este caso se llevó a cabo una revisión cruzada de casos o cross-case, buscando patrones a través de una profundización respecto a lo propuesto por cada estudio. Para mayor claridad del análisis, se muestran a continuación los resultados de forma cuantitativa que surgen de la comparación entre los diferentes estudios en base al conjunto de sub-preguntas definidas en la Tabla 2.1. Luego se exponen las conclusiones para dar respuesta a la pregunta principal “¿Existen evidencias de iniciativas relacionadas al proceso de evaluación de
calidad de procesos ágiles y su aplicación en proyectos de software que se hayan llevado a cabo?”.
Página 40
2.1.6.1.1 Sub-pregunta 1: ¿Cuál es el ámbito de aplicación de la propuesta?
En la Tabla 2.7 se expone la clasificación y comparación entre casos desde el punto de vista del ámbito de aplicación de la propuesta o experiencia de los artículos estudiados. Los trabajos en las Tablas se identifican de acuerdo con los acrónimos utilizados en la Tabla 2.5 en la columna “Estudio #” de este capítulo.
Tabla 2.7. Distribución de casos de estudio de acuerdo al ámbito de aplicación de la propuesta
Fuente: de Elaboración propia
En este sentido, como se aprecia en la Figura 2.2, aproximadamente el 38% de los artículos presentan propuestas validadas en organizaciones dedicadas a desarrollo de software, casi un 31% lo hace sobre equipos de desarrollo de software en diversas organizaciones y en su
SP 1 - ¿Cuál es el ámbito de aplicación de la propuesta?
Fuente Google Scholar
Artículo Empresas de Software Equipo de Desarrollo de Software Proyectos ágiles de Software
G1 X
G2 X
G3 X
Fuente Springer Link
Artículo Empresas de Software Equipo de Desarrollo de Software Proyectos ágiles de Software
S1 X X
S3 X
S5 X
Fuente ACM Digital Library
Artículo Empresas de Software Equipo de Desarrollo de Software Proyectos ágiles de Software
A1 X
A2 X
Fuente IEEE Digital Library
Artículo Empresas de Software Equipo de Desarrollo de Software Proyectos ágiles de Software
I1 X X
I2 X
I3 X
Página 41
mayoría, con casi un 54% de los trabajos, expone resultados de validación haciendo referencia a determinados proyectos ágiles de software. Sobre estos artículos solo un 5% tipifica la organización entre las que se indican experiencias en Grandes Empresas IT y PYMES.
Figura 2.3. Análisis cuantitativo de acuerdo con el ámbito de aplicación Fuente: de elaboración propia
2.1.6.1.2 Sub-pregunta 2: ¿Cuál es la contribución de los trabajos relevados relacionados al tema de tesis?
Respecto al análisis de la contribución de cada estudio, se exponen los resultados obtenidos en la Tabla 2.8.
Tabla 2.8. Distribución de casos de estudio de acuerdo a la contribución que se presenta
SP 2 - ¿Cuál es la contribución de los trabajos relevados relacionados al tema de tesis?
Fuente Google Scholar
Artículo Diseño Modelo Herramienta de Software Framework
G1 X
G2 X
G3 X
Fuente Springer Link
Artículo Diseño Modelo Herramienta de Software Framework
S1 X
S3 X
S5 X
Fuente ACM Digital Library
Artículo Diseño Modelo Herramienta de Software Framework
Página 42
A2 X X
Fuente IEEE Digital Library
Artículo Diseño Modelo Herramienta de Software Framework
I1 X
I2 X
I3 X
TOTALES 1 4 1 6
Fuente: de Elaboración propia
Tal como se observa en el gráfico de la Figura 2.3, más del 50% de los artículos presenta un framework. Se observa además que, aproximadamente el 39% de las propuestas presentan la definición de un modelo que contempla elementos para evaluar la calidad de procesos de desarrollo de software. Finalmente, de los 11 estudios seleccionados, sólo 1 artículo hace referencia al diseño de un prototipo que automatiza la evaluación de calidad; y sólo 1 artículo presenta el caso de implementación de una herramienta de software, incluyendo su validación.
Figura 2.4. Análisis cuantitativo de casos de acuerdo con la contribución Fuente: de elaboración propia
2.1.6.1.3 Sub- pregunta 3: ¿Cuál es el tipo de estudio presentado?
A continuación, en la Tabla 2.9 se presenta la comparación realizada al analizar los artículos en función al tipo de estudio presentado en cada uno.
Página 43
Tabla 2.9. Distribución de casos de acuerdo al tipo de estudio
SP 3 - ¿Cuál es el tipo de estudio presentado?
Fuente Google Scholar
Artículo Casos de Estudio Resultados de Cuestionario/Entrevista Propuesta de investigación-acción
G1 X
G2 X
G3 X
Fuente Springer Link
Artículo Casos de Estudio Resultados de Cuestionario/Entrevista Propuesta de investigación-acción
S1 X X
S3 X
S5 X
Fuente ACM Digital Library
Artículo Casos de Estudio Resultados de Cuestionario/Entrevista Propuesta de investigación-acción
A1 x
A2 X
Fuente IEEE Digital Library
Artículo Casos de Estudio Resultados de Cuestionario/Entrevista Propuesta de investigación-acción
I1 X X
I2 X X
I3 X
TOTALES 7 5 4
Fuente: de Elaboración propia
Por último, al analizar el componente referido a tipo de estudio, tal como se ve en la Figura 2.4, se ha observado que el 46% de los artículos presenta estudios de casos para validar o evaluar la propuesta que describen. Luego, de forma equilibrada se observa que casi un 38%
Página 44
de los estudios seleccionados presentan resultados de cuestionarios y/o entrevistas a diversos roles miembros de equipos ágiles de desarrollo de software y otro 38% definen propuestas de investigación y acción a ser implementados.
Figura 2.5 Análisis cuantitativo de acuerdo al tipo de estudio Fuente: de elaboración propia
2.1.6.2 Análisis Cualitativo
Hasta el momento, en este capítulo se ha llevado a cabo la revisión sistemática de la literatura teniendo en cuenta el estudio de propuestas relacionadas al proceso de evaluación de calidad de procesos ágiles y su implementación final. Luego, en base a la aplicación de criterios de inclusión y de exclusión, se han seleccionado un total de 11 estudios para su evaluación respecto a 3 dimensiones de análisis: ámbito de aplicación de la propuesta, contribución del trabajo y tipo de estudio. Entonces, y habiéndose presentado anteriormente los resultados del análisis cuantitativo se exponen aquí, por cada dimensión, los estudios más relevantes para su análisis cualitativo.
De esta forma, respecto al ámbito de aplicación de la propuesta se destaca, en primer lugar, el trabajo presentado por Medeiros et al [43] en el cual se define un modelo para determinar
los factores de calidad que afectan la especificación de requerimientos cuando se opta por utilizar Desarrollo de Software Ágil (ASD, Agile Software Development). En dicha propuesta se expone el estudio comparativo realizado sobre 6 casos que cubren organizaciones que responden a diversas características (organizaciones gubernamentales, empresas, industrias, entre otros) y concluyendo en una comparación final. Sin embargo, lo presentado contempla un modelo que solamente evalúa calidad durante la elicitación de requerimientos en proyectos ágiles de software sin incluir una evaluación integral sobre el resto de los aspectos del proceso ágil.
En segundo lugar, se destaca la contribución propuesta por Guzmán et al. en [44] que incluye
la participación de miembros especializados de 2 empresas para la validación de un prototipo (ProDebt) para la gestión de calidad de software. La evaluación del prototipo en conjunto
Página 45
con las compañías de software obtuvo resultados relevantes que delinearon las mejoras para una versión posterior. En cuanto a limitaciones, es importante resaltar que ProDebt propone un modelo orientado solo a disminuir deuda técnica a través de medición de factores que impactan directamente a la calidad y, si bien se orienta a procesos ágiles, la evaluación se realiza sobre el producto de software más que sobre el proceso.
Se ha realizado, también, el análisis desde el punto de vista de contribución de los estudios y en este sentido se destaca por un lado la propuesta denominada AGILUS [45] que, como
contribución, ofrece un método aplicado a la evaluación de usabilidad en el desarrollo de software ágil bajo SCRUM, enfocado en mejorar la calidad del producto y la satisfacción del usuario. El alcance del método AGILUS inicia después de la definición de Product Backlog y finaliza cuando el Product Owner valida los incrementos del producto de software, respaldados por los resultados de las pruebas de usabilidad, que involucran a usuarios representativos del sistema. La propuesta incluye la definición de etapas del proceso de evaluación, los métodos utilizados en cada una y el objetivo a alcanzar. Lamentablemente, y a pesar de su contribución a través de un framework, AGILUS solo se enfoca en evaluación de calidad desde el punto de vista de usabilidad del producto, obtenido en un proceso de software guiado por SCRUM, dejando de lado otros enfoques de desarrollo ágiles.
Por otro lado, se considera relevante respecto a su contribución el framework para distribución de tareas en equipos ágiles, propuesto por Aslam e Ijaz [46], que presenta un
modelo a través del cual se determinan factores que influyen en la asignación de tareas en entornos distribuidos de desarrollo de software ágil. La propuesta asigna roles a los miembros del equipo en función de sus capacidades y experiencias específicas. Y si bien aún no fue validado, el framework propone evaluación de calidad del proceso en torno a las tareas del equipo ágil, teniendo en cuenta solamente dicho aspecto lo que resulta su principal limitación. Además, otro inconveniente de la propuesta radica en que la distribución de tareas sólo considera aspectos cualitativos y no cuantitativos, sesgando y limitando a ello la evaluación del rendimiento del equipo.
Finalmente se realizó el análisis cualitativo en función al tipo de estudio que llevan adelante cada uno de los artículos seleccionados. Así, se destacan las propuestas de GuideGuen [47] y
AGILUS pues en ambos casos las herramientas fueron evaluadas en estudios de casos donde los actores formaban parte de empresas de desarrollo de software.
GuideGen es una herramienta que ayuda a los ingenieros de requisitos, testers y otros stakeholders a mantener alineados los requisitos y las pruebas de aceptación, cuya inconsistencia, según los autores, junto con una comunicación deficiente de los cambios, conducen a problemas de calidad del software, costos imprevistos y retrasos en los proyectos. En este sentido los autores proponen la validación de la herramienta a través de experiencias en contextos reales de proyectos basados en enfoques ágiles y proyectos guiados por metodologías tradicionales. La evaluación se llevó a cabo sobre 262 cambios de requerimientos en 3 organizaciones, 2 de las cuales presentaron proyectos guiados por prácticas ágiles. Como resultado final, se obtuvo en promedio un 80% de acierto en las sugerencias ofrecidas por GuideGen en proyectos ágiles y un 67% en proyectos bajo enfoques tradicionales. En las entrevistas de seguimiento, todos los expertos consideraron
Página 46
que GuideGen era útil para comunicar los cambios a tiempo y con menos esfuerzo. Sin embargo, y si bien esta propuesta aborda la calidad de software desde el punto de vista del proceso, solo se enfoca en la consistencia entre los cambios en requerimientos y las pruebas de aceptación para su validación.
Respecto a AGILUS, una herramienta a la que ya se ha hecho referencia anteriormente, valida la propuesta a través de un proceso de evaluación con casos reales, y cuyos resultados derivarían en mejoras para su próxima versión. Así, los autores proponen verificar la calidad de uso mediante la validación de AGILUS en base al análisis sobre 2 casos: un Sistema de monitoreo socio-pedagógico (SMS); y un Sistema de Gestión de Eventos (EMS), ambos desarrollados para una institución educativa. De la experiencia han participado seis desarrolladores como voluntarios de cada equipo y veinte voluntarios representando a usuarios finales de cada sistema a evaluarse. En el proceso de validación se han utilizado las siguientes métricas: tiempo de ejecución de tareas para medir eficiencia, error y tasa de finalización para medir efectividad y escala de usabilidad de sistema (SUS) [48] para medir
la satisfacción del usuario. De acuerdo con este esquema, los resultados se presentaron en función a la evaluación de calidad en uso y satisfacción de usuario, sin hacer referencia a la calidad del proceso ágil sino evaluando productos obtenidos en 3 etapas (Diseño de Interacción, Verificación de Implementación sobre el producto, Testing con usuarios) que caracterizan, según AGILUS, a ciclos de desarrollo de software bajo SCRUM.
Otro de los artículos que se destaca respecto a la contribución que ofrece, es la propuesta de Perkusich et al [49], en la cual se presenta una red bayesiana para ayudar en la evaluación de
la calidad del proceso de software en el contexto de los proyectos Scrum. Las inferencias obtenidas por cada versión de la red bayesiana fueron validadas aplicándose sobre 10 escenarios simulados, diseñados con ayuda de Scrum Masters que participaron en la construcción de cada uno ofreciendo datos respecto a lotes de datos de entrada y resultados esperados. Si bien en el artículo se exponen los resultados obtenidos sobre 1 escenario, el diseño del estudio de caso contempla la configuración de acuerdo con el contexto que se debe evaluar, por ejemplo: Product Owner no especializado con Desarrolladores capacitados, o viceversa o incluyendo requerimientos incompletos, etc. De esta forma, y destacando la posibilidad de adaptar la red bayesiana de acuerdo con el contexto, el principal inconveniente de la propuesta radica en que la interpretación de las inferencias que resultan de la implementación del proceso es subjetiva y depende del punto de vista de quién realice la evaluación.
Página 47
2.2- Conclusiones
A continuación, y luego de haberse llevado adelante la revisión sistemática con posterior análisis cuali-cuantitativo, se exponen conclusiones respecto al estado del arte.
Luego de la revisión sistemática se comprueba que, aunque investigaciones recientes han demostrado interés sobre la evaluación de calidad de proyectos de software desarrollados bajo enfoque ágil, muy pocos estudios han investigado cuál es el impacto de aspectos de calidad sobre procesos ágiles en equipos, áreas o empresas de desarrollo de software. Hasta el momento, y respondiendo a la pregunta “¿Existen evidencias de iniciativas relacionadas
al proceso de evaluación de calidad de procesos ágiles y su aplicación en proyectos de software que se hayan llevado a cabo?” que ha guiado el proceso de revisión sistemática en
esta tesis, se han identificado propuestas que evalúan la calidad de procesos ágiles, pero solo teniendo en cuenta componentes individuales asociados. Por ejemplo, teniendo en cuenta solo el equipo de desarrollo, evaluando solo los requerimientos del proceso, considerando únicamente al cliente, etc.
Producto de esta revisión sistemática se ha podido concluir, también, que existe en la literatura disponible una diversidad de aproximaciones relacionadas a la evaluación de calidad de proyectos de software guiados por prácticas ágiles. Sin embargo, dichos estudios ofrecen enfoques solamente hacia productos o artefactos obtenidos al finalizar cada iteración del proyecto sin detenerse en aspectos asociados al proceso de desarrollo en sí mismo. Además, resulta relevante destacar que, si bien todos los estudios se enfocan en Empresas o Equipos de Desarrollo o Proyectos de Software, ninguno identifica aquellos factores que impactan positiva o negativamente sobre la calidad del proceso, ni tampoco ofrecen una visión integradora que permita definir estrategias transversales para mejorar el proceso de la evaluación de calidad que se estudia. En este sentido, se ha establecido para la tesis que aquí se presenta, trabajar sobre una propuesta que inicie con el relevamiento de necesidades en empresas o áreas dedicadas al desarrollo de software, luego considere un esquema de implementación en diversos equipos abocados a proyectos de software y finalmente ofrezca herramientas para la evaluación de calidad que se enfoque, fundamentalmente, en el proceso guiado por prácticas ágiles.
Otro aspecto para destacar se relaciona con el análisis cuantitativo obtenido a partir de la revisión sistemática presentada en este capítulo, en el cual se observa que más del 50% de los estudios desarrollan frameworks para la evaluación de calidad. Sin embargo, se ha podido concluir que estas investigaciones se ven limitadas por falta de información que permita identificar componentes de cada framework. Por ello, se ha considerado conveniente para presentar este trabajo, que AQF ofrezca una propuesta a partir de la integración de un modelo de calidad, un proceso de evaluación y un conjunto de herramientas que permitan automatizar la gestión de componentes. Esto permite obtener mayor detalle del análisis de calidad del proceso ágil que se observa, de manera tal de identificar cuáles son los factores que obstaculizan la ejecución del proyecto, y las prácticas que deberían ajustarse.
Resulta interesante destacar también que, la mayor parte de los estudios, exactamente un 46%, han presentado la validación de su propuesta a través del estudio de casos, sin embargo,
Página 48
en cada artículo solo se contemplan resultados iniciales sin hacer referencia a la experiencia luego de una implementación de mejoras o ajustes respecto a la primera vez. De hecho, es importante destacar que la mayoría de los estudios seleccionados parecen no haber tenido continuidad en el tiempo por parte de sus autores, o fueron absorbidos por otras líneas de investigación.
En función a lo antes expuesto, una de las principales fortalezas de la propuesta de AQF radica en la validación de cada uno de sus componentes a través del estudio de diversos casos, obteniendo una visión integral de forma incremental hasta obtener una plataforma estable que permita mejorar la calidad de los procesos de empresas PYMES cuando optan por prácticas ágiles de desarrollo de software. Resulta necesario destacar que esta tesis busca trabajar en base al análisis de los procesos ágiles en entornos reales, a través de métodos de obtención de datos de personas, equipos y organizaciones in situ de forma tal de minimizar errores en la exposición de la información, basándose así en la premisa definida por Benbasat et al. al hacer referencia a la importancia de los casos de estudio en investigaciones [50].
Página 49