SciELO - Scientific Electronic Library Online

 
 número26Impacto de los factores sociológicos de los usuarios en la aceptación y uso de software de gestión de proyectos en la mediana empresa en LimaImplementación de un enfoque DevSecOps + Risk Management en un Centro de Datos de una organización Mexicana índice de autoresíndice de materiabúsqueda de artículos
Home Pagelista alfabética de revistas  

Servicios Personalizados

Revista

Articulo

Indicadores

Links relacionados

  • No hay articulos similaresSimilares en SciELO

Compartir


RISTI - Revista Ibérica de Sistemas e Tecnologias de Informação

versión impresa ISSN 1646-9895

RISTI  no.26 Porto mar. 2018

https://doi.org/10.17013/risti.26.31-42 

ARTÍCULOS

Identificando caminos para iniciar la implementación de mejora de procesos de software en organizaciones de desarrollo de software

Identifying paths to start the software process improvement in software development organizations

Jezreel Mejía1, Marcos Gonzalez1, Jose Calvo-Manzano2, Tomas San Feliu2

1Centro de Investigación en Matemáticas – Unidad Zacatecas, 98160, Zacatecas, Zacatecas, México. jmejia@cimat.mx, marcos.gonzalez@cimat.mx

2ETS de Ingenieros Informáticos :: Universidad Politécnica de Madrid, Campus de Montegancedo, 28660 Boadilla del Monte (Madrid), España. joseantonio.calvomanzano@upm.e, tomas.sanfeliu@upm.es


 

RESUMEN

En la actualidad, uno de los principales obstáculos de las organizaciones de desarrollo de software en la implementacion del Modelo CMMI-Dev es como iniciar su implementación y aumentar la probabilidad de éxito en una evaluación SCAMPI. Este método de evaluación permite validar, establecer e identificar las oportunidades de mejora de procesos para obtener un nivel de madurez. Sin embargo, el método de evaluación SCAMPI no garantiza una evaluación exitosa, debido a que el proceso de evaluación es empírico basado en la experiencia del equipo auditor experto en Mejora de Procesos de Software con respecto a este modelo. Este artículo propone la identificacion de alternativas de caminos a traves de una herramienta para lograr una efectiva implementación en el modelo CMMI-DEV Nivel 2, considerando sus objetivos de negocio de la organización.

Palabras-clave: Herramientas; Software; Procesos; Mejora; CMMI; Evaluación.


 

ABSTRACT

One of the main obstacles of software development organizations in the implementation of the CMMI-Dev Model is how to start its implementation and increase the probability of success in a SCAMPI evaluation. This evaluation method allows to validate, establish and identify opportunities for process improvement to obtain a level of maturity in this model. However, the SCAMPI evaluation method does not guarantee a successful evaluation, because the evaluation process is empirical based on the experience of the expert audit team in Software Process Improvement with respect to this model. This article proposes the identification of paths alternatives through a tool to achieve an effective implementation in the CMMI-DEV v1.3 Level 2 model, considering its business objectives of the organization.

Keywords: Tools; Software; Process; Improvement; CMMI; Evaluation.


 

1. Introducción

Hoy en día la implementación de diversas metodologías y modelos como: IDEAL, PDCA, Pmbok, COMPETISOFT, agil SPI-Process, ISO 27001, ISO 9001, CMMI, ITIL, COBIT, RISK IT, VAL IT y ISO 90003, son aplicados en gran medida para mejorar, madurar, adquirir e institucionalizar mejores prácticas y obtener la base del conocimiento en el desarrollo de sus proyectos (Pardo et al, 2011).

Investigaciones recientes muestran que las organizaciones de desarrollo de software utilizan la Mejora de Procesos de Software (SPI, por sus siglas en inglés) para implementar la administración, control y estructura al desarrollo de software resultando en un cambio significativo ya que se considera que la calidad del software es la llave para la obtención de mejores ventajas competitivas haciendo uso de la implementación de los modelos más populares como ISO/IEC 15504 y CMMI (Rahmani et al, 2016).

Informes generados de estas investigaciones, indican que las organizaciones siguen enfrentando problemas para la SPI y aumentan el riesgo de fracaso en pequeñas y medianas organizaciones (Sulayman et al, 2012; Larrucea et al, 2016), en especifico en el modelo CMMI Dev v1.3. Sin embargo, las organizaciones dan un alto valor a la mejora de sus procesos, de tal forma que invierten grandes cantidades de recursos y esfuerzos en programas para la implementación de mejoras de procesos de software no solo en la implementación del modelo CMMI Dev, sino a través de diversos modelos y estándares que les permita mantener una alta calidad en sus productos y servicios (Larrucea et al, 2016).

Por lo tanto, este artículo propone la identificación de caminos para iniciar la implementación de mejora de procesos de software en organizaciones de desarrollo de software a través de una propuesta de herramienta nombrada “HiSPI” para indicar el inicio efectivo de SPI, con base en un sustento matemático que identifique la importancia de las áreas de proceso en el Modelo CMMI Dev (Mejia et al, 2017). Esto permitirá, se establezca el inicio de SPI de acuerdo a los objetivos de negocio de la organización, según sus dependencias explícitas, lo cual, minimizará el esfuerzo y tiempo promedio en la SPI y aumentar la probabilidad de éxito en el nivel 2 tras una evaluación SCAMPI.

Este artículo está estructurado de la siguiente manera: en la segunda sección, se muestran los trabajos relacionados en iniciativas de SPI, en la tercera sección, la herramienta propuesta, finalmente en la cuarta sección, las conclusiones de las secciones anteriores y el trabajo futuro posible a desarrollar.

2. Trabajos relacionados

En el desarrollo de este estudio, se han identificado que existe un déficit en herramientas automatizadas que faciliten el cómo iniciar la implementación de programas de SPI (Khokhar, 2010; Miler & Wesołowska, 2012). Con base a una revisión literaria (Mejia et al, 2017) se detectaron algunas herramientas que permiten la SPI en las organizaciones:

La herramienta CIP-UQIM fue propuesta por los autores Hosein Rahmani, Ashkan Sami y Abdullah Khalili CSE con la finalidad de establecer un modelo para la armonización de las prácticas comunes entre los modelos CMMI-Dev, ISO 9001 y PMBOOK. Esta propuesta fue desarrollada para SMEs (muy pequeñas empresas) para realizar la integración de las actividades del proceso, el cual, fue dirigido por un marco de trabajo que permitiera reducir las opiniones personales y determinar resultados más confiables (Khokhar, 2010; Miler & Wesołowska, 2012).

Esta herramienta consiste en tomar una base partir de un mapeo entre los modelo mencionados anteriormente, donde se obtenga la reutilización de procesos existentes de cualquier modelo que se tenga definido, de tal manera que se evite la implementación de procesos desde cero, desperdiciando tiempo y reutilización de otros recursos en otros programas, la finalidad de este modelo es aumentar la productividad y la probabilidad de éxito en SPI (Rahmani, 2016).

Marina Pilar, Jocelyn Simmonds y Hernán Astudillo autores de una herramienta Semi automatizada de un marco de trabajo enfocado en establecer una guía o modelo de herramientas para mejorar y mantener el desarrollo de procesos de software. La propuesta de esta herramienta toma como entradas un dominio, definición de procesos y un conjunto de criterios de evaluación de herramientas. Como resultado, se muestra una lista clasificada de herramientas para mejora de procesos.

Esta herramienta está basada en técnicas de Toma de Decisiones Multicriterios, específicamente Proceso analítico jerárquico (AHP) y Teoría de la utilidad basada en atributos múltiple (MAUT) para lograr reducir la cantidad significativa de tiempo que es requerida por cada usuario en la identificación de aspectos clave en cada proceso. Ha sido validada al usarlo para recomendar herramientas en un proceso y proyecto real, que ya se encuentran previamente documentados y de esta manera una evaluación de esta propuesta, la cual, fue realizada de manera empírica por expertos en implementación de mejoras de procesos (Pilar, 2014).

García et al, (2011) autores de la herramienta RIA realizan una aplicación para tomar iniciativas en implementación de mejoras de procesos de software, basados en un diseño colaborativo de modelos, donde se propone una estrategia para la evaluación y modelización de procesos colaborativos. Esta propuesta permite evaluar y modelar de forma colaborativa los procesos de software en un proyecto de SPI, a partir de una infraestructura y una estrategia distribuida y colaborativa que no está enfocada solo en la base del conocimiento acerca del desarrollo de procesos de software, sino que también permite comunicar y organizar el trabajo a realizar.

La herramienta HProcessTool fue desarrollada por los autores Pardo et al, (2011) con la finalidad de gestionar, supervisar y controlar proyectos a través de guías que indican paso a paso como establecer la armonización de múltiples modelos para cualquier tipo de compañía, obteniendo una optimización del tiempo, esfuerzo y recursos empleados en la armonización de un proyecto.

Esta herramienta ha sido utilizada en dos casos de estudio en los cuales uno de ellos está enfocado a la armonización de ISO 27001 y ISO 20000 con el objetivo de identificar las diferencias y similitudes entre estos estándares, de tal forma que se resuelvan sus discrepancias para facilitar la obtención de la certificación de la organización en el estándar ISO 20000 (Pardo et al, 2011).

Como resultado del análisis de los trabajos relacionados identificados en la revisión sistemática y de las herramientas detectadas para la mejora de procesos de software en evaluación de procesos, se determina que las propuestas para la implementación de mejoras de proceso de software son a través de los siguientes puntos:

• Cuestionarios y entrevistas aplicados por expertos en mejora de procesos para afirmar el correcto seguimiento del modelo CMMI-Dev v1.3, donde los resultados son evaluados a través diversas sumatorias.

• Todas las propuestas de modelos o herramientas están basadas en el modelo IDEAL y a los resultados previos que cada uno proporciona a través de sus diversas técnicas, el cual están enfocadas al logro de los objetivos de las áreas de proceso del modelo CMMI-Dev v1.3.

3. HiSPI: Herramienta para la identificación de caminos para la implementacion de mejora de procesos de software

El modelo propuesto para el desarrollo de la herramienta HiSPI está enfocado al modelo CMMI-DEV v1.3, para el nivel de madurez 2, con base en un método matemático que permite identificar como iniciar la implementación de mejoras de proceso de software partiendo de sus objetivos de negocio. El desarrollo de esta propuesta de herramienta, pretende solventar la problemática de las en las organizaciones de desarrollo de software que tienen como objetivo mejorar sus procesos, donde, no identifican cómo iniciar la mejora y no solo obtener la base de conocimiento en técnicas y métodos empíricos, propuestos por expertos en SPI.

El modelo de referencia propuesto en la herramienta HiSPI, permite establecer una guía a las organizaciones para la determinación de las alternativas para el inicio de SPI. Esta propuesta de modelo está formada por 5 fases. La Tabla 1 muestra de manera general las principales funcionalidades que abordan las 5 fases que conforman a la herramienta.

 

 

La Figura 1, muestra la interfaz de bienvenida de la herramienta HiSPI para iniciar sesión, asimismo para la creación de una cuenta.

 

 

3.1 Conocimiento del entorno organizacional

En esta primera fase de la herramienta se determinan los objetivos de negocio que la organización tiene enfocados al inicio de SPI. Para ello, se realiza la introducción de los datos de la organización dentro del sistema, como se muestra en la Figura 3, y a continuación se procede al registro de los objetivos de negocio. Para realizar un registro de un nuevo Objetivo de Negocio (ON), se utilizan los elementos estructurales que sugiere la metodología GQM (Goal Question Metric) propuesta por Víctor Basili (Basili et al, 2007), para el proyecto de SPI, como se muestra en la Figura 4. La estructura de los ON debe definirse a partir de 5 elementos: Objetivo, Propósito, Enfoque, Punto de vista, entorno. Una vez obtenidos los objetivos se obtiene la trazabilidad con respecto al modelo CMMI, haciendo uso de un analizador léxico para definir la relación con las definiciones de las áreas de proceso, las cuales están descritas por las hojas de ruta que el modelo CMMI propone como guía para una efectiva adopción del modelo CMMI–Dev (Cannegieter et al, 2008).

 

 

 

 

3.2 Trazabilidad con áreas de proceso CMMI Dev V.1.3.

Una vez que se han identificado cada uno de los objetivos de negocio con la estructura de los cinco elementos de GQM, en la siguiente actividad de realiza un mapeo de estos con la definición de las áreas de proceso y el RoadMaps que el modelo CMMI sugiere para la iniciación de SPI.

Esta segunda fase de la herramienta permite visualizar a través de grafos una trazabilidad de las áreas de proceso que conforma el modelo CMMI–DEV para el nivel de madurez 2, en la cual, se indica las dependencias explicitas que existen entre cada una de ellas, por medio de la palabra reservada “Refer to”, identificando los 4 niveles principales (Mejia et al, 2017), donde se localiza la relación explicita de estas áreas de proceso, como se muestra en la Tabla 2.

 

 

El resultado obtenido permite definir una guía para enfocar el inicio de SPI, como se puede apreciar en la Figura 3.

 

3.3 Análisis actual de la organización.

En esta fase de la herramienta se realiza un análisis de todos los procesos que ya están establecidos por la organización. Este análisis es realizado a partir de un cuestionario donde se verifica el cumplimiento de cada una de las prácticas de cada área de proceso. Este cuestionario es conforme al proceso de evaluación SCAMPI, donde se requiere comprobar las prácticas con alguna evidencia generada a lo largo del proceso.

Como resultado de este cuestionario se genera un grafo del estado actual de los procesos con respecto a otras áreas. Además se genera el estado que se encuentra la organización respecto al nivel de madurez que se pretender obtener.

 

3.4 Determinar ruta óptima.

De acuerdo a los resultados obtenidos en las dependencias identificadas en la Fase 2 y los objetivos de negocio detectados en la Fase 1, se construye un grafo que representa cual es la alternativa efectiva para el inicio de SPI seguido por el modelo CMMI-Dev v1.3.

En este grafo se identifica el peso resultante que es calculado para cada área de proceso a partir de una fórmula matemática. La fórmula identifica el valor de cada dependencia determinada por la trazabilidad entre áreas de proceso, a través de los resultados del análisis, ingeniera inversa y relaciones explicitas de métodos, modelos, herramientas utilizados tanto en implementación como en evaluaciones de programas de mejora de procesos de software (Mejia et al, 2017).

(1)

Nomenclatura:

nr = número de relaciones.

npe = número de Subprácticas a evaluar por área de proceso.

n = número de áreas de proceso correspondientes a un nivel.

PA = peso de la dependencia del área de proceso.

Partiendo de la importación del análisis de las dependencias entre áreas de proceso y la trazabilidad de los objetivos de negocio con respecto a CMMI, se realiza una comparación generando la ruta que es más efectiva para dar inicio a la implementación de mejoras de procesos de software como puede visualizarse en la Figura 5.

 

 

3.5 Adaptabilidad de rutas.

La funcionalidad de adaptabilidad de rutas, permite que el usuario pueda realizar ajuste a la propuesta que la herramienta ha generado con base a su análisis. Y con ello se realiza una comparación entre la propuesta y la personalizada, dando como resultado el porcentaje de esfuerzo que implica realizar la mejora de procesos con respecto a la propuesta de la herramienta.

 

 

3.6 Seguimiento de iniciativa de SPI.

Esta última fase de la herramienta permite realizar un seguimiento a la implementación de las mejoras de proceso de software, a través de un lista de verificación (checklist) con base en la herramienta Apraisal Asistents y herramientas utilizadas en evaluaciones SCAMPI para la validación y verificación de las prácticas que el modelo CMMI sugiere (Richter & Escorial, 2014).

Este seguimiento se realiza por cada una de las áreas de proceso donde se encuentra involucrado el proyecto de iniciativa de SPI. El proceso registra el logro de las prácticas a través de las evidencias generadas cuando se lleva a cabo un proceso de evaluación formal. Al finalizar el seguimiento de una área de proceso es posible realizar una previa evaluación observando el resultado obtenido en cada momento y guardar ese resultado generado, de tal forma que se mantenga el monitoreo a cada una de las áreas de proceso hasta culminar la totalidad de su implementación.

 

 

La herramienta HiSPI forma parte de un caso de estudio que se tiene planificado implementar en una empresa de desarrollo de software, dicha empresa actualmente tiene el modelo de calidad CMMI Dev en el nivel 2 de madurez y pretende que se mantenga la certificación y se pueda preparar para el siguiente nivel de madurez.

Esta herramienta será la base que tome el personal a cargo del área de procesos. La herramienta servirá para tomar la decisión de como comenzar el proyecto de SPI. Además, la experiencia en su uso que se obtenga se usará para realizar mejoras a la herramienta y conseguir una primera versión estable.

4. Conclusiones

HiSPI es un marco de trabajo que sugiere alternativas para lograr identificar como iniciar la implementación de mejora de procesos de software, siguiendo el enfoque de los objetivos de negocio que las organizaciones establecen para la mejora de procesos. HiSPI muestra alternativas que pueden ser modificadas y obtener un análisis del esfuerzo que conlleva el aplicar ducha modificación para una eficaz iniciación de SPI formalizado para el nivel 2 de CMMI-Dev v1.3.

Asimismo, apoyado en la herramienta permite obtener una visualización de los requerimientos necesarios para iniciar los programas de SPI, de tal forma, que se pueda realizar un análisis de los procesos definidos con respecto a los requisitos por el modelo. Y además, permite realizar un seguimiento al cumplimiento de la implementación de las buenas prácticas que requiere cada una de las áreas de proceso.

Como trabajo futuro dentro de esta investigación se propone realizar la formalización de los niveles 3, 4 y 5 de madurez del modelo CMMI, considerando técnicas o herramientas de predicción de datos, que son requeridas para estos niveles de mayor complejidad. Igualmente, se podría considerar la automatización de las fases de análisis de procesos ya establecidos y el seguimiento de implementación de SPI a través de la recolección de la información y las evidencias que son requeridas al realizar una evaluación formal.

 

REFERENCIAS

Basili, V., Heidrich, J., Lindvall, M., Münch, J., Regardie, M., & Trendowicz, A. (2007). GQM+Strategies - Aligning business strategies with software measurement. In Proceedings of 1st International Symposium on Empirical Software Engineering and Measurement, ESEM 2007, (pp. 488–490). https://doi.org/10.1109/ESEM.2007.56.         [ Links ]

Cannegieter, J. J., Heijstek, A., Linders, B., & Van Solingen, R. (2008). CMMI roadmaps, (November). Retrieved from http://repository.cmu.edu/sei/295/.         [ Links ]

Garcia, I., Pacheco, C., & Cruz, D. (2011). Implementation of a RIA Tool for Supporting a Collaborative Initiative of Software Process Improvement. In Proceedings of International Conference on Cooperative Design, Visualization and Engineering, (pp. 45–52). Mallorca, Spain: Springer.         [ Links ]

Khokhar, M. N., Rehman, S. U., Mansoor, A., Khokhar, M. N., & Rauf, A. (2010). MECA: Software process improvement for small organizations. In Proceedings of 2010 International Conference on Information and Emerging Technologies. https://doi.org/10.1109/ICIET.2010.5625678.         [ Links ]

Larrucea, X., O'Connor, R. V., Colomo-Palacios, R., & Laporte, C. Y. (2016). Software process improvement in very small organizations. IEEE Software, 33(2), 85–89. https://doi.org/10.1109/MS.2016.37        [ Links ]

Mejia, J., Gonzalez, M., & Muñoz, M. (2017). Organization of the process areas of CMMI-Dev v1.3 level 2 through of its dependencies. In Proceedings of 2017 12th Iberian Conference on Information Systems and Technologies (pp. 1-7). Lisbon: IEEE.         [ Links ] doi:10.23919/CISTI.2017.7975919.

Miler, J., & Wesołowska, H. (2012). Improvement of Task Management with Process Models in Small and Medium Software Companies. In Proceedings of European Conference on Software Process Improvement (pp. 145–156). Ostrava, Czech Republic: Springer. https://doi.org/10.1007/978-3-642-31199-4_13.         [ Links ]

Pardo, C., Pino, F., García, F., Romero, F. R., Piattini, M., & Baldassarre, M. T. (2011). HProcessTOOL: A support tool in the harmonization of multiple reference models. In: Lecture Notes in Computer Science (Including Subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), (PART 5, pp. 370–382). https://doi.org/10.1007/978-3-642-21934-4_30.         [ Links ]

Pilar, M., Simmonds, J., & Astudillo, H. (2014). Semi-automated tool recommender for software development processes. Electronic Notes in Theoretical Computer Science, 302, 95–109. https://doi.org/10.1016/j.entcs.2014.01.022        [ Links ]

Rahmani, H., Sami, A., & Khalili, A. (2016). CIP-UQIM: A unified model for quality improvement in software SME's based on CMMI level 2 and 3. Information and Software Technology, 71, 27–57. https://doi.org/10.1016/j.infsof.2015.10.009        [ Links ]

Sulayman, M., Urquhart, C., Mendes, E., & Seidel, S. (2012). Software process improvement success factors for small and medium Web companies: A qualitative study. Information and Software Technology, 54(5), 479–500. https://doi.org/10.1016/j.infsof.2011.12.007        [ Links ]

Richter S., Escorial R. D. (2014). Software Process Assessment Validation and Improvement Prioritization. In: Barafort B., O'Connor R.V., Poth A., Messnarz R. (eds). Systems, Software and Services Process Improvement. EuroSPI 2014. Communications in Computer and Information Science, (vol 425). Berlin, Heidelberg: Springer.         [ Links ]

 

Agradecimientos

El desarrollo de esta publicación es patrocinado por el Centro de Investigación en Matemáticas, A.C.

 

Recebido/Submission: 30/11/2017

Aceitação/Acceptance: 01/02/2018

Creative Commons License Todo el contenido de esta revista, excepto dónde está identificado, está bajo una Licencia Creative Commons