ReCIBE, Año 2 No.3, Diciembre 2013

Identificando Hallazgos de Mejora en Pymes de TI Utilizando un Modelo Ontológico para CMMI-DEV v1.3

J. Guadalupe Uribe Dévora
Centro de Investigación en Matemáticas, CIMAT A.C. Unidad Zacatecas, México
guadalupe.uribe@cimat.mx


Edgar Felipe Uribe Rayas
Centro de Investigación en Matemáticas, CIMAT A.C. Unidad Zacatecas, México
edgar.uribe@cimat.mx


Jorge Alexis Márquez del Real
Centro de Investigación en Matemáticas, CIMAT A.C. Unidad Zacatecas, México
jorge.marquez@cimat.mx


Claudia Valtierra Alvarado
Centro de Investigación en Matemáticas, CIMAT A.C. Unidad Zacatecas, México
claudia.valtierra@cimat.mx


Resumen: Uno de los principales requisitos que deben cumplir las pymes de desarrollo de software es adoptar un estándar o modelo para garantizar la calidad de sus productos. Sin embargo, este tipo de organización, carece o no tienen procesos bien definidos. En este contexto implementar un modelo o estándar de calidad para estas organizaciones enfrenta algunos obstáculos como: gran desconocimiento sobre éstos, su adopción representa una curva de aprendizaje prolongado, las certificaciones de estos modelos o estándares para las pymes y su personal representan costos muy elevados. Por lo tanto, en este artículo se presenta una herramienta ontológica basada en el Modelo CMMI-DEV v1.3. El objetivo principal es proveer a las pymes de una herramienta que contraste sus procesos actuales obtenidos a través de un método para la extracción del conocimiento tácito versus los procesos de CMMI-DEV v1.3 para detectar posibles hallazgos de mejora e implementar mejoras en sus procesos organizacionales.

Palabras clave: CMMI-DEV v1.3, Modelo Ontológico, Herramienta Ontológica, Extracción del Conocimiento.


Identifying Improvement Findings in IT SMEs Using an Ontological Model for CMMI-DEV v1.3

Abstract: One of the main requirements that software development SMEs must fulfill is to adopt a standard or model that guarantees the quality in their software products or services. However, this kind of organization lacks of well-defined processes. In this context, implementing a quality model or standard for them presents some difficulties: lack of knowledge about these, its adoptions takes a prolonged learning curve, the certification of these for SMEs and their staff have high costs. Therefore, this paper presents a tool based ontological Model CMMI-DEV v1.3. The main objective is to provide SMEs a tool that contrast their current processes obtained through a method to extract of knowledge tacit into CMMI-DEV v1.3 processes to identify improvement findings for implementing them in their organizational processes.

Keywords: CMMI-DEV. v1.3, Ontological Model, Ontological Tool, Knowledge Extraction.



1. Introducción y Motivación

Actualmente la calidad en productos y servicios de software es un factor crucial para el éxito de cualquier organización. Un alto porcentaje de empresas que generan fuentes de ingresos en la industria del desarrollo del software según la investigación de Pino, Garcá y Piattini (Espa, 2006), son las llamadas pymes. Estas organizaciones se han dado cuenta de la necesidad de implementar procesos que permitan incrementar la calidad de los productos y/o servicios de software que generan (Muñoz, Mejía, 2013). Sin embargo, un aspecto en común que comparten este tipo de organizaciones son la falta de procesos bien definidos. Lo que conlleva muchas veces que su entorno de trabajo sea caótico y muy cambiante (Muñoz, Mejía, 2013).
Una solución en este tipo de organizaciones es la adopción de un modelo o estándar de calidad, sin embargo, esto implica algunos obstáculos para estas organizaciones como: la adopción de un modelo o estándar representa una curva de aprendizaje prolongado, las certificaciones de éstos en las pymes y su personal tienen costos elevados, lo que significa una barrera difícil de cubrir, esto aunado a la resistencia al cambio, tal y como lo mencionan los estudios realizados en México, por Muñoz y Mejía (Muñoz, Mejía,2013), y en Brasil, por Santos y Montoni (Santos et al., 2007).
Por lo tanto, el objetivo principal es proveer a las organizaciones de una herramienta que de manera eficaz les permita contrastar sus procesos y actividades de desarrollo, hacia el modelo de Integración de Capacidad y Madurez para Desarrollo (CMMI-DEV v1.3) e identificar los hallazgos de mejora de los procesos detectados en la organización para implementar mejoras con respecto al modelo CMMI-DEV v1.3.
La estructura del articulo está dividida de la siguiente manera: en la sección 2 se describe el desarrollo de la ontología de CMMI-DEV v1.3; la sección 3 se describe la herramienta basada en el modelo ontológico de CMMI-DEV v1.3; la sección 4 aborda la extracción del conocimiento tácito de la organización, la sección 5 está dedicada a la aplicación de la herramienta ontológica, en la sección 6 se presenta el caso de estudio, la sección 7 define las conclusiones y el trabajo futuro a realizar.

2. Ontología de CMMI-DEV v1.3

En esta sección antes de presentar la herramienta ontológica, se muestra la construcción de la ontología para el modelo CMMI-DEV v1.3. Este modelo permite evaluar la madurez de los procesos de software dentro de las organizaciones (Report, 2003) e integra una estructura compleja que requiere de un estudio minucioso (Halit Soydan, 2012). Para comprender el desarrollo del modelo ontológico, esta sección se divide en tres fases principales: el análisis de literatura y estudios previos, la propuesta de la herramienta, y el resultado obtenido del modelo ontológico.

2.1 Estudios previos

La primera fase del desarrollo del modelo ontológico, es analizar varias investigaciones acerca del desarrollo de una ontología que sobre el modelo han sido realizadas (Halit Soydan, 2012; Noy & Mcguinness, 2005; Soydan & Kokar, n.d.).La principal diferencia que se establece en esta investigación es que los estudios previos detectados para la construcción de la ontología para el modelo CMMI-DEV v1.3 están enfocados en la industria y organizaciones de desarrollo en general, mientras que este estudio se enfoca de manera especial en las empresas catalogadas como pymes. Otra diferencia importante, es que la aplicación de esta ontología utiliza los procesos establecidos con el método de extracción de conocimiento tácito de la organización (Muñoz, Mejía, 2013).

2.2 Propuesta de herramienta basada en el modelo ontológico de CMMI-DEV V1.3

Como lo menciona Soydan (Halit Soydan, 2012) una de los principales problemas al desarrollar un modelo ontológico de CMMI-DEV v1.3 es que se debe tomar en cuenta que existen varias maneras para que una empresa alcance un nivel de calidad, por lo que no se puede manejar una inferencia de nivel fija, en cambio deben de tomarse en cuenta las posibles variantes que pueden ocurrir al introducir la información. Una vez establecido y analizado la estructura, y componentes desde la bibliografía oficial de CMMI-DEV V1.3, se estableció el modelo ontológico viable y los principales elementos y sus relaciones mediante una estructura taxonómica que se muestra en la Figura1.

Fig. 1. Modelo taxonómico de la ontología de CMMI-DEV v1.3.

Figura 1.Modelo taxonómico de la ontología de CMMI-DEV v1.3

2.3 Modelo ontológico de CMMI-DEV V1.3

Establecido el modelo taxonómico, en la tercera fase se realizó un modelo ontológico utilizando la herramienta Protégé (Halit Soydan, 2012) y en base al API del lenguaje ontológico OWL (Halit Soydan, 2012) con este propósito en base al conocimiento del análisis de investigaciones previas en la materia acerca de este tópico(Halit Soydan, 2012) se desarrolló una ontología base que incluye las clases, relaciones, restricciones que conforman el modelo CMMI-DEV v.1.3. Las clases del modelo ontológico resultado, se muestra a continuación en la Figura 2:

Fig. 2. Clases de la ontología de CMMI-Dev V1.3 generadas en  Protégé.

Figura 2.Clases de la ontología de CMMI-Dev V1.3 generadas en Protégé.

3. Construcción de la aplicación ontológica

Al definirse la taxonomía, relaciones y principales elementos de acuerdo a la estructura del modelo ontológico para CMMI-DEV v1.3, la siguiente actividad fue desarrollar una herramienta basada en la ontología. Para el desarrollo de la ontología se utilizó el lenguaje OWL(Onthological Web Language)(Noy & Mcguinness, 2005), para la interfaz se utilizó el lenguaje java. La herramienta permite introducir la información detectada después de la aplicación del método de extracción del conocimiento tácito (Muñoz, Mejía, 2013). Como resultado la herramienta permite observar con que elementos del modelo se cumple, cuales son los que faltan en el proceso según el modelo de calidad de CMMI-DEV v1.3, habilitando al usuario observar posibles mejoras en los procesos de las organizaciones. La Figura 3 muestra la ventana principal de la herramienta ontológica.

Fig. 3. Herramienta de software creada en base a la ontología de CMMI-DEV v1.3.

Figura 3.Herramienta de software creada en base a la ontología de CMMI-DEV v1.3

Entre otras características, la herramienta permite cargar ontologías ya realizadas y permite el análisis de las relaciones entre los distintos elementos.

4. Método para la Extracción del Conocimiento Tácito

Antes de utilizar la herramienta en base al modelo ontológico de CMMI-DEV v1.3 descrita en la sección anterior, se requiere tener la información de los procesos que se realizan en una organización.
En esta sección, se presenta el método utilizado para la extracción del conocimiento tácito (Muñoz, Mejía,2013). El método permite obtener el conocimiento acerca del entorno de la organización y los procesos que se realizan aún y cuando no exista un registro formal de las actividades que se llevan a cabo para el desarrollo de software. Dentro de las principales actividades que marca el método utilizado son: Identificación de prácticas internas, Análisis de la información, Diccionario de términos y, Trazabilidad de actividades y procesos. A continuación se describe cada una de estas actividades.

4.1 Identificación de prácticas internas:

Para desarrollar esta actividad se aplica un cuestionario basado en el modelo CMMI-DEV v1.3, respecto al cual se contrasta la información obtenida. El cuestionario es aplicado a los 3 mandos implicados en la estructura organizacional en una pyme, estos son: el mando gerencial, de dirección de proyectos de desarrollo y el operacional que es el equipo de trabajo.
Para la aplicación del cuestionario se concretan entrevistas con los involucrados de los diferentes niveles de la organización y se graba el audio que se obtiene de éstas para su posterior análisis.
El cuestionario se divide en 9 bloques que contienen una serie de preguntas, cada bloque abarca varios de los procesos de CMMI-Dev v1.3, los bloques que conforman la entrevista son: Planificación de Proyecto, Seguimiento de Proyecto, Identificación de Riesgos, Requisitos de Proyecto, Satisfacción de los clientes, Gestión de Proveedores, Formación del Equipo de Desarrollo, Control de Calidad y Gestión de la Configuración.

4.2 Análisis de la información:

Después de la aplicación del cuestionario a los distintos mandos e involucrados en la organización, se analizan las repuestas de cada uno de los entrevistados que se almacenaron en audio, en cada caso, se organiza la información de cada bloque describiendo las actividades detectadas de acuerdo al bloque del cuestionario que hace referencia a una área de proceso. Con la información reunida se realiza un diagrama que permite la visualización de cada proceso descrito y detectado.

4.3 Diccionario de términos:

Cuando no existe un proceso formal dentro de la organización y lo criterios no se encuentran estandarizados, cada entrevistado maneja su propia terminología, por lo tanto es necesario por cada actor establecer un diccionario de términos que incluye toda el lenguaje que el entrevistado maneja y que servirá para aclarar posibles sesgos al momento de definir los procesos.

4.4 Trazabilidad de las actividades y procesos:

En esta actividad se conjunta cada proceso descrito por cada actor con sus similares, se contrastan las respuestas, elementos del proceso y diagramas para obtener un proceso general, así se establecen las actividades en común que según cada entrevistado se realizan, se logra entonces la consolidación del conocimiento tácito que a cada nivel se tiene dentro de la organización. Con los criterios trazados correctamente, la siguiente actividad consiste en hacer una descripción de los elementos comunes y crear un diagrama del proceso obtenido, basado en las actividades coincidentes, lo que permite la visualización del conocimiento tácito acerca de las tareas que se realizan dentro de la organización. (Véase Fig. 4).

4.4 Mapeo del proceso hacia CMMI-DEV v1.3:

El proceso general y los elementos detectados se mapean hacía un lista de revisión de los elementos que conforman un proceso según CMMI-DEV v1.3, así el proceso obtenido se formaliza y los elementos están listos para ingresarse en la ontología.

5. Aplicación de la herramienta basada en la ontología de CMMI-DEV v1.3 a los procesos de la organización

Cuando se han establecido la situación actual de los procesos y se han identificado las actividades y elementos que conforman dichos procesos mediante el análisis de la extracción del conocimiento tácito de la organización, toda la información se introduce en la herramienta para evaluar la madurez de los procesos respecto a los procesos del modelo CMMI-DEV V1.3.
Con la información de los procesos de la organización introducida mediante la interfaz de la herramienta, automáticamente los razonadores implementados comienzan a realizar inferencias, y finalmente muestran en pantalla los procesos que se cumplen, las actividades faltantes y el nivel de madurez en el que se que se encuentra la organización respecto a CMMI-DEV v1.3. Con estos resultados se identifican posibles hallazgos de mejora para implementar en la organización.

6. Caso de estudio

Para poner en práctica la herramienta ontológica propuesta en este documento, se llevó a cabo un caso de estudio en el Centro de Desarrollo de Software de la Universidad Politécnica de Zacatecas (CDS-UPZ).
Tras obtener toda la información de los procesos mediante el método que se describió de manera general en la sección 4, para la extracción del conocimiento tácito (Véase Figura 2), se ejecutó la herramienta ontológica y se cargó la información obtenida, así se corrieron los razonadores y de acuerdo a los procesos que se llevan a cabo la herramienta arrojó el resultado de que la organización aún se encuentra en el nivel 1 o inicial de CMMI-DEV v1.3. Asimismo se detectó con que elementos y actividades no se está cumpliendo, esto permite saber que, aún y cuando se encuentra en el nivel de partida, la organización puede mejorar sus procesos para ir escalando en la calidad que es requerida en el mercado actual.

Fig. 4. Ejemplo de proceso general obtenido de las actividades del método para la extracción del conocimiento.

Figura 4.Ejemplo de proceso general obtenido de las actividades del método para la extracción del conocimiento.

Estos hallazgos de mejora son el resultado de evaluar los procesos obtenidos a través del método para la extracción del conocimiento en la herramienta ontológica. La carencia de actividades en las actividades referente al proceso de planificación, formación y a la mayoría de los procesos en los cuales se compararon los procesos, se detectaron. En resumen los siguientes hallazgos de mejora son:

  • No se cuenta con procesos bien establecidos.
  • En las planeaciones se sobrestiman las duraciones de los proyectos.
  • No se cuentan con roles específicos.
  • No existe un plan de formación para los integrantes del equipo de desarrollo.
  • No se cuenta con una metodología formal de desarrollo de software.
Fig. 5. Herramienta de software creada en base a la ontología de CMMI-Dev V1.3

Figura 5.Herramienta de software creada en base a la ontología de CMMI-Dev V1.3

La Fig. 5 muestra como después de introducir las actividades y elementos del proceso general obtenido en el la extracción del conocimiento tácito de la organización, la herramienta mediante los razonadores calcula el porcentaje respecto a las áreas de procesos establecidas en la ontología de CMMI-DEV V1.3 que se realizan en la organización y muestra las actividades faltantes para cumplir con el modelo y el nivel del proceso de acuerdo a CMMI-DEV V1.3., esto se realiza por cada área de proceso y al final se establece una evaluación general de todo el proceso de la organización.

7. Conclusiones y Trabajo Futuro

Mediante la ejecución del método para extraer el conocimiento tácito y con la ayuda de la herramienta ontología basada en el modelo CMMI-DEV v1.3 se logra detectar hallazgos de mejora en las organizaciones como son las pymes. Esta herramienta ontológica se plantea como un soporte de bajo costo para las organizaciones, pues uno de los problemas que enfrentan estos organismos es la falta de presupuestos para identificar hallazgos de mejora con respecto a un modelo o estándar de calidad, por lo que la herramienta presenta una oportunidad para identificarlas. Además, en el caso de estudio al implementar la herramienta permitió detectar que la pyme evaluada estaba en un nivel 1 aún, el nivel inicial de CMMI-DEV v1.3.

Como trabajo futuro se pretende en aplicar las soluciones propuestas en el CDS-UPZ, para observar la efectividad del método completo, y evaluar su funcionamiento si los resultados son positivos, se propone el utilizar la herramienta en otras organizaciones y extender la herramienta para un entorno hacia otros modelos. También se estará desarrollando la automatización del método para la extracción del conocimiento, ya que es una parte principal para el establecimiento de los procesos los cuales se comparan en la herramienta ontológica.

Referencias

Espa, R. (2006). Española de Calidad e Ingeniería del Software.


Halit Soydan, G. (2012). A Partial Formalization of the CMMI-DEV—A Capability Maturity Model for Development. Journal of Software Engineering and Applications, 05(10), 777–788. doi:10.4236/jsea.2012.510090


Noy, N. F., & Mcguinness, D. L. (2005). Desarrollo de Ontología Para Crear Tu Primera Ontología, 1–29. Report, S. (2003). Demonstrating the Impact and Benefits of CMMI ® : An Update and Preliminary Results, (October).


Santos, G., Montoni, M., Vasconcellos, J., Figueiredo, S., Cabral, R., Cerdeiral, C., … Rocha, A. R. (2007). Implementing Software Process Improvement Initiatives in Small and Medium-Size Enterprises in Brazil. 6th International Conference on the Quality of Information and Communications Technology (QUATIC 2007), 187–198. doi:10.1109/QUATIC.2007.22


Soydan, G. H., & Kokar, M. M. (n.d.). An OWL Ontology for Representing the CMMI-SW Model.


Muñoz Mirna, Mejía Jezreel, “Establishing Multi-model Environments to Improve Organizational Software Processes” Results of the 2013 World Conference on Information Systems and Technologies (WorldCIST'13) held at Algarve, Portugal, March 27-30, 2013.



Notas biográficas:

J. Guadalupe Uribe Dévora J. Guadalupe Uribe Dévora es Ingeniero en Sistemas Computacionales, egresado de la Universidad Politécnica de Zacatecas (UPZ), actualmente estudia la Maestría en Ingeniería del Software en el Centro de Investigación en Mátemáticas (CIMAT) Unidad Zacatecas. Su interés es el desarrollo de software basado en procesos, la arquitectura de software y los modelos de calidad, ha desarrollado varios sistemas de software y sitios web mediante el dominio de varios lenguajes de programación.


Edgar Felipe Uribe Rayas Edgar Felipe Uribe Rayas es Ingeniero en Sistemas Computacionales, egresado de la Universidad Politécnica de Zacatecas (UPZ), actualmente estudia la Maestría en Ingeniería del Software en el Centro de Investigación en Mátemáticas (CIMAT) Unidad Zacatecas. Su interés es el desarrollo de software basado en procesos, modelos de calidad, la seguridad informática y la arquitectura de software, ha desarrollado varios sistemas de software y sitios web mediante el uso de varios lenguajes de programación.


Jorge Alexis Márquez del RealJorge Alexis Márquez del Real es Ingeniero en Sistemas Computacionales, egresado de la Universidad Politécnica de Zacatecas (UPZ), actualmente estudia la Maestría en Ingeniería del Software en el Centro de Investigación en Mátemáticas (CIMAT) Unidad Zacatecas. Su interés es la y arquitectura de software, la aplicación de modelos matemáticos a los procesos de software, ha desarrollado varios sistemas de software y sitios web mediante el dominio de varios lenguajes de programación.


Claudia Valtierra AlvaradoClaudia Valtierra Alvarado es una Ingeniero en Sistemas Computacionales, egresada de la Universidad Politécnica de Zacatecas (UPZ), actualmente estudia la Maestría en Ingeniería del Software en el Centro de Investigación en Matemáticas (CIMAT) Unidad Zacatecas. Su interés son los procesos de software, el estudio de la caracterización de organizaciones de desarrollo y el diseño web, ha desarrollado varios sistemas de software y sitios web mediante el dominio de varios lenguajes de programación.





Licencia de Creative Commons
Esta obra está bajo una licencia de Creative Commons
Reconocimiento-NoComercial-CompartirIgual 2.5 México.