Introducción
Con el desarrollo cognoscitivo alcanzado por la sociedad, se ha generalizado una tendencia hacia la organización por proyectos 1. Los proyectos en su concepción requieren implementar una correcta planeación y control para su seguimiento y evaluación, surgiendo así la gestión de proyectos como una actividad profesional.
El ritmo acelerado de los procesos actuales, el creciente número de proyectos que se conceptualizan y se desarrollan, apoyados en los vertiginosos avances de las tecnologías genera un enorme cúmulo de información valiosa que necesita ser procesada y analizada pero que resulta imposible ser examinada en su totalidad en condiciones humanas. La capacidad para manejar grandes volúmenes de datos se perfila cada vez más necesaria en una sociedad que, sin duda alguna, está basada en el conocimiento. 2),(3))
Cada proyecto de software, aporta datos históricos que permiten darle seguimiento y control a los procesos, evaluar las condiciones que provocaron el fracaso o el éxito, aprender de las experiencias anteriores, ayudar a la toma de decisiones y apoyar la mejora continua en el desarrollo. Cuando el volumen de información generada por uno o varios proyectos es muy elevado, se dificulta la identificación de la información verdaderamente importante.
Debido al constante incremento de la complejidad para manejar la información relacionada con la gestión de proyectos, se hace imprescindible introducir en el proceso herramientas de gestión que no solo administren el proyecto, sino también infraestructuras y procesos a alto nivel productivo. 4),(5) El manejo y acceso a las fuentes de información no garantizan que el conocimiento y las experiencias acumuladas sean interpretados de manera útil y real, por lo que realizar una extracción de información exhaustiva forma parte del perfeccionamiento de todos los procesos actuales.
La aplicación de instrumentos a directores de centros productivos de la Universidad de las Ciencias Informáticas (UCI) y la utilización de métodos empíricos 6 permitieron determinar las siguientes limitaciones en el proceso de toma de decisiones sobre la evaluación de proyectos:
Los volúmenes de información recogidos de los proyectos son demasiado grandes para realizar un análisis sin el apoyo de herramientas automatizadas.
Se presentan dificultades en el tratamiento de la ambigüedad e incertidumbre de los datos.
La mayor parte de los datos almacenados son valores numéricos, lo que dificulta la interpretación pronta y efectiva de estos.
No se tiene acceso a información sintetizada ante la introducción de patrones de búsqueda referentes a la evaluación de proyectos.
No se emiten propuestas concretas que apoyen la toma de decisiones y la mejora continua.
Partiendo de la problemática antes mencionada, la presente investigación tiene como objetivo desarrollar un sistema de recomendaciones sobre la evaluación de proyectos de desarrollo de software.
Método
Un aspecto de prioridad de esta investigación lo constituye la función de recomendación inteligente que pueda proporcionar información valiosa que apoye la toma de decisiones en la gestión y evaluación de proyectos. Los Sistemas de Recomendación (Recommender Systems, SR) representan un sistema típico de apoyo a la toma de decisiones, destinado a proporcionar a los usuarios un conjunto óptimo de opciones, de acuerdo con sus intereses y preferencias. 7 La presente investigación utilizó un enfoque cualitativo, con alcance descriptivo, de tipo retrospectivo y diseño no experimental.
Como escenario de aplicación se utilizó el Centro de Informática Médica de la Red de centros de la UCI.
Métodos teóricos utilizados:
El analítico-sintético para la descomposición del problema de investigación en elementos que permitan su análisis individualizado con el fin de descubrir las características generales que puedan ser aplicadas en la solución propuesta.
El método inductivo-deductivo para la identificación de la problemática, así como las posibles soluciones que esta tendrá. Permitirá además reflejar los elementos coincidentes en los algoritmos estudiados y establecer las relaciones que estos tienen entre sí.
El hipotético-deductivo para la elaboración de la hipótesis de la investigación y establecer nuevas directrices para la investigación en cuestión.
El método de análisis histórico-lógico para el análisis crítico de investigaciones asociadas al uso de Linguistic Data Summarization (LDS) para la construcción de explicaciones de las recomendaciones, con el objetivo de establecer un punto de partida y comparación con los resultados esperados.
Métodos empíricos utilizados:
El análisis documental para la revisión de la literatura especializada con el objetivo de construir un análisis bibliométrico del cual extraer la información necesaria para trazar la línea de la investigación, e identificar aquellos trabajos relevantes relacionados con el objeto de estudio.
La encuesta para obtener el diagnóstico sobre la necesidad de sintetizar la información almacenada en el repositorio de gestión de proyectos 8 , así como para conocer el nivel de satisfacción de los directivos y especialistas con la solución desarrollada mediante la aplicación de la técnica Iadov.
La entrevista a expertos para la identificación de pesos en la evaluación de proyectos, así como para la validación de los aportes fundamentales de la investigación.
Métodos estadísticos para el análisis de las encuestas aplicadas a expertos y especialistas en gestión de proyectos.
Resultados
Formalmente, puede definirse un Sistema de Recomendación (SR) como una función que asigna una lista de ítems ordenados por su utilidad con respecto al usuario u. En este epígrafe se presenta un sistema para la generación de recomendaciones basado en conocimiento, que solicita al usuario la selección de un objeto (ítem) existente en la base de datos para generar los valores de los distintos parámetros o aspectos de los objetos a localizar, estando cada parámetro valorado con una etiqueta lingüística.
Con este caso ejemplo se genera un perfil inicial que define las necesidades del usuario y que se utilizará para compararlo con los perfiles de los objetos de la base de datos para encontrar qué objeto puede apoyar mejor la toma de decisiones del usuario.
El desarrollo del SR propuesto se realiza mediante un flujo de cuatro actividades:
Actividad 1: Obtención del perfil de usuario.
Actividad 2: Cálculo de la similaridad entre el perfil del usuario y los objetos de la BD.
Actividad 3: Generación de las recomendaciones.
Actividad 4: Construcción de las explicaciones de las recomendaciones.
La figura 1 muestra el esquema general del funcionamiento del sistema propuesto.
Como muestra el esquema presentado en la figura 1, el sistema de recomendaciones sobre la evaluación de proyectos está compuesto por cuatro actividades básicas, que se ejecutan de manera secuencial. La actividad 1 comienza cuando el usuario proporciona el objeto que constituye el ejemplo inicial, este objeto ejemplo constituye la entrada de la actividad. Una vez obtenidas las preferencias del usuario, se construye el perfil de este. En la segunda actividad se procede a calcular la similaridad entre el perfil del usuario y cada uno de los objetos de la base de datos. Con el valor resultante entre cada par, se construye un vector de similaridad, al que finalmente, mediante una función de agregación, se le calcula la similaridad total.
En la actividad 3, se construye un vector de recomendaciones en el que se ordenan los objetos de la base de datos, según los valores de similaridad obtenidos previamente. Mientras más pequeño el valor, más recomendado será el objeto. Una vez ejecutada esta actividad, se recomiendan los primeros objetos del vector de recomendaciones. En la cuarta y última actividad, se construyen las explicaciones de las recomendaciones, haciendo uso de la Sumarización Lingüística de Datos. El algoritmo utilizado en esta investigación para la construcción de los resúmenes lingüísticos, fue propuesto por la autora Perez Pupo en 2020 9. Con la implementación de esta actividad se logra asociar un conjunto de explicaciones concretas, de por qué se debería revisar cada uno de los proyectos recomendados. En epígrafes posteriores, se describen en detalle, cada una de estas actividades.
Actividad 1: Obtención del perfil del usuario
En la obtención del perfil del usuario se construye un perfil en el que se almacena la información referente a lo que el usuario está buscando. El punto de partida para definir las necesidades del usuario en este tipo de sistemas se basa en la elección de un ejemplo, es decir, de un objeto que el usuario expone como un caso de sus necesidades. Para adquirir el ejemplo inicial del usuario, este debe seleccionar un objeto ejemplo de lo que necesita o de lo que le gustaría analizar. La descripción existente en la base de datos de este objeto definirá el perfil inicial del usuario.
En esta actividad se obtendrán las preferencias de un usuario 𝑢 𝑒 sobre el tipo de objeto que le interesa analizar. El sistema de recomendación tendrá como entrada una base de datos tal que con n objetos cada uno descrito según un conjunto de atributos . Donde cada objeto aj está descrito por un vector de utilidad , siendo la valoración del atributo ck del objeto aj en el conjunto de etiquetas Sk, con estas etiquetas se conoce cómo se describen los objetos en el sistema de recomendación.
Sea ae el objeto expuesto como ejemplo de las preferencias del usuario ue. Este objeto estará descrito en la base de datos mediante un vector de utilidad , donde es el valor asignado a dicho objeto para el atributo ck expresado enSk.
El ejemplo seleccionado por el usuario genera un perfil de usuario inicial denotado como , ya que se asignan directamente los valores de la base de datos a los del perfil. En este perfil los conjuntos de términos lingüísticos son los mismos que los utilizados en la base de datos.
Actividad 2: Cálculo de la similaridad entre el perfil del usuario y los objetos de la BD
En esta actividad se calcula la satisfacción de los intereses del usuario por cada objeto de la base de datos. Para poder realizar las recomendaciones a un usuario, se necesita conocer la similitud de un objeto con los intereses del usuario. Se calcula la similaridad que hay entre cada objeto de la base de datos y el perfil del usuario. Aquellos objetos que más similares sean a las necesidades del usuario, serán recomendados finalmente.
Una vez construido el perfil de usuario , el sistema debe encontrar qué objetos de son los más adecuados de acuerdo a dicho perfil. El objetivo de esta actividad es medir la similitud de los indicadores a las necesidades de usuario. El sistema debe descubrir qué objetos apoyarán mejor la toma de decisiones del usuario. Para ello se necesita calcular la similaridad entre vectores de conjuntos difusos, que representan el perfil del usuario y cada uno de los objetos de la BD. El cálculo del grado de similaridad entre el perfil del usuario y los objetos de la BD, permite identificar cómo satisface cada objeto las necesidades del usuario. Tanto el perfil de usuario como los objetos deberán describirse por vectores de conjuntos difusos, donde cada conjunto describe un atributo.
Para expresar los términos lingüísticos de los conjuntos de etiquetas en conjuntos difusos definidos en el conjunto ST, el conjunto difuso que representa un término lingüístico tendrá todos sus elementos en 0 excepto el valor correspondiente al ordinal de la etiqueta lingüística, que será 1 de modo que ST ( A.
Para calcular la similaridad entre el perfil y un objeto es necesario conocer la distancia entre las valoraciones de cada atributo. Diversos autores han propuesto funciones para el cálculo de similaridad, usando distintos enfoques, como el Promedio Ponderado Ordenado (OWA) 10),(11), (12) la Distancia Euclídea 13),(14 o los Números Neutrosóficos de Valor Único (SVN) 15. En esta investigación, para realizar el cálculo de la similaridad se implementa una función que basa el cálculo de distancias en el valor central, 𝑐𝑣 de conjuntos difusos 16.
Definición 1: Dado un conjunto difuso definido sobre , se obtiene su valor central cv a partir de la siguiente ecuación:
De este modo se representará la posición media de la información contenida en el conjunto difuso b´. El rango de este valor central es el intervalo cerrado [0, g]. Basado en los cálculos de los valores centrales se puede definir la siguiente medida de similaridad, la cual será empleada para calcular la similaridad entre cada atributo 𝑐 𝑘 del perfil de usuario Pe y de un objeto de la BD aj.
Definición 2: Sean dos conjuntos difusos definidos sobre el conjunto de etiquetas lingüísticas, y sean los valores centrales de respectivamente, entonces la similaridad entre ellos es calculada como:
Utilizando esta función, se puede calcular la similaridad entre el perfil de usuario Pe y un objeto aj. Para cada atributo ck se calcula la similaridad entre , para lo cual se obtiene el valor central del conjunto difuso , correspondiente al objeto P e y el valor central del conjunto difuso para el objeto aj.
Una vez obtenidos estos valores centrales se calcula su similaridad según la ecuación 2, quedando como muestra la ecuación 3:
Una vez realizado este paso para los l atributos, se obtiene un vector que indica la similaridad de cada atributo entre P e y aj:
Para obtener la similaridad total, dj entre el perfil de usuario Pe y un objeto aj se agregan las similaridades de mediante un operador de agregación. Tomando como principio que todos los atributos tienen la misma importancia, se utilizará la media aritmética, tal como se muestra a continuación:
Actividad 3: Generación de las recomendaciones
En esta actividad se listan los L indicadores que mejor apoyan la toma del usuario y que serán los recomendados finalmente para su análisis. Con la similaridad calculada entre el perfil de usuario y todos los objetos de la base de datos pueden ordenarse los indicadores en base a las similaridades obtenidas, que están representadas en el siguiente vector de similaridad: . Los mejores serán aquellos que mejor satisfagan las necesidades del perfil del usuario, en este caso, aquellos con la similaridad más pequeña 17.
Dado el conjunto de objetos y dado un número r de objetos a recomendar, la recomendación realizada al usuario estará dada por el siguiente vector de recomendación siendo el primer elemento el más recomendado:
donde la función q se define del siguiente modo 16:
Como puede observarse en la ecuación 2.7, el objeto 𝑎 𝑒 dado de ejemplo por el usurario, será eliminado del vector de recomendación .
Actividad 4: Construcción de las explicaciones de las recomendaciones
En esta actividad se construyen explicaciones para que el usuario comprenda por qué se le recomendó cada objeto. Las explicaciones serán resúmenes lingüísticos resultantes de un proceso de Sumarización Lingüística de Datos (DLS). Para realizar esta actividad se debe:
Paso 1: Seleccionar los atributos de interés para el usuario
La DLS se realizará sobre una base de datos definida por el usuario y que constituye una de las entradas del método de recomendaciones propuesto en esta investigación, de esta manera se cuenta con una base de datos con un conjunto preestablecido de objetos cada uno descrito según un conjunto de atributos .
Paso 2: Definir los Sumarizadores (S)
Un sumarizador S, es un atributo junto con un valor lingüístico (predicado difuso) definido en el dominio del atributo. 18
Ejemplo: Para un atributo "cumplimiento de cronogramas", un sumarizador puede ser "cumplimiento de cronogramas Bajo".
El valor que posee cada uno de los atributos ck, es un valor numérico. Para convertir las variables numéricas a variables lingüísticas, se utilizará un modelo de representación de la información lingüística basado en 3-tuplas (a,b,c) 19. Este modelo está fundamentado en el concepto de traslación simbólica y permite operar con etiquetas lingüísticas sin pérdida de información. Para establecer las preferencias debe definirse un conjunto de términos lingüísticos. El par formado por el atributo Ci y el valor lingüístico definido en la etiqueta Sk, conforma un sumarizador S, para un atributo C.
Paso 3: Definir los cuantificadores (Q)
Un cuantificador lingüístico es un conjunto difuso definido para un universo de discurso entre [0, 1] tal que:
Por lo tanto, los resúmenes lingüísticos pueden ejemplificarse según 20),(21 como muestran las ecuaciones 9 y 10:
Ejemplo: Un ejemplo de proposiciones lingüísticamente cuantificadas sería como se muestra en la figura 2. En la figura 2, a) muestra un ejemplo según la ecuación 9 y b) muestra un ejemplo según la ecuación 10:
Paso 4: Construir los resúmenes lingüísticos
Para la construcción de los resúmenes se debe seleccionar un algoritmo que permita minar los datos almacenados.
Paso 5: Asociar resúmenes lingüísticos a las recomendaciones
Para cada conjunto de recomendaciones existe un conjunto de explicaciones de modo que constituyendo un par recomendación-explicación.
El esquema mostrado en la figura 3, resume las actividades que conforman el sistema para la generación de recomendaciones sobre la evaluación de proyectos.
Discusión
Una forma de medir empíricamente el impacto de una investigación donde el resultado se utiliza para favorecer a un grupo de personas lo constituye la técnica Iadov. La valoración para medir la satisfacción del usuario final representa una vía utilizada por diferentes autores. 22), 23
La técnica tiene como principio de funcionamiento la aplicación de una encuesta estructurada que integra preguntas cerradas y abiertas 24. Las tres preguntas cerradas establecen una relación en el Cuadro Lógico de Iadov donde se indica la escala de satisfacción individual de cada encuestado. Las preguntas abiertas permiten profundizar en los elementos positivos y las recomendaciones o insuficiencias de la propuesta que se evalúa.
Para la implementación de la técnica se utilizó una población de 12 directores de centros de desarrollo de software de la Universidad de las Ciencias Informáticas, de los cuales se tomaron como muestra 6. El cuestionario valorativo fue aplicado a la muestra seleccionada después de realizar una presentación y demostración de los resultados de la investigación. El objetivo del instrumento estuvo intencionado en función de validar la satisfacción de los directores de centros de desarrollo de software como usuarios finales. Las variables evaluadas fueron las siguientes:
Satisfacción del usuario: si el colectivo de directores de centros de desarrollo de software considera que la propuesta del sistema de recomendaciones implementada, eleva la interpretatibilad de los datos en la evaluación de proyectos de desarrollo de software.
Aplicabilidad de la propuesta: si el colectivo de directores de centros de desarrollo de software considera que la concepción del sistema de recomendaciones, es aplicable en los centros de desarrollo de software de la Universidad de las Ciencias Informáticas.
Utilidad de la propuesta: si el colectivo de directores de centros de desarrollo de software considera que el sistema de recomendaciones propuesto es útil para hacer más interpretables los datos en la evaluación de proyectos de desarrollo de software.
Los valores obtenidos como resultado de las preferencias del conjunto de expertos que intervino en el proceso, son presentados en el Cuadro Lógico de Iadov tal como se muestra en la Tabla 1.
Para obtener el índice de satisfacción grupal (ISG), se trabaja con los diferentes niveles de satisfacción que expresan en la escala numérica +1 y -1 tal como se muestra en la tabla 2.
Escala de satisfacción | Índice individual | Nivel de satisfacción |
---|---|---|
Máximo de satisfacción | 1 | +1 |
Más satisfecho que insatisfecho | 2 | +0,5 |
No definido | 3 | 0 |
Más insatisfecho que satisfecho | 4 | - 0,5 |
Máxima insatisfacción | 5 | -1 |
Contradictoria | 6 | 0,0 |
Una vez aplicadas las encuestas (Anexo 2), se obtuvieron los resultados en la escala de satisfacción individual tal como se muestra en la tabla 3.
Nivel de satisfacción | Cantidad | Porcentaje |
---|---|---|
Máxima satisfacción | 5 | 83,3 |
Más satisfecho que insatisfecho | 1 | 16,6 |
No definida o contradictoria | 0 | 0,0 |
Más insatisfecho que satisfecho | 0 | 0,0 |
Máxima insatisfacción | 0 | 0,0 |
A partir de la aplicación de la técnica, se obtiene como resultado el Índice de Satisfacción Grupal (ISG) que representa un parámetro atribuido a la concordancia del grupo de expertos a los que se les aplicó el instrumento. El ISG se determina mediante la ecuación 3.1.
Donde:
A: |
número de usuarios con índice individual 1. |
B: |
número de usuarios con índice individual 2. |
C: |
número de usuarios con índice individual (3 o 6). |
D: |
número de usuarios con índice individual 4. |
E: |
número de usuarios con índice individual 5. |
N: |
número total de usuarios del grupo. |
El ISG arroja valores comprendidos entre +1 y -1 tal como se muestra en la Figura 4 24.
Los valores comprendidos entre -1 y -0,5 indican insatisfacción.
Los valores comprendidos entre -0.49 y 0.49 evidencian contradicciones por lo que se expresa como insatisfacción.
Los valores comprendidos entre 0,5 y 1 indican que existe satisfacción.
En el proceso realizado se obtuvo un ISG = 0.91 por lo que se considera que existe alta satisfacción. Con el ISG satisfactorio obtenido, se puede realizar el siguiente análisis:
El criterio de los encuestados respecto a: ¿Considera usted oportuna la propuesta del sistema de generación de recomendaciones para elevar la interpretatibilad de los datos en la evaluación de proyectos de desarrollo de software? obtuvo una máxima satisfacción de 83,3% y el 16,6% lo consideró más satisfecho que insatisfecho.
Respecto a: ¿Cuál es su criterio sobre el sistema para la generación de recomendaciones propuesto? obtuvo una máxima satisfacción de 83,3% y el 16,6% lo consideró más satisfecho que insatisfecho.
En cuanto a si ¿Utilizaría usted el sistema para la generación de recomendaciones propuesto? el 83,3% se considera con la máxima satisfacción, el 16,6% se califica más satisfecho que insatisfecho.
Además del ISG obtenido, la técnica implementada mediante las preguntas abiertas, permitió identificar las siguientes fortalezas:
El sistema de recomendaciones propuesto constituye una solución novedosa por agregar explicaciones a las recomendaciones a partir de la construcción de resúmenes de datos lingüísticos, las cuales sintetizan la información almacenada referente a la evaluación de proyectos.
El sistema de recomendaciones propuesto permite a los directores de centros de desarrollo analizar grandes volúmenes de datos para apoyar la toma de decisiones
Como valoración final sobre la implementación de la técnica Iadov se concluye que los criterios emitidos por los directores de centros de desarrollo de software y los resultados obtenidos, permitieron validar que el sistema de recomendaciones propuesto posee un alto nivel de satisfacción.
Conclusiones
El sistema de recomendación propuesto ayuda a los directores de proyectos a encontrar los indicadores a los que debe prestar especial atención por su impacto tanto positivo como negativo, ocultando aquellos indicadores que no le son útiles. Las explicaciones agregadas a las recomendaciones brindan la información necesaria para comprender por qué se recomendó determinado objeto de la base de datos. La utilización de un enfoque lingüístico borroso permite transformar los datos numéricos en sentencias lingüísticamente interpretables para el usuario.
La aplicación de la técnica Iadov, permitió obtener el grado de satisfacción del conjunto de directores de centros de desarrollo, utilizados como objeto de estudio y que representaron los usuarios a los que se les aplicó el instrumento, valorándose la propuesta con una alta satisfacción, siendo esta la máxima calificación que emite el instrumento.