SciELO - Scientific Electronic Library Online

 
vol.8 suppl.1Plataforma Cubana de Migración a Código AbiertoLa toma de decisiones en los Sistemas Tutoriales Inteligentes utilizando el agrupamiento conceptual índice de autoresíndice de materiabúsqueda de artículos
Home Pagelista alfabética de revistas  

Servicios Personalizados

Articulo

Indicadores

  • No hay articulos citadosCitado por SciELO

Links relacionados

  • No hay articulos similaresSimilares en SciELO

Compartir


Revista Cubana de Ciencias Informáticas

versión On-line ISSN 2227-1899

Rev cuba cienc informat vol.8  supl.1 La Habana dic. 2014

 

ARTÍCULO ORIGINAL

 

Modelo Si.MPS.CU para valorar las organizaciones al iniciar la mejora de proceso de software

 

Model Si.MPS.Cu for organizational assessment at the start of a software process improvement

 

MsC. Yaimí Trujillo Casañola1*, Dra. C. Ailyn Febles Estrada2, Dr. C. Giraldo León-Rodríguez3

1 Departamento de Calidad de la Universidad de las Ciencias Informáticas. Carretera San Antonio, km 2 1/2, Torrens, Boyeros, La Habana, Cuba. yaimi@uci.cu
2 Vicerrectoría de Investigación y Postgrado de la Universidad de las Ciencias Informáticas. Carretera San Antonio, km 2 1/2, Torrens, Boyeros, La Habana, Cuba. ailyn@uci.cu
3
Viceministerio de Economía del Ministerio de Educación Superior (MES), La Habana, Cuba, giraldo@reduniv.edu.cu

*Autor para la correspondencia: yaimi@uci.cu

 

 


RESUMEN

La mejora de procesos de software se centra en mejorar la madurez del proceso y como consecuencia, la calidad del producto. La ejecución de una mejora resulta compleja; lo que impide que las organizaciones se decidan a iniciarla. Para enfrentar estas dificultades diferentes modelo proponen realizar un diagnóstico al iniciar la mejora de procesos de software, que incluye la evaluación de la organización con el objetivo de analizar y definir cómo mejorar las prácticas del desarrollo software. Las técnicas aplicadas en esta área se centran en identificar el estado de los procesos y no el estado de la organización integralmente y valorar las condiciones para iniciarla, el cual representan un punto de partida que condicionará el resultado. El objetivo principal de la investigación es elaborar un modelo para valorar las organizaciones desarrolladoras de software al iniciar la mejora de proceso, con el uso de indicadores y métricas, que tenga en cuenta la experiencia de los expertos para contribuir a minimizar el impacto negativo de los factores críticos de éxito. Como elementos originales el modelo incorpora el “qué”  y el “cómo” valorar una organización en términos de indicadores y en función de los factores críticos de éxito. Esta propuesta contribuye a detectar las fortalezas y las debilidades para acometer el cambio y facilita el análisis de los riesgos. Finalmente se presenta la validación del modelo a través de un cuasiexperimento y se analizan los resultados obtenidos.

Palabras clave: diagnóstico, factores críticos de éxito, mejora de procesos de software.


ABSTRACT

Process improvement is focused on improving software process maturity and consequently product quality. The implementation of an improvement is complex, which prevents organizations decide to start it. To address these difficulties different model suggest a diagnosis to start software process improvement, including the assessment of the organization in order to analyze and define how to improve software development practices. The techniques applied in this area focus on identifying the state of the process and not the state of the organization fully and evaluate the conditions to launch, which represent a starting point that will determine the outcome. The main objective of the research is to develop a model to assess the software development organizations to initiate process improvement with the use of indicators and metrics, taking into account the experience of experts to help minimize the negative impact of the critical success factors. As the model incorporates original features the "what" and "how" assess an organization in terms of indicators and in terms of critical success factors. This approach helps to identify strengths and weaknesses to undertake change and facilitates the analysis of risk. Finally, the validation of the model through a multiple time series experiment with two pretest, posttest and two control group and analyzed the results.

Key words: Critical success factors for software process improvement, diagnosis.


 

 

INTRODUCCIÓN

Diversas investigaciones reafirman la importancia de la mejora de proceso de software (Müller, Mathiassen and Balshoj, 2010). Con respecto a este elemento se afirma: la institucionalización de una mejora de procesos aporta ventajas significativas respecto a la madurez organizacional de las empresas (Niazi, Babar and Verner, 2010). También se asegura que: numerosas universidades, comunidades científicas y organizaciones, así como los gobiernos invierten en función de identificar las buenas prácticas e influir en la mejora de procesos, a través de normas, modelos y estándares (Clarke and O’Connor, 2010). Sin embargo, son numerosos los estudios publicados que reportan las dificultades que enfrentan las organizaciones, los autores aportan elementos sobre lo difícil de desarrollar las iniciativas en las complejas y disímiles características de las organizaciones (Müller, Mathiassen and Balshoj, 2010) (Niazi, Babar and Verner, 2010) (Clarke and O’Connor, 2010).

La mejora del proceso de software; tiene por cometido analizar y definir cómo mejorar las prácticas de desarrollo software de una organización, partiendo de una evaluación del proceso en uso (Galinac, 2009). Se centra en mejorar el rendimiento, la utilidad y la efectividad de los procesos de una manera disciplinada (Clarke and O’Connor, 2010). Se parte del principio de mejorar la madurez del proceso software y como consecuencia la calidad del producto de software; incluso algunos autores consideran que incrementa la competitividad (Galinac, 2009) (Pino, García and Piattini, 2009) (Clarke and O’Connor, 2010). El objetivo de una iniciativa de mejora de proceso de software es alinear la empresa de software con el modelo de calidad deseado (Pino, García and Piattini, 2009).

En la actualidad, se destaca un auge en estas investigaciones, tanto desde el punto de vista teórico como en su ejercicio práctico, vinculado sobre todo con el fin de fortalecer la industria del software. Sin embargo, hoy existen dificultades en las organizaciones, los informes indican que la cantidad de fracasos es muy alta, llegando al 70 % (Allison, 2010). Buena parte de estas dificultades se deben a que las iniciativas de mejora no contempla el estado real de las organizaciones, cada una posee características que la distinguen del resto, tienen sus propias peculiaridades que representan un punto de partida diferente para el programa y que condicionará sus resultados. A pesar de que se ha definido un conjunto de elementos que influyen en el resultado de un programa de mejora (Wan and Wang, 2010) (Khan, Niazi and Ahmad, 2011) (Mesquida, et al, 2012) (Sulayman, et al., 2012), no se han definido los mecanismos que establezcan cómo valuar estos en una organización.

En el diagnóstico que se realiza como parte de la iniciativa en propuestas como el Modelo IDEAL, MPS. Br y MoProSoft, resulta muy útil, que se evalúa los procesos en uso con el objetivo de poner de manifiesto el estado actual y valorar como alinear la empresa de software con el modelo de calidad deseado. Pero no con el objetivo de identificar el estado de la organización integralmente y valorar las condiciones que presenta la organización para iniciar la mejora de proceso de software. En este aspecto, existen insuficiencias en los procedimientos para la identificación de fortalezas, debilidades y el análisis de los riesgos. Otra de las necesidades es poder comparar varias organizaciones en función de determinar cuál de los dos escenarios está en mejores condiciones para el éxito.

En este aspecto, una de las actividades más complejas es identificar “qué”  valorar y “como”  hacerlo. Las experiencias documentadas en estudios de casos, evidencia y anécdotas de empresas exitosas que han hecho descripciones de sus iniciativas, sin dudas, han resultado de utilidad. Gracias a las lecciones aprendidas de las organizaciones triunfantes, se han obtenido los factores críticos de éxito, las barreras y las buenas prácticas (Trujillo, et al., 2012) (Trujillo, et al., 2013), lo que ayuda a controlar la aplicación de la MPS. No obstante, existe un número de diferencias entre los resultados de las investigaciones. Se aluden factores en unas que no se mencionan en otras, en algunos casos generalizados y en otros demasiado contextualizados. Esto se debe principalmente al hecho de que diferentes estudios han investigado diferentes factores, con una variedad de elementos, los mismos se desarrollaron con características diferentes, como el contexto, el momento, los objetivos, y  los métodos de investigación aplicados.

Ante esta realidad se define como objetivo de la investigación elaborar un modelo para valorar las organizaciones desarrolladoras de software al iniciar la mejora de proceso, con el uso de indicadores y métricas, que tenga en cuenta la experiencia de los expertos para contribuir a minimizar el impacto negativo de los factores críticos de éxito. Con la aplicación de la propuesta a través del cuasiexperimento de series cronológicas múltiples con dos prepruebas y dos postpruebas y grupo de control se pudo constatar que ésta permite identificar las barreras de la mejora y a partir de ellas realizar el análisis de los riesgo para minimizar el impacto negativo de los factores críticos de éxito.

 

MATERIALES Y MÉTODOS

En la investigación primeramente se utilizó el histórico-lógico y el dialéctico para el estudio crítico de los trabajos anteriores y para utilizar estos como punto de referencia y comparación con los resultados alcanzados. El sistémico para el análisis de la mejora de procesos de software y la relación causa-efecto de la problemática abordada. El hipotético-deductivo para elaborar la hipótesis de la investigación y proponer líneas de trabajo a partir de los resultados parciales. El analítico-sintético al descomponer el problema de investigación en elementos separados y profundizar en el estudio de cada uno de ellos, para luego sintetizarlos en la solución propuesta. La inducción-deducción para la identificación de la problemática y de las soluciones; y la modelación para el desarrollo del modelo. La encuesta para obtener el diagnóstico de las organizaciones desarrolladoras de software respecto a la mejora de procesos en Cuba. La observación participante a través de la cual se obtuvo la información necesaria para el planteamiento del problema, la hipótesis, así como realizar la confrontación de los resultados obtenidos.

El método experimental para comprobar la utilidad de los resultados obtenidos a partir de la implementación del modelo. Los Métodos cualitativos y cuantitativos, que incluye los métodos de consulta de expertos aplicados durante la concepción de los componentes, y la validación de los aportes fundamentales de la investigación; aplicación de modelos de análisis cuantitativos para el procesamiento de los datos y análisis de las encuestas y cuestionarios; la técnica de grupo focal para el análisis de campo de fuerzas y la concepción de los componentes. Se empleó la estadística descriptiva para el análisis de los resultados. La aplicación sistemática de estos métodos permitió el alcance de los resultados previstos en cada una de las etapas de la investigación.

 

RESULTADOS Y DISCUSIÓN

La deducción de un modelo para valorar las organizaciones desarrolladoras de software al iniciar la mejora de proceso que integre los indicadores, la métrica de impacto de los factores críticos de éxito y razonamiento basado en caso para el pronóstico del resultado de la mejora constituyó una etapa significativa en la investigación. El modelo se  sustenta en los siguientes principios, enfoques, cualidades y premisas.

Los principios que sustentan el modelo son: Necesidad de integrar los factores críticos de éxito, con los indicadores que permitan a partir de la evaluación de la organización, identificar las barreras para la mejora y recomendar las buenas prácticas. Carácter participativo y de cooperación en el proceso de medición para facilitar la obtención de los datos y la calidad de las mediciones.

Los enfoques científicos empleados para la construcción del modelo son: Mejora continua: La mejora permanente, se expresa en la retroalimentación de los resultados de la mejora y el análisis del impacto del modelo. Sistémico: Se expresa en el modelo propuesto a través de la interacción de los componentes para obtener las salidas del modelo.  Estratégico: se manifiesta es que su objetivo es llevar a las organizaciones a un estado más propicio para el éxito en la mejora de procesos de software.

Las cualidades son: Integración: entre la mejora de proceso de software, la medición y análisis y la gestión de la información.  Iterativo e incremental: los resultados de aplicación puede acordar una nueva iteración y caso analizado incrementa el número de casos para elevar la calidad del pronóstico.   Capacidad de retroalimentación: el modelo parte de las necesidades de las organizaciones y se retroalimenta de los casos analizados y los resultados de su instrumentación.

Finalmente el modelo parte de la premisa de la voluntad de la alta gerencia de la organización desarrolladora de software de la necesidad de la mejora de proceso de software.

El componente Evaluación del Impacto de los Factores Críticos de Éxito, transforma los datos de la organización y el modelo de referencia deseado por la organización para evaluar los indicadores y obtener la métrica de impacto de los factores críticos de éxito. Además obtiene las medidas base que son la entrada al componente Pronóstico de la mejora basado en experiencias,  el cual con un sistema de razonamiento basado en caso determina los casos similares y realiza un análisis de los resultados de éxito y fracaso. Con la evaluación de los indicadores, la métrica de impacto de los factores críticos de éxito y el pronóstico de la mejora basado en casos similares el componente Evaluación de la organización identifica las barreras de la mejora y las buenas prácticas a recomendar, a partir de la cual la organización puede decidir si inicia o no la mejora. El modelo funcional propuesto con sus componentes y relaciones se presenta en la figura 1.

Para la implementación del modelo se deben ejecutar la metodología que se describe a continuación y se representan en la figura 2.

Configuración: en esta fase se ajustan los componentes del modelo a las características de las organización se capturan los datos primario de clasificación de la organización. Planificación y organización del diagnóstico: a partir de la  configuración del modelo para la organización, se planifican  y aseguran las actividades de recopilación de información. Se despliegan las herramientas que automatizan el procesamiento la captura y procesamiento de los datos. Ejecución del diagnóstico: se ejecutan las actividades de recopilación de información y procesamiento de la información. Se presentan los resultados a los directivos de la organización a partir de esto se decide si se inicia la mejora o no. En el primer caso la organización debe retornar el resultado de la implantación de los paquetes de mejora, y en el segundo debe implementar las buenas prácticas recomendadas y planificar una nueva iteración de diagnóstico. Evaluación del impacto del modelo: de los resultados e impactos de la implementación se analizan las lecciones aprendidas y las oportunidades de mejora  para incorporarlas o no al modelo y al proceso de implementación. Se almacena el nuevo caso en el sistema de RBC. Como parte de esta fase cada semestre se debe monitorear a partir de la implementación de la guía de revisión sistemática a la bibliografía y del análisis de tendencia de la los resultados almacenados en la Base de casos los factores críticos de éxito.

La autora de la investigación propone implementar el modelo íntegramente pero las organizaciones pueden considerar implementar las siguientes variantes:

  1. Implementar el modelo sin el componente de pronóstico de la mejora de procesos.
  2. Implementar solamente el componente de evaluación del impacto de los factores críticos de éxito.
  3. Implementar el modelo asumiendo otros factores críticos de éxito.

La primera variante es aplicable cuando las organizaciones no disponen de casos anteriores para incorporar, pero es muy importante para la mejora continua ir incorporando estos casos. La segunda es poco recomendada por los expertos pues aunque obtiene las salidas más importantes del modelo no ejecuta la evaluación de la organización y esta es indispensable para la toma de decisiones, en este caso se recomienda que la organización establezca como mínimo la actividad de presentación de los resultados a los directivos. La tercera variante establece que el modelo se puede implementar con los factores críticos de éxito que se propone la autora o asumir otros que se encuentran en la bibliografía. La formulación de los indicadores y la métrica de evaluación del impacto así lo permiten, pero es importante en este caso que la organización si decide incorporar los factores tiene que determinar los coeficientes de ponderación, los instrumentos para recopilar la información y la variable causal con la que se corresponde. Esta variante es importante analizarla siempre pues los factores críticos de éxito y su coeficiente de ponderación varía en función de las características contextuales de la organización.

Validación experimental

Para la validación experimental se definieron como variable independiente: Efecto de la implementación del modelo y como variable independiente: Nivel de impacto de los factores críticos de éxito. Se aplicaron dos grados de manipulación  sin estímulo y con estímulo experimental. Para esto se forman dos grupos, un grupo de control y  un grupo experimental. Para medir el efecto de la variable independiente sobre la variable dependiente se propone aplicar la métrica, y luego entrevistas a profundidad, aplicando los mismos instrumentos en los dos grupos, pero en cada prueba se aplicaron guías diferentes y se realizaron por el equipo de diagnósticos del Centro Nacional de Calidad de Software (Calisoft) para evitar que el investigador influya en el cuasiexperimento. Como candidatos para el cuasiexperimento se usaron  los 14 centros de desarrollo de software que conforman la Red de Centros de la Universidad de las Ciencias Informáticas.

Para la hipótesis de la investigación se considera como el cuasiexperimento más adecuado aplicar series cronológicas múltiples con dos prepruebas, dos postpruebas con grupo de control, pues este tipo de cuasiexperimento es adecuado para analizar efectos en el mediano o largo plazo, porque tiene bases para suponer que la influencia de la variable independiente sobre la dependiente como es el caso tarda en manifestarse. Se propone aplicar los indicadores y la métrica propuesta a los dos grupos, comparar si las diferencias son significativas entre los dos grupos.

Para conducir el cuasiexperimento se planifica aplicar de forma simultánea en todos los centros la evaluación del impacto de los factores críticos de éxito con la implementación de este componente del modelo. Cinco días después, a partir de los resultados se analizan las relaciones entre las barreras identificadas de la implementación del modelo con los riesgos identificados en los centros y las buenas prácticas con las acciones de mitigación de riesgo, respectivamente. Pasados 5 días, a los centros del grupo experimental se le presentan los resultados de evaluación de los indicadores y la métrica, mostrando las barreras y las buenas prácticas recomendadas, de esta manera queda aplicado el estímulo a los centros del grupo experimental.  Después de 15 días se analiza el plan de gestión de riesgos. A los 3 meses, se aplica entrevistas a profundidad a las organizaciones que forman los dos grupos experimentales para analizar el impacto negativo de los factores críticos de éxito en la materialización de los riesgos. Se espera que en el grupo de control se materialicen los riesgo que fueron identificados como barreras con el uso de los indicadores y que los avances de la mejora este de acuerdo con lo previsto en la métrica. En los grupos experimentales que no se hayan materializados los riesgo pues ellos contaban  con las barreras y las buenas prácticas para mitigarlos. El resultado de la mejora debe evolucionar un grado mejor de lo previsto por la métrica(ver figura 3 y figura 4).

Para formar los grupos se selecciona al azar los  centros los primeros 7 forman el grupo experimental y los restantes forman el grupo de control. Para alcanzar mayor control sobre el cuasiexperimiento se trazan las siguientes acciones para minimizar las fuentes de invalidación interna que no son solubles por el tipo de cuasiexperimento seleccionado:
Historia: se monitorea cada una de las organizaciones que conforman los grupos para impedir que en el periodo del cuasiexperimento se reciba algún estimulo que afecta la variables dependiente.

  1. Maduración: Se propone desarrollarlo en 4 meses lo cual no es un tiempo en el cual deba afectarse la maduración de las organizaciones.
  2. Inestabilidad: Las personas involucradas en el proceso de medición son estables y las mediciones confiables e iguales para  todas las organizaciones de los grupos.
  3. Administración de pruebas: se aplicaran pruebas diferentes, al inicio se aplicaran los indicadores y la métrica y al termino las encuestas y entrevistas a profundidad.
  4. Regresión estadística: las mediciones estarán correlacionadas minimizando este impacto.
  5. Mortalidad experimental: se prestara especial atención en el monitoreo para evitar la influencia de esta fuente.

A partir de aplicar el modelo en el cuasiexperimento se detecta que existen dos contribuciones importantes en la aplicación del modelo en estas organizaciones, uno relativo a que evalúa la organización integralmente aportando al análisis de los riesgos información objetiva y tangible a partir de estar fundamentada en datos y las condiciones de la organización y prepara a la organización para enfrentar el impacto negativo de los FCE, concentrando sus esfuerzos en aquellos que más le afectan. La segunda contribución es a disminuir el impacto de los FCE en las organizaciones a partir de disminuir los riesgos que se materializan durante la MPS.

 

CONCLUSIONES

El modelo propuesto integra los factores críticos de éxito y las buenas prácticas de la mejora de proceso de software e incide en el punto de partida de la mejora de proceso. Los resultados de la valoración del modelo y la validación de la hipótesis apoyan que su aplicación minimiza el impacto negativo de los factores críticos de éxito. Almacenar y reutilizar la experiencia en términos de factores críticos de éxito y buenas prácticas permite apoyar las decisiones de los que apliquen el modelo propuesto en la identificación de las barreras y las buenas prácticas a recomendar. Los resultados de la investigación resultan valiosos para las organizaciones de software cubanas, en tanto crean las bases para impulsar la mejora de proceso de software.

 

AGRADECIMIENTOS

El colectivo de autores agradece a los expertos e instituciones que apoyaron la investigación e hicieron posible mostrar los resultados que se exponen.

 

REFERENCIAS BIBLIOGRÁFICAS

ALLISON, I. Organizational Factors Shaping Software Process Improvement in Small-Medium Sized Software Teams: A Multi-Case Analysis. Proceedings of the 2010 Seventh International Conference on the Quality of In-formation and Communications Technology. 2010, IEEE Computer Society. p. 418-423.

GALINAC, T. Empirical evaluation of selected best practices in implementation of software process improvement. Inf. Softw. Technol., 2009, 51 (9): p. 1351-1364.

KHAN, S.U., M. NIAZI, AND R. AHMAD. Barri-ers in the selection of offshore software de-velopment outsourcing vendors: An exploratory study using a systematic literature review. Inf. Softw. Technol., 2011, 53 (7): p. 693-706.

MESQUIDA, A.L., ET AL. IT Service Manage-ment Process Improvement based on ISO/IEC 15504: A systematic review. Inf. Softw. Technol., 2012, 54 (3): p. 239-247.

MÜLLER, S.D., L. MATHIASSEN, AND H.H. BALSHOJ. Software Process Improvement as organizational change: A metaphorical analy-sis of the literature. J. Syst. Softw., 2010, 83 (11): p. 2128-2146.

NIAZI, M., M.A. BABAR, AND J.M. VERNER. Software Process Improvement barriers: A cross-cultural comparison. Inf. Softw. Tech-nol., 2010, 52 (11): p. 1204-1216.

PAUL CLARKE AND R. O’CONNOR. Harnessing ISO/IEC 12207 to Examine the Extent of SPI Activity in an Organisation. Communications in Computer and Information Science, 2010, 99: p. 25-36.

PINO, F.J., F. GARCIA, AND M. PIATTINI. Key processes to start software process im-provement in small companies. Proceed-ings of the 2009 ACM symposium on Applied Computing. 2009, ACM: Honolulu, Hawaii, 2009, p. 509-516.

SULAYMAN, M., ET AL. Software process im-provement success factors for small and me-dium Web companies: A qualitative study. Inf. Softw. Technol., 2012, 54 (5): p. 479-500.

TRUJILLO CASAÑOLA, Y., ET AL. Variables para valorar una organización al iniciar la mejora de procesos de software, in 16 Convención Científica de Ingeniería y Arquitectura-CUJAE. 2012. p. 13

TRUJILLO, C. Y.; FEBLES, E. A.; LEÓN, R. G.; BETANCOURT. La gestión de la información y los factores críticos de éxito en la mejora de procesos de software. Revista Científica del Instituto de información y tecnología. 2013, 44  (3): p

WAN, J. AND R. WANG. Empirical Research on Critical Success Factors of Agile Software Process Improvement. Journal of Software Engineering and Applications, 2010, 3 (12): p. 1131-1140.

 

 

Recibido: 7/05/2014
Aceptado: 23/05/2014