Journal Information
Title: Enfoque UTE
Abbreviated Title: Enfoque UTE
ISSN (print): 1390-9363
ISSN (electronic): 1390-6542
Publisher: Universidad UTE (Quito, Ecuador)
El desarrollo de productos de software ha impactado de forma significativa a la sociedad, y ha marcado en los últimos años pautas en el perfeccionamiento de las organizaciones empresariales. El proyecto de software es un caso particular de proyecto, donde existe una gran incertidumbre sobre las variables involucradas: costo, riesgos, así como el esfuerzo y tiempo que implica su desarrollo. Dentro de la disciplina Gestión de Proyectos, la estimación es un punto clave para lograr una adecuada planificación, lo que constituye un reto ya sea con modelos dependientes del juicio del experto, modelos empíricos o con el uso de técnicas de inteligencia artificial (Dapozo et al., 2015), (Almache et al., 2015).
Un aspecto que incide directamente en la estimación de tiempo, esfuerzo y costo de un producto software es su complejidad. Resultados interesantes encontrados en (Peña, 2012) demuestran que los proyectos no son totalmente exitosos debido a que sobrepasan el tiempo y el costo planificados, no satisfacen los requisitos y existe una inadecuada estimación. Con un método de estimación basado en criterio de expertos, se estima el nivel de complejidad haciendo uso de los conocimientos o experiencia adquiridos en el desarrollo de proyectos similares. Por otra parte, con un método de estimación basado en métricas, se pueden definir métricas de complejidad teniendo en cuenta el volumen, el tamaño, las anidaciones, el costo (estimado), la agregación, la configuración y el flujo de control. En (Negro y Giandini, 2008) se reportan que las métricas más utilizadas son las métricas de tamaño. En (Constanzo et al., 2014), (Callejas-Cuervo et al., 2017) y (Meidan et al., 2018) también se consideran aspectos relacionados con los modelos de calidad, métricas y medidas del proceso de software.
A pesar que estas métricas son empleadas comúnmente, tienen la dificultad de que para calcularlas se necesitan elementos que están disponibles sólo en etapas avanzadas del desarrollo del software, lo que no permite contar con una estimación del tamaño del software a desarrollar en etapas bien tempranas de su ciclo de vida. Esto trae como consecuencia que, si el proyecto no es viable, haya pérdidas de recursos, esfuerzos y costos para las organizaciones involucradas en el proceso. De aquí se puede derivar una primera interrogante: ¿Cuál es la etapa más temprana para predecir la complejidad del producto software a desarrollar?
Según se plantea en (O'Farrill Fernández, 2012), la etapa más temprana en la concepción de un producto de software es la identificación y el estudio de los procesos de negocio de la organización a la que servirá de apoyo el sistema informático. Desde el punto de vista empresarial los procesos de negocio son definidos como el “conjunto de dos o más procedimientos o actividades enlazadas que realizan de forma colectiva un objetivo del negocio o meta política, normalmente dentro del contexto de una estructura organizacional en donde se definen roles funcionales y relaciones” (WfMC, 1999). Son representados de forma gráfica mediante un diagrama o modelo y sistematizados en herramientas automatizadas que incluyen varios estándares, entre ellos, la notación BPMN (Business Process Modeling Notation) (OMG, 2011). En trabajos como (Montes de Oca et al., 2014) y (Galvis y González, 2014), se destacan elementos importantes que reflejan la utilidad de la definición y evaluación de la calidad de los modelos y su utilización en una organización. También en (Sandoval et al., 2017) se pone énfasis en el desarrollo de arquitecturas empresariales con un enfoque ágil, que impacte menos en los procesos y disminuya el tiempo de desarrollo y los costos.
En los últimos años diversos factores como la globalización o el incremento de la competencia, han forzado a las organizaciones a mejorar y a centrarse en sus procesos de negocio (Rolón Aguilar, 2009). Teniendo en cuenta el auge que ha cobrado el seguimiento, control y mejora continua de los procesos de negocio en el contexto empresarial, se presenta la segunda interrogante: ¿Cómo evaluar la complejidad de los modelos de procesos de negocio?
A partir de los estudios realizados en (Rolón Aguilar, 2009) y (Rolón et al., 2008) se dan a conocer un conjunto de métricas para evaluar los procesos de negocio desde el punto de vista de su complejidad estructural. Años más tarde (O'Farrill Fernández, 2012) propone un procedimiento basado en métricas, que evalúa la complejidad de informatizar los procesos de negocio, algunas coincidentes con las planteadas en (Rolón Aguilar, 2009). En dicho procedimiento se realiza la evaluación de la complejidad de un modelo de proceso de negocio de acuerdo a tres criterios: Complejidad Alta, Complejidad Media y Complejidad Baja. En (Bandomo Toledo, 2014), a partir de la investigación de (O'Farrill Fernández, 2012), se realizó una predicción de la complejidad, utilizando técnicas de inteligencia artificial. Esta predicción aportaba información similar en cuanto a la clasificación de la complejidad.
Los criterios expresados anteriormente son útiles, pero carecen de exactitud. En el caso de que un proceso posea una complejidad Alta, no es posible determinar cuánto va a tardar la automatización del mismo; lo mismo ocurre si se clasifica su complejidad en Media o Baja. Teniendo en cuenta la actualidad del tema y las constantes búsquedas para obtener una estimación del esfuerzo empleado en el desarrollo de productos de software, el presente trabajo se centra en el análisis de modelos de procesos de negocio y las métricas asociadas a los elementos centrales de su representación, para determinar el esfuerzo de la automatización en horas/hombre. De acuerdo a lo planteado se identifica la interrogante siguiente: ¿Cómo calcular el esfuerzo que demanda la automatización de un proceso de negocio a partir de su representación gráfica?
La definición de las métricas asociadas a los procesos de negocio que influyen en la propuesta el modelo de estimación del esfuerzo, parte de considerar la analogía que existe entre la métrica de software LOC y algunas métricas de procesos de negocio establecidas en (O'Farrill Fernández, 2012) y presentadas en la Tabla 1.
Esta analogía se establece a partir del conteo de los elementos esenciales de un modelo de procesos de negocio representado con la notación BPMN que se resume en la Figura 1.
Fuente: BizAgi, herramienta para el modelado de procesos de negocio, https://www.bizagi.com/es
La investigación se dividió en dos etapas: determinación de las métricas asociadas a modelos de procesos de negocio y estandarización del cálculo de las métricas a partir de la interpretación de diferentes formatos presentes en las herramientas de modelado.
Decidir qué debe ser medido para conectar los resultados deseados tiene algo de ciencia y algo de arte, ya que como regla general hay múltiples maneras de poner un número sobre un fenómeno que ha sido escogido como que tiene valor para ser medido (Méndez Mayor, 2013). Una métrica debe poseer precisión, exactitud y robustez. En este caso, la definición de las métricas se basa en los elementos de la notación BPMN (Business Process Modeling Notation) (OMG, 2011). El objetivo que se pretende conseguir con la definición de las métricas es el de encontrar elementos útiles que influyan directamente en el cálculo del esfuerzo que demanda la automatización de procesos de negocio.
Debido a que las métricas a presentar operarán sobre elementos del modelo o diagrama de procesos de negocio, constituye un elemento importante, evaluar cómo influye la complejidad estructural (Rolón Aguilar, 2009) y la complejidad de informatización (O'Farrill Fernández, 2012) y (Bandomo Toledo, 2014) de los modelos de procesos de negocio expresados con BPMN, en el cálculo del esfuerzo. La propuesta estará basada en la idea de que un modelo con alto grado de complejidad requerirá mayor esfuerzo de desarrollo. Con esta filosofía, se estaría proporcionando al desarrollo de software un cálculo estimado del esfuerzo en una etapa temprana: estudio e identificación de los procesos de negocio a automatizar.
En el primer grupo estarán aquellas métricas que respondan al conteo directo de elementos del modelo y en el segundo grupo, aquellas que no tienen correspondencia directa con elementos del modelo pero que pudieran aportar indicadores de interés a la investigación. En la Tabla 2 se presentan las métricas correspondientes al primer grupo. Las métricas ubicadas en este grupo representan características estructurales o estáticas del modelo. Fueron seleccionadas con el objetivo de medir la influencia de dichas características en el esfuerzo de desarrollo de un proceso de negocio y seleccionar aquellas que verdaderamente influyen en la determinación de este.
Las métricas ubicadas en el segundo grupo (Grupo II) constituyen características de comportamiento del modelo, sobre todo de acuerdo a la complejidad que representan a partir de estudios recientes en esta temática. Fueron seleccionadas con el objetivo de medir la influencia que tiene la complejidad desde diferentes perspectivas en el esfuerzo de automatización de procesos de negocio. Las perspectivas que se tuvieron en cuenta fueron: el Nivel de Conectividad entre Actividades, NCA propuesto por (Rolón Aguilar, 2009), el Coeficiente de Complejidad, CCOM recopilado en (Kluza y Nalepa, 2012) y la Complejidad de Automatización de Procesos de Negocio, CAPN calculado en (O'Farrill Fernández, 2012) y (Bandomo Toledo, 2014). La Tabla 3 muestra las métricas correspondientes a este grupo.
CAPN: mide la complejidad de automatización de un proceso de negocio propuesta en (Bandomo Toledo 2014) tomando como base la definición de métricas que influyen en la automatización de procesos de negocio presentada por (O'Farrill Fernández, 2012). De esta manera, el algoritmo para el cálculo de la métrica CAPN queda definido como se muestra en la Figura 2.
El conjunto de métricas presentadas ha sido definido en un lenguaje natural. Sin embargo, esta definición puede causar una interpretación equivocada produciendo efectos indeseables tales como:
• Las métricas no pueden ser repetibles. Esto significa que dos personas distintas, aplicando la misma métrica a un mismo artefacto de software, pueden obtener dos resultados diferentes (ISO 2001).
• Que los resultados experimentales usando la métrica pueden ser mal interpretados debido al hecho de que tal vez no sea claro lo que realmente mide. Esto a su vez, dificulta la réplica experimental (Baroni, 2002).
• Que las herramientas utilizadas para la extracción de los valores de las métricas pueden obtener diferentes resultados (Baroni, 2002).
Para evitar estas dificultades se definió una herramienta automatizada (IEEMPN) para la interpretación de archivos correspondientes a modelos de negocio del tipo .xpdl y .bpmn y la estimación del esfuerzo (Esquivel Ariz et al., 2014), (Maure et al., 2015). La misma permite importar diagramas de procesos de negocio con formatos .xpdl y .bpmn, procedentes de herramientas de modelado utilizadas internacionalmente como BizAgi, BonitaSoft y VisualParadigm. La interpretación de los diferentes formatos hace posible la extracción de los valores correspondientes a cada uno de los elementos BPMN presentados en la Figura 1 y del cálculo de cada una de las métricas propuestas en las Tablas 2y 3. De esta manera no es significativo quién o sobre qué modelo se obtienen las métricas propuestas, debido a que se medirán de la misma forma, asegurando un resultado homogéneo y confiable.
La Figura 3 muestra la sentencia computacional para el cálculo de las métricas del formato .xpdl. De forma análoga se obtiene la expresión de las métricas a partir de los archivos con formato .bpmn.
Para la determinación del modelo, el punto de partida fue la recolección de datos, en este caso, modelos de proceso de negocio. Los datos fueron coleccionados como resultado de trabajos de graduación de estudiantes de la carrera de Ingeniería Informática de la Universidad Central “Marta Abreu” de Las Villas, realizados en empresas de la provincia de Villa Clara y bajo la supervisión de especialistas en el negocio. En total se almacenó la información de 84 modelos de procesos de negocio. La Figura 4 muestra un fragmento de esta información y los cálculos de las métricas propuestas, utilizando la herramienta IEEMPN. La información posteriormente fue exportada a un documento Excel que constituyó la entrada al procesamiento estadístico.
Para el análisis inicial de los datos se utilizó el coeficiente de correlación de Pearson como medida de la asociación lineal entre dos variables. Las correlaciones obtenidas por la aplicación de esta técnica destacaron, como métricas que mayor influencia tienen en el esfuerzo las siguientes: NTEF, NTE, NTT, NTA, NFSA y NTFS. Este resultado hace referencia a los elementos de la notación BPMN del tipo Evento (NTEF y NTE), Actividades (NTT y NTA) y Flujos de secuencia (NFSA y NTFS) detallados en la Tabla 2.
Como el análisis anterior no es concluyente, para la obtención del modelo predictivo del esfuerzo se utilizó un test de regresión lineal múltiple. Aquí se relaciona el Esfuerzo, como variable dependiente, con las variables independientes definidas como métricas.
Se obtuvieron como variables incluidas en el modelo de predicción las que se muestran en la Tabla 4. Se destacan en este caso los elementos Actividades (NTA), Flujos de Secuencia (NFSN), Eventos (NTEF) y Nodos (NTCO). Aunque no existe una coincidencia total con los resultados del coeficiente de correlación de Pearson, es interesante la coincidencia que existe con NTA (Número Total de Actividades) lo cual presupone su significación indudable.
También aparece incluida la métrica NTCO (Número Total de Nodos decisión/unión), otro elemento a tener en cuenta en el modelo predictivo, ya que brinda información con respecto a la complejidad presentada en (Kluza y Nalepa, 2012).
El coeficiente de determinación R2=0.995 y R2 corregido = 0.995 que aparecen en el resumen del modelo (Tabla 5), se acercan suficientemente a uno como para determinar la validez de un modelo que explica el 99.5 % de los casos representados.
Finalmente, la expresión obtenida para inferir el esfuerzo de automatización de procesos de negocio se forma a partir de la Tabla 6, que representa los coeficientes de la ecuación.
Donde:
Esfuerzo = 2,027 + 1,572 * NTA + 0,802 * NFSN - 0,509 * NTEF - 0,948 * NTCO
A fin de corroborar la calidad del modelo, se realizaron tres experimentos para mostrar la influencia real de las métricas seleccionadas en el modelo predictivo, con la variable dependiente esfuerzo.
Experimento 1: Eliminación de la métrica NTA de la regresión. Se obtuvo un modelo válido (Tabla 7), destacando como variables significativas las métricas NFSN, NTEF y NTCO, coincidentes con el modelo actual.
En ausencia de NTA, quedaron incluidas las métricas NTT y NTS. Esto comprueba que el número de actividades influye significativamente en la estimación del esfuerzo (de la Tabla 2, NTA = NTT + NTS).
Experimento 2: División del conjunto de datos de análisis en dos subconjuntos de cuarenta modelos cada uno (1 al 40 y 41 al 80). La Tabla 8 muestra las métricas que influyen directamente en la determinación del esfuerzo.
Experimento 3: Selección de casos aleatorios (25%, 50%, 75% y 100% de los casos) cuyos resultados aparecen en la Tabla 9.
En los experimentos desarrollados las métricas que representan las Actividades (NTT, NTA) y los Nodos (NTCO), coinciden con el modelo predictivo obtenido. Igual ocurre con las métricas relacionadas con el flujo de secuencia (NTFS, NFSN). Esto permite afirmar que son realmente significativas para el cálculo del esfuerzo.
Adicionalmente se analizaron las posibles dependencias de otras métricas con el esfuerzo. En cuanto a CCOM, si bien es cierto que dos de sus componentes (NTA y NTCO) influyen directamente en el esfuerzo, dada su expresión de cálculo (CCOM = NTFS / (NTA+NTCO)) no se puede determinar una relación entre esta métrica y el esfuerzo.
Con respecto a la métrica de complejidad de automatización de procesos de negocio (CAPN), los resultados obtenidos no son concluyentes. Como se observa en la Tabla 10, el 33.1% de los casos recolectados no se ajustan a ninguna de las tres clasificaciones propuestas (alta, Media, Baja), lo que transmite un nivel de incertidumbre elevado, por lo que se concluye que no existen elementos que verifiquen la relación entre la métrica CAPN y el esfuerzo.
El modelo predictivo desarrollado fue adicionado a la herramienta mencionada en el epígrafe 2.2. De esta forma, la herramienta es capaz de estimar, a partir de la representación gráfica de un modelo de procesos de negocio, el esfuerzo que demanda la automatización del mismo en horas/hombre. Una vista general de la herramienta es mostrada en la Figura 5.
Se proponen dos grupos de métricas relacionadas con los elementos esenciales de los modelos de procesos de negocio (de acuerdo a sus características estructurales y de comportamiento) que conducen a la formación de la base de casos de modelos de procesos de negocio, a partir de la cual se realizó el procesamiento estadístico para la obtención del modelo de estimación del esfuerzo.
Con el desarrollo de la herramienta IEEMPN para la interpretación y estimación del esfuerzo que demanda la automatización de los procesos de negocio, es posible la medición homogénea y confiable de las métricas propuestas, a partir la interpretación de formatos .xpdl y .bpmn proporcionados por diferentes herramientas de modelado.
El procesamiento estadístico de los datos obtenidos a partir de los modelos de procesos de negocio, hizo posible la obtención de un modelo de predicción del esfuerzo, así como el subconjunto de métricas más influyentes en el cálculo de dicho esfuerzo y su posterior incorporación a la herramienta.
Estudios posteriores se centrarán en la ampliación del conjunto de modelos a procesar y la obtención de un nuevo modelo de predicción del esfuerzo que permita comparar los resultados con los obtenidos en el presente estudio. Además, explorar la existencia de otros formatos de salida, exportados por herramientas para modelar procesos de negocio que se consideren significativos para el mundo empresarial, incorporándolos al software desarrollado.
Almache, M., Raura, G., Ruiz, J., & Fonseca, E. (2015). Modelo de red neuronal de estimación para el esfuerzo de desarrollo en proyectos de Software (MONEPS). Revista Latinoamericana de Ingeniería de Software, 3(3)), 2314-2642, https://sistemas.unla.edu.ar/sistemas/redisla/ReLAIS/index.htm.
Bandomo Toledo, L. (2014). Procedimiento para evaluar el nivel de complejidad de los procesos de negocio a partir de su representación gráfica. Trabajo de Diploma., https://dspace.uclv.edu.cu/handle/123456789/6669.
Baroni, A. L. (2002). Formal Definition of Object-Oriented Design Metrics. https://www.researchgate.net/publication/277289881_Formal_Definition_of_Object-Oriented_Design_Metrics.
Callejas-Cuervo, M., Alarcón-Aldana, A., & Álvarez-Carreno, A. (2017). Modelos de qualidade de software,. um estado da arte., 13(1), 236-250, 1900-3803, https://dx.doi.org/10.18041/entramado.2017v13n1.25125.
Dapozo, G. N. (2015). Métodos de estimación de esfuerzo y duración en proyectos web pequeños. Revista Eletrônica Argentina-Brasil de Tecnologias da Informação e da Comunicação, 1(2), 015, 2446-7634, https://revistas.setrem.com.br/index.php/reabtic/article/view/50, https://dx.doi.org/10.5281/zenodo.59447.
Esquivel Ariz, M., Granados Hondares, Y., & Ferreira Lorenzo, G. (2014). INTERVAR Sistema para la interpretación de archivos XPDL correspondientes a procesos de negocio modelados con notación gráfica BPMN. Trabajo de Diploma, https://dspace.uclv.edu.cu:8089/handle/123456789/7325.
Galvis, E., & González, M. (2014). Herramientas para la gestión de procesos de negocio y su relación con el ciclo de vida de los procesos de negocio: una revisión de literatura. Revista Ciencia e Ingeniería Neogranadina,, 24(2), 0124-8170, https://revistas.unimilitar.edu.co/index.php/rcin.
Méndez Mayor, L. (2013). Métricas de procesos de negocio, Maracaibo. www.monografías.com.
Negro, P., & Giandini, R. (2008). Umbrales para Métricas Orientadas a Objetos. https://www.researchgate.net/publication/228880050.
O'Farrill Fernández, L., 2012, Procedimiento para evaluar el nivel de complejidad de la informatización de los procesos de negocio a partir de su representación gráfica, (Tesis de Maestría)., https://dspace.uclv.edu.cu/handle/123456789/6669.
Peña, H., 2012, ¿Por qué los proyectos no son totalmente exitosos?, Primer Congreso Internacional de Gerencia de Proyectos., https://www.researchgate.net/profile/Hernando_Pena2/publication/280560921_Por_que_los_proyectos_no_son_exitosos/links/55b9832008aed621de086b48.
Rolón Aguilar, E., 2009, Medidas para Asegurar la Calidad de los modelos de Procesos de Negocio., Tesis de doctorado, https://ruidera.uclm.es/xmlui/handle/10578/2727.
Sandoval, F., Galvez, V., & Moscoso, O. (2017). Desarrollo de Arquitectura Empresarial usando un Framework con Enfoque Ágil. Enfoque UTE, 8(1), 135-147, https://doi.org/https://doi.org/10.29019/enfoqueute.v8n1.120.
WfMC. (1999). Terminology & Glossary, Workflow Management Coalition: TC-1011. https://www.wfmc.org.