Serviços Personalizados
Journal
Artigo
Indicadores
- Citado por SciELO
- Acessos
Links relacionados
- Similares em SciELO
Compartilhar
RISTI - Revista Ibérica de Sistemas e Tecnologias de Informação
versão impressa ISSN 1646-9895
RISTI no.spe1 Porto mar. 2014
https://doi.org/10.4304/risti.e1.17-30
Cómo Guiar a las Pymes en la Mejora de Procesos Software
How to Lead the Software Process Improvement in SMEs
Oscar Carrillo Razón 1, Josefina García Durán 2, Julio Alonso García González 1, Felipe Iturriaga Cortés 1, Jezreel Mejía Miranda 1
1 CIMAT, 98068, Zacatecas, México. E-mail: ocarrillo@cimat.mx, jgargon@cimat.mx, fiturriaga@cimat.mx, jmejia@cimat.mx
2 Instituto Tecnológico Superior de Nochistlán, 99900, Nochistlán Zacatecas, México. E-mail: josefina.garcia@itsn.edu.mx
RESUMEN
En la actualidad, las grandes empresas de desarrollo de software generan enormes cantidades de información, estos datos son analizados con el objetivo de mejorar los procesos y productos que generan las empresas, sin embargo, es muy común que las Pymes no efectúen la recolección de datos y tampoco tengan procesos definidos. Por lo tanto, se propone un método que guie a las Pymes en la Mejora de Procesos Software. El método integra la identificación del estado actual de la organización, para definir y establecer los objetivos de negocio y la identificación de las mejores prácticas internas de la organización, para entender su forma de trabajo a través de la extracción del conocimiento tácito. Además, se presenta un caso de estudio que ha permitido obtener resultados del método propuesto, el cual ha sido implementado en una pyme.
Palabras-clave: GQM, MIGME-RRC, Pymes, Mejora de Procesos.
ABSTRACT
Nowadays, the large companies of software development generate huge amounts of information; this information is analyzed with the aim of improving the processes and products generated by the companies. However it is very common that in the SMEs there is not recollected information and that they do not have defined processes for the company. Therefore, we propose a method that guides the SMEs in Software Process Improvement. The method integrates the identification of the organization's actual state in SMEs, to define and establish the business goals and the identification of the best organizations internal practices, to understand their way of working through the extraction of tacit knowledge.
Keywords: GQM, MIGME-RRC, SME, Process Improvement.
1. Introducción
Actualmente en las organizaciones de desarrollo de software cuentan con una gran cantidad de datos que son generados con el propósito de ser usados para analizarse y mejorar los procesos y productos (Berander & Jönsson, 2006), sin embargo, las Pymes, no cuentan con procesos definidos que puedan facilitar el uso y recolección de esta información, cuando en el mejor de los casos, se realiza la recolección de la información, esta no se puede aprovechar debido a la dificultad de análisis que presenta, no tener los procesos definidos.
En este contexto, las organizaciones de desarrollo de software tanto grandes como pequeñas se han dado cuenta de la necesidad de utilizar medidas para crear repositorios de información que puedan ser usados para entender, controlar, mejorar, evaluar y lograr cumplir con diferentes aspectos dentro del ciclo de vida de su proceso de desarrollo, como presupuesto, calidad y tiempo (Fenton & Pfleeger, 1998); El cumplimiento de estos aspectos debe influir directamente en los objetivos que busca la organización. La alineación entre las metas de la organización y las actividades que se realizan dentro de los procesos de la organización, son de gran importancia para mejorar el rendimiento y cumplimiento de los objetivos de negocio (Kaneko, Katahira, Miyamoto, & Kowalczyk, 2011).
Se propone la aplicación de un método que integra la identificación del estado actual de la organización específicamente en pymes, en conjunto con la aplicación de GQM (Goal Question Metric) (Basili, Caldiera, & Rombach, 1994) y la identificación de las mejores prácticas internas de la organización, para entender su forma de trabajo a través de la extracción del conocimiento tácito, como propone la metodología MIGME-RRC (Calvo Manzano, Cuevas, Muñoz, & San Feliu, 2009) (Metodología para la Implementación Gradual de Mejoras, con un Enfoque en la Reducción de la Resistencia al Cambio). De modo que esto permita definir los objetivos de negocio, encontrar las métricas que permitan establecer un marco de medición y verificar el cumplimiento de los objetivos de negoció a través de las prácticas internas identificadas y formalizadas.
Este artículo está estructurado de la siguiente forma: En la sección 2 se presenta la propuesta de implementación de la mejora de procesos que integra la aplicación de GQM y la extracción del conocimiento tácito, en la sección 3 se presenta el caso de estudio de la aplicación de la propuesta de mejora de procesos y la sección 4 muestra las conclusiones y trabajos futuros.
2. Propuesta para Implementar Mejora de Procesos de Software
Para identificar las áreas de oportunidad de las Pymes en el área de la mejora de los procesos se proponen los siguientes pasos que integran el método propuesto:
- Implementación de GQM: para establecer un marco de medición que permita verificar el cumplimiento de los objetivos de negocio de las organizaciones.
- Extracción del conocimiento tácito: para identificar las mejoras prácticas de la organización, usando la primera fase de la metodología MIGME-RRC que son descritas en los párrafos siguientes.
- Análisis de las dependencias y relaciones: para presentar un marco de medición y un plan de mejora del proceso basado en la implementación de prácticas que aporten a la satisfacción de los objetivos de negocio. Este análisis permite establecer la relación entre los objetivos, preguntas y métricas definidos en GQM y las prácticas internas de la organización.
2.1. Implementación de GQM
La Fig. 1 muestra la propuesta del marco de trabajo a aplicar para la implementación de GQM. La propuesta genera una lista de objetivos para la organización mediante el conocimiento del entorno de la misma con el propósito de facilitar la aplicación de GQM en las Pymes, las cuales, no tienen claros o bien definidos sus objetivos organizacionales debido a su cultura de trabajo. Conocido su entorno, se utiliza la propuesta de (Berander & Jönsson, 2006) que está enfocada en aplicar GQM.
Entorno de la organización: para conocer el entorno se llevan a cabo entrevistas. Las entrevistas se aplican a personal representativo de la empresa, a 3 niveles: Directivo, Gerencial y Operativo; las entrevistas son aplicadas por el equipo que lleva el estudio. Estas entrevistas deben realizarse con privacidad y de forma aislada, para que cada uno de los entrevistados, dé a conocer claramente sus perspectivas individuales al entrevistador. Dentro del análisis se realiza una revisión de los resultados de las entrevistas, después se establece la situación, consecuencia y necesidades de la organización. El análisis de las entrevistas genera la identificación de los objetivos, de modo que se pueda generar una propuesta de objetivos formalizados que puedan ser usados por la organización como guías para enfocar el esfuerzo de la mejora de procesos y para aplicar GQM.
Aplicación de GQM: La propuesta de (Berander & Jönsson, 2006) consta de los siguientes pasos: (1) GQM-WorkShop, (2) Categorization, (3) Introductory Meeting, (4) Prioritizacion, (5) Consensus Meeting, (6) Metrics and (7) Organizational Introduction. A diferencia de esta propuesta, se realiza una modificación en el paso (1) GQM-workshop, el cual se divide en 3 actividades que son: (1)Workshop (Goal) para iniciar con una propuesta de objetivos resultantes del paso previo (Conocimiento del Entorno), (2) Selection donde se realiza el refinamiento y selección de los objetivos por el personal de la organización involucrado en el estudio y posteriormente se aplica el (3) Workshop (Question) para la definición de las preguntas. Esta propuesta se muestra en la Fig. 1. Las actividades posteriores se aplican de acuerdo a la propuesta de (Berander & Jönsson, 2006).
2.2. Extracción Del Conocimiento
Establecido los pasos previos, se realiza la extracción del conocimiento. Este paso consiste en identificar las mejores prácticas internas de la organización, para entender la cultura de trabajo actual de la organización. Para ello se propone el uso de la primera fase, Identificar Mejores Prácticas Internas, de la Metodología MIGME-RRC (Calvo Manzano et al., 2009), la cual consta de 5 actividades principales: (1) Realizar entrevistas, (2) Analizar información de entrevistas, (3) Identificar prácticas genéricas, (4) Analizar documentación formal de procesos y (5) Realizar trazabilidad de la documentación formal y prácticas genéricas.
En esta fase se realiza la extracción del conocimiento tácito del personal que trabaja en la organización, a través de entrevistas. Después, se analiza la información de las entrevistas y se generan los diagramas de prácticas. Una vez que estos diagramas son aprobados por los entrevistados, se realiza la trazabilidad de todos los diagramas de prácticas, con la finalidad de identificar las prácticas genéricas.
Una vez Identificadas y aprobadas las prácticas genéricas, se recoge y analiza la documentación de procesos de la organización. Después, se realiza la trazabilidad de los procesos documentados y las prácticas genéricas, como resultado se obtiene el conjunto de mejores prácticas de la organización, éstas deben aprobarse a tres niveles (gerentes de proyecto, jefes de proyecto y líderes de proyecto), para verificar que las prácticas realmente son entendidas a través de la organización.
2.3. Análisis de Dependencias
El siguiente paso propuesto es el de encontrar las relaciones entre los procesos resultantes de las practicas genéricas con respecto a los resultados de la aplicación de GQM para determinar las dependencias existentes entre ellos.
Se propone el uso de matrices de trazabilidad y diagramas de relación para representar los resultados de la aplicación de GQM con el objeto de determinar la correspondencia entre prácticas frente a las preguntas, métricas y objetivos. De estas relaciones se pretende obtener la prioridad de implementación de métricas y de estandarización de los procesos obtenidos durante este proceso.
3. Caso de Estudio en una Pyme
La empresa seleccionada para el caso de estudio fue Zacsoft S. A. De C. V., una empresa de consultoría en Tecnologías de Información (TI) que se dedica al desarrollo de proyectos web, multimedia y de aplicaciones para dispositivos móviles, con una plantilla de trabajo de 40 empleados. Fundada en Sombrerete, Zacatecas, México en Junio del 2007. El objetivo de este caso de estudio es aplicar las propuestas para dar a conocer el estado actual de la empresa e identificar las áreas de oportunidad dentro de la misma.
3.1. Implementación de GQM
En la implementación de GQM hecha a la organización, se aplicaron las 2 etapas del marco de trabajo propuesto, Conocimiento del entorno y la Aplicación de GQM. Los resultados de aplicar estas 2 etapas del marco de trabajo son descritos brevemente a continuación.
3.1.1. Conocimiento del entorno
En esta etapa se aplicaron las 3 actividades propuestas por esta etapa, que son: la Entrevista, el Análisis y la Identificación de Objetivos.
Las entrevistas, fueron aplicadas al personal dentro de los 3 principales niveles de la organización, el Director General de la organización, el Director de Operaciones en el nivel Gerencial, y un desarrollador y líder de proyectos en el nivel operativo. Las entrevistas realizadas fueron aplicadas de forma individual, en lugares y tiempos diferentes para cada uno de los involucrados.
El análisis de los resultados de esta etapa, permitió conocer el panorama general y la situación actual de la empresa. El aplicar las entrevistas entre los diferentes niveles de la organización, permitió al equipo de investigación hacer una mejor evaluación, ya que al contrastar las respuestas obtenidas, se identificaron: las causas de la situación actual, las necesidades y los principales problemas que se enfrentan en la empresa actualmente, y los objetivos generales que se buscan, de acuerdo al nivel en el que se desempeña cada entrevistado.
La identificación de los objetivos, generó una propuesta de 5 objetivos específicos, basados en los objetivos generales y necesidades que fueron alineadas de forma estratégica, para asegurar que dichas necesidades impactaran en el cumplimiento de los objetivos generales de la organización y la resolución de los problemas.
3.1.2. Aplicación GQM
Se aplicó GQM en la organización de acuerdo a las actividades propuestas en este paso, los resultados del seguimiento de la aplicación de estas actividades son descritas a continuación:
Workshop (Objetivos), Se mostró al personal representante de la organización, los 5 objetivos identificados, además, se expusieron los motivos por los cuales fueron seleccionados, durante el proceso se identificaron motivos adicionales por los que los objetivos podrían ser los seleccionados y se llegó al consenso de que los objetivos identificados por el equipo GQM, cumplían con las necesidades actuales de la organización y que eran los principales objetivos que la empresa quería abordar.
Selección, En esta actividad se obtuvieron los principales objetivos formalizados que la organización quiere abordar, los seleccionados fueron aquellos que estaban directamente relacionados con procesos de desarrollo de software y se describen a continuación:
- Mejorar el proceso de estimación de los proyectos de la empresa, para generar estimaciones lo más acotadas a la realidad, desde el punto de vista de los directivos, líderes de proyecto y desarrolladores, debido al alto fracaso en la estimación de los mismos.
- Definir el proceso de desarrollo de software para estandarizar las actividades y mejorar el tiempo de desarrollo, desde la perspectiva de los involucrados en el proceso de desarrollo, debido a la falta de definición de procesos en la organización.
- Definir el proceso de pruebas, para asegurar la calidad de los productos, con respecto al número de errores detectados durante la fase de pruebas, desde la perspectiva de los testers, debido al alto costo y tiempo invertido en las correcciones de los mismos.
Workshop (preguntas), el equipo GQM y los responsables de la organización, identificaron las preguntas que se consideraron necesarias para cada objetivo. Para el objetivo 1 y 2 se definieron 11 preguntas y para el objetivo 3 se definieron 8 preguntas.
Categorización, la categorización de las preguntas se realizó de acuerdo a las características, respecto a su área y nivel de aplicación en la industria del software como proceso, proyecto o producto.
Reunión de introducción, Se agregaron al proceso, 2 Ingenieros de Desarrollo, se les explicó de manera breve el trabajo realizado hasta ese momento, para poder introducirlos en la priorización de las preguntas.
Priorización, Se preparó una hoja de evaluación en la que todos los participantes asignaron puntos a cada uno de los objetivos y sus respectivas preguntas, distribuyendo un total de 100 pts. entre los 3 objetivos, y 100 pts. entre cada grupo de preguntas relacionadas a cada uno de los objetivos, de acuerdo a la importancia que representaban para ellos. La prioridad de los objetivos quedó de la siguiente manera: Objetivo 1 con 36pts, Objetivo 2 con 34 pts. y Objetivo 3 con 30pts. quedando la prioridad en el mismo orden como fueron definidos los objetivos. La prioridad de las preguntas se muestra en la Tabla 1 en la columna P.
Reunión de consenso, se realizó una reunión de consenso, en la cual participó el equipo GQM con los miembros de la organización, para definir aquellas preguntas orientadas a generar valor para la organización y que faciliten la posterior asignación de métricas. Como resultado de este consenso se seleccionaron 19 de las 30 preguntas.
Definición de métricas, se definieron las métricas para cada una de las preguntas, se utilizó la categoría de cada una de las preguntas para ayudar a definir el tipo de métrica adecuado.
En la Tabla 1 se muestran las preguntas resultantes seleccionadas después del consenso entre los participantes de la organización donde se incluye también la categoría usada para clasificarlas, la prioridad resultante a cada una de las preguntas y sus métricas.
Introducción a la organización, se identificaron los datos que son necesarios para poder calcular cada una de las métricas elegidas en el paso anterior y se establecieron los procedimientos que se deben llevar a cabo para realizar la recogida de los datos. Para la definición de estos procesos, se tomaron como base los datos requeridos y se analizó el proceso de la empresa, para identificar de qué área, persona o proceso se pueden obtener. Se definieron plantillas de formato para recolección de los datos de estimación, valor ganado, tiempos tomados por actividad y registro de defectos. Los formularios se crearon en hojas de cálculo, para facilitar su uso e introducción en la organización, en las Figuras 2 y 3 muestran los ejemplos de los formularios realizados.
3.2. Extracción del conocimiento
En base a la propuesta para la extracción del conocimiento, la primera actividad que se realizó fue entrevistar al personal de la empresa, se entrevistaron 3 personas, el Director de operaciones y 2 Desarrolladores y Líderes de Proyectos. Posteriormente se analizó la información proporcionada por cada una de las entrevistas, y se realizaron los diagramas de prácticas para cada entrevistado. En la Fig. 4 se ilustra un diagrama de prácticas para la planificación de proyectos. Los diagramas de prácticas muestran las prácticas que cada entrevistado lleva a cabo para realizar una actividad específica como: planificación de proyectos, seguimiento de proyectos, gestión de riesgos, gestión de requisitos del proyecto, satisfacción de clientes, gestión con los proveedores, formación de los miembros del equipo, control sobre la calidad de los productos y gestión de la configuración. Una vez realizados los diagramas, éstos fueron aprobados por el personal entrevistado, para asegurar que los diagramas son una representación de las prácticas realizadas por ellos.
Después de aprobar los diagramas de prácticas, se realizó una trazabilidad entre los diferentes diagramas. Esta trazabilidad se realizó con la finalidad de identificar un conjunto de prácticas genéricas y unificar el nombre de las prácticas, para posteriormente realizar los diagramas de prácticas genéricas como se ilustra en la Fig. 5.
Esta actividad finalizó con la aprobación de los diagramas de prácticas genéricas a tres niveles (gerentes de proyecto, jefes de proyecto y líderes de proyecto). La revisión a tres niveles tiene como finalidad comprobar que se está hablando el mismo lenguaje en la organización, por lo que las prácticas genéricas serán entendidas en los diferentes niveles. Como resultado de estas actividades se obtuvo un conjunto de mejores prácticas de la organización. Las actividades, Analizar documentación formal de procesos y Realizar trazabilidad de la documentación formal y prácticas genéricas, no se realizaron por la falta de documentación formal de procesos en la empresa, ya que actualmente no tiene procesos definidos.
3.3. Análisis de Dependencias
En este punto se presentan las relaciones con respecto a los resultados de la aplicación de GQM, donde se obtienen los objetivos, las preguntas y sus métricas, analizando y determinando las dependencias existentes entre ellos.
Para realizar estos análisis se hace uso de matrices de trazabilidad, como se ilustra en la Figura 6, para determinar: (1) Las dependencias existentes entre los resultados de GQM (objetivos, preguntas y las métricas) y (2) Las dependencias entre los resultados de GQM y las prácticas genéricas resultantes en la Extracción del conocimiento.
Posteriormente los resultados de las matrices se representan en un diagrama de relaciones para visualizar las dependencias. Los análisis realizados fueron:
- Con respecto a GQM: métricas contra preguntas, preguntas contra los objetivos y métricas contra los objetivos.
- Con respecto a GQM y Prácticas genéricas: preguntas contra las prácticas genéricas, métricas contra las prácticas genéricas y objetivos contra las práctica genéricas.
Métricas vs. Preguntas: permitió definir una lista de métricas prioritarias con respecto a su impacto en las preguntas.
Preguntas vs. Objetivos: permitió definir una lista de preguntas prioritarias con respecto a su impacto en los objetivos de negocio.
Métricas vs. Objetivos: en este caso, se determinó que existen relaciones iguales para todas, por lo que no se pudo definir mayor prioridad que el impacto que pudiera tener el objetivo hacia la organización.
Preguntas vs. Prácticas genéricas: permitió definir una lista de preguntas prioritarias con respecto a su impacto en las prácticas genéricas. En la Fig. 7 se muestra un ejemplo de diagrama de relaciones entre las preguntas y las prácticas genéricas de un bloque correspondiente a un área de proceso.
Métricas vs. Prácticas genéricas: permitió definir una lista de prácticas prioritarias con respecto a su impacto en las métricas. La prioridad de las prácticas se establece de acuerdo al número de métricas que están relacionadas con cada una de las prácticas genéricas. En la Tabla 2 se muestran las 6 prácticas con mayor prioridad resultante.
Objetivos vs. Prácticas genéricas: permitió definir una lista de prácticas prioritarias con respecto a su impacto en los objetivos de negocio. En la Tabla 3 se muestra una lista de prácticas con mayor prioridad con respecto a los objetivos de negocio
3.4. Propuesta para la Implementación de Mejoras en la Organización
El resultado del estudio arrojó que, los tres objetivos, por orden de prioridad, con mayor importancia para la organización son: Mejorar el proceso de estimación, Definir el proceso de desarrollo de software y Definir el proceso de pruebas.
Un análisis de las métricas, indicó que las tres métricas que impactan la mayor cantidad de áreas de proceso son: puntos de función (FP), Schedule performance index (SPI) y costo de proyecto. En el análisis de los objetivos de negocio contra los bloques de proceso, se observa que los objetivos que cubren la mayor cantidad de bloques de procesos, coincidentemente son: mejorar el proceso de estimación, definir el proceso de desarrollo de software y definir el proceso de pruebas, en la Tabla 4 se muestra parte de estos análisis donde se pueden apreciar los totales resultantes.
Al observar el impacto que tiene las prácticas sobre los objetivos, las métricas y las preguntas relacionadas a cada objetivo, se obtuvo que las prácticas con mayor impacto son: Estimar tiempos y costos de las actividades, reportar avance de la actividad y registrar porcentaje de avance de actividades que se muestran en la Tabla 5.
En una propuesta general, donde se evalúa la cantidad de métricas, objetivos y preguntas que cubre cada una de las prácticas, la suma de los puntos otorgada por cada una de las partes, da como resultado un plan que se propone implementar en tres etapas, la Tabla 6 muestra parte de este análisis.
4. Conclusiones
Para este trabajo se realizó la propuesta de un método el cual incluye los pasos principales de GQM integrando la fase de identificación de los objetivos y la extracción del conocimiento tácito de la organización, proponiendo y agregando pasos como lo son: workshop (Goal), Selection and workshop (Question). La validación de este método se ha llevado a cabo en Zacsoft, una empresa de consultoría en tecnologías de la información.
La implementación del marco de trabajo de GQM se aplicó en constante comunicación con los miembros de la organización y permitió generar una propuesta de objetivos en los cuales se incluían objetivos que no fueron considerados para este estudio pero que si fueron usados por la empresa para identificar áreas de oportunidad de mejora para la búsqueda y el logro de esos objetivos. La aplicación de este marco de trabajo permitió integrar con facilidad la aplicación de GQM en una empresa que carece de un plan estratégico organizacional que defina sus objetivos, propósitos, misión y visión. Con la implementación de esta propuesta se ha logrado conocer la situación actual de la empresa, extraer el conocimiento tácito que existe en los recursos humanos e iniciar un camino de la formalización de procesos y del mismo conocimiento. Se ha visto como entre los diferentes niveles de la organización, hay discrepancias entre los objetivos de la empresa y las formas en que se realiza el trabajo.
Este estudio ha permitido que la empresa se dé cuenta de la importancia de definir y estandarizar los conocimientos, objetivos y procesos que ayuden a su consolidación y establecer un punto de partida que le permita tener una línea base para la implementación de mejoras ayudando a alcanzar un nivel de madurez y profesionalismo adecuado a las aspiraciones generales de la empresa.
Referencias bibliográficas
Basili, V., Caldiera, G., & Rombach, H. (1994). The goal question metric approach. Enyclopedia of Software Engineering. [ Links ]
Berander, P., & Jönsson, P. (2006). A goal question metric based approach for efficient measurement framework definition. Proceedings of the 2006 ACM/IEEE international symposium on International symposium on empirical software engineering - ISESE 06, 316. doi:10.1145/1159733.1159781 [ Links ]
Calvo Manzano, J. A., Cuevas, G., Muñoz, M., & San Feliu, T. (2009). Metodología para la Implementación Gradual de Mejoras, con Enfoque en la Reducción de la Resistencia al Cambio. Proceedings 4a Conferencia Ibérica de Sistemas y Tecnologías de la Información (CISTI 2009). [ Links ]
Fenton, N. E., & Pfleeger, S. L. (1998). Software metrics: a rigorous and practical approach (p. 651). [ Links ]
Kaneko, T., Katahira, M., Miyamoto, Y., & Kowalczyk, M. (2011). Application of GQM+Strategies® in the Japanese Space Industry. 2011 Joint Conference of the 21st International Workshop on Software Measurement and the 6th International Conference on Software Process and Product Measurement, 221226. doi:10.1109/IWSM-MENSURA.2011.22 [ Links ]
Recebido / Recibido: 2/12/2013
Aceitação / Aceptación: 13/01/2014