Descargar

Consideraciones sobre los modelos Competisof, Moprosoft, MPS.BR en comparación con CMMI-DEV

Enviado por Zucel Peña González


  1. Resumen
  2. Introducción
  3. Modelo Competisoft
  4. Modelo Moprosoft
  5. MPS.BR
  6. CMMI-DEV
  7. Consideraciones generales
  8. Conclusiones
  9. Referencias bibliográficas

Resumen

A lo largo del tiempo han surgido diferentes modelos para evaluar la calidad del software. El objetivo de estos modelos consiste en mejorar los procesos de desarrollo de modo que los proyectos sean más predecibles en tiempo y costo. Persiguen además la reducción de los riesgos en el proceso de desarrollo dado que este afecta directamente al ahorro del costo. En la actualidad, existe una diversidad de modelos, enfocados a diferentes realidades y contextos. Entre los modelos más difundidos se encuentran: Competisoft (alternativa iberoamericana), MoProSoft (alternativa iberoamericana), MPS.BR (alternativa brasileña) y CMMI-DEV (CMMI para el desarrollo). En el trabajo se presentan algunas consideraciones sobre los tres primeros modelos en comparación con el último.

Palabras claves: PyMES, Competisoft, MoProSoft, MPS.BR, CMMI-DEV.

ABSTRACT: Throughout time there have been different models to evaluate the quality of software. The goal of these models is to improve the development processes so that projects are more predictable in time and cost. Further pursue the reduction of risks in the development process as this directly affects the cost savings. At present, a variety of models tailored to different situations and contexts. Among the most widely used models are: Competisoft (Iberoamerican alternative) MOPROSOFT (Mexican alternative) MPS.BR (Brazilian alternative) and CMMI-DEV (CMMI for Development). Some thoughts on the first three models compared to the latter is presented in this paper.

Key words: PyMES, Competisoft, MoProSoft, MPS.BR, CMMI-DEV.

Introducción

Los temas de mejora de procesos y calidad de software adquieren gran importancia para aquellas empresas que quieren brindar servicios y productos con una mejor calidad. Garantizar un nivel de calidad aceptable es la forma que tienen las empresas de indicar a quienes adquieren sus productos o servicios, que cuentan con sus procesos y prácticas bien formalizados y controlados, así como un buen manejo de los riesgos asociados al desarrollo de software. Un error que implique una hora en su corrección en el momento en que se definen los requisitos del sistema implica al menos 100 horas de trabajo, si no se detecta, hasta que el sistema esté en la fase de producción [1]. Dicho argumento es vital para saber que la mejora de procesos de software puede ser una estrategia importante para las empresas que deseen solucionar o evitar este tipo de contratiempos.

Obtener resultados concretos en el contexto real sobre la utilización de métodos y modelos propuestos para apoyar la calidad del software es un aporte importante para el sector de la industria del software. Es así como a lo largo del tiempo han surgido diferentes modelos para evaluar la calidad del software, que intentan descomponer la calidad en una categoría de características más sencillas. Un modelo de calidad es un conjunto de buenas prácticas vinculadas a los procesos de gestión y desarrollo de proyectos. Este modelo supone una planificación para alcanzar un impacto estratégico, cumpliendo con los objetivos fijados en lo referente a la calidad del producto o servicio. El objetivo de estos modelos consiste en mejorar los procesos de desarrollo de modo que los proyectos sean más predecibles en tiempo y costo. La aplicación de modelos de calidad favorece a la mejora continua, establece procesos estándares con insumos y resultados medibles, reduce costos y promueve la eficiencia. Las empresas se ven beneficiadas al poder ofrecer a sus clientes productos de mayor calidad y seguridad cumplidos en los tiempos previstos [2].

El éxito de un proceso de mejora depende en gran medida del compromiso que se tenga desde la alta gerencia, pues ella influye de manera determinante en el desempeño del resto del personal de la empresa. Asimismo, una actitud visionaria es tal vez una de las mejores estrategias dentro de las organizaciones.

Modelo Competisoft

El Modelo de Procesos de Competisoft está dirigido a las empresas o áreas internas dedicadas al desarrollo y/o mantenimiento de software. Además de definir procesos Competisoft define un patrón que debe ser utilizado para documentar aquellos procesos que una empresa requiere agregar a los existentes en el modelo o para documentar la adecuación de los que ya se encuentra en el mismo.

El Proyecto Competisoft tiene como objetivo la Mejora de Procesos Software de las PyMES (pequeñas y medianas empresas de desarrollo de software). Busca establecer un marco metodológico común que sirva a las empresas que deseen lograr altos niveles de madurez y calidad en el desarrollo de software.

El Modelo de Referencia de Procesos de Competisoft, establece tres categorías principales (Alta Dirección, Gerencia, Operación), las cuales están compuestas por diez procesos [3].

Se definen cinco niveles de madurez para estos procesos como se muestra en la figura:

edu.red

Figura 1: Niveles de madurez de los procesos de Competisoft.

Un nivel de madurez es una meseta evolutiva definida para la mejora de procesos de la organización. Competisoft busca ser una alternativa a otros modelos, como CMMI o las normas ISO, pero focalizándose principalmente en las PyMES, las cuales no pueden muchas veces afrontar el costo que implican estas últimas. Asegurar la calidad de los productos y procesos software, es clave para mejorar la competitividad de las empresas.

COMPETISOFT & CMMI-DEV

Existen características coincidentes entre el modelo COMPETISFOT y CMMI, por ejemplo: ambos modelos caen en la categoría de modelos descriptivos, puesto que no prescriben métodos o prácticas específicas para realizar las diversas actividades. Sin embargo se percibe que al definir una estructura de procesos, con actividades, roles y caracterización de productos, el modelo Competisoft avanza un poco en establecer la manera de diseñar los procesos y por lo tanto representa una guía útil para una organización [4].

CMMI define que los procesos deben estar alineados para cumplir los objetivos estratégicos pero no establece un proceso para definirlos, Competisoft por su parte, considera el proceso de Gestión de Negocio para definir la visión estratégica de la organización. La descripción de los roles con sus competencias y los diversos artefactos con sus contenidos, así como el patrón de procesos que propone el modelo de Competisoft, es una referencia útil para la revisión de la manera como la organización define sus procesos [5].

Modelo Moprosoft

El Modelo de Procesos para la Industria de Software, tiene por objetivo proporcionar a la industria mexicana, y a las áreas internas dedicadas al desarrollo y mantenimiento de software, un conjunto integrado de las mejores prácticas basadas en los modelos y estándares reconocidos internacionalmente, tales como ISO 9000:2000, CMM-SW, ISO/IEC 15504, PMBOK, SWEBOK entre otros[4]. La figura muestra los niveles de madurez del modelo MoProSoft.

edu.red

Figura 2: Niveles de madurez de los procesos de MoProSoft.

El modelo pretende apoyar a las organizaciones en la estandarización de sus prácticas, en la evaluación de su efectividad y en la integración de la mejora continua. Sintetiza las mejores prácticas en un conjunto pequeño de procesos que abarcan las responsabilidades asociadas a la estructura de una organización que son: Alta Dirección, Gestión y Operación. MoProSoft es un modelo integrado donde las salidas de un proceso están claramente dirigidas como entradas a otros; las prácticas de planeación, seguimiento y evaluación se incluyeron en todos los procesos de gestión y administración.

En [5], el autor luego de realizar un estudio, propone un modelo de calidad para microempresas pero basado en el modelo mejicano, la hipótesis del estudio fue: "MOPROSOFT puede ser reducido y adecuado a las microempresas, creando un modelo de calidad para ellas basándose en las prácticas más comunes y obtener un modelo sobre el cual puede ser creado un sistema", porque se quería agilizar los procesos y reducir el tiempo de entrega del producto final. Teniendo en cuenta encuestas que se realizaron a 114 empresas dedicadas al desarrollo de software en México en el 2007, y que el 86% de esas empresas ha considerado algún modelo de aseguramiento de la calidad del software. De ese porcentaje el 44.11% elige MoProSoft y el 26.47% se inclina por CMMI.

Tomando MoProSoft como base se propone el nuevo modelo pero había procesos en algunos niveles del modelo base que debían ser descartados, principalmente algunos muy pesados o difíciles de cubrir a nivel de Gerencia y se eliminó el de Alta dirección, que para el entorno de las microempresas podía ser cubierto por la Gerencia y describir así algunos nuevos procesos para el nuevo modelo.

MOPROSOFT & CMMI-DEV

Ventajas de los modelos

MoProSoft : el incremento en la eficiencia y productividad, seguido por la satisfacción del cliente y mayor percepción/recepción de calidad. Utiliza diagramas de actividades entre procesos que ayudan a entender mejor su relación y sintetiza las mejores prácticas [5].

CMMI-DEV: mejor documentación de los sistemas, mayor percepción/recepción de calidad y mejor satisfacción del cliente. Asegura que los procesos asociados con cada área serán efectivos, repetibles y duraderos, orienta paso a paso la mejora a través de los niveles de madurez [6].

Desventajas de los modelos

MoProSoft: no motivar a todos los niveles de la empresa. No tiene una evaluación por vigencia y no es aplicable como norma internacional [7].

CMMI-DEV: es necesario aumentar el control del personal en sus actividades. Puede llegar a ser excesivamente detallado para algunas organizaciones y quizás difícil de entender. El costo de implantación más alto que el de los otros modelos [8].

MPS.BR

Es un modelo de mejora y evaluación de proceso de software para las micro, pequeñas y medianas empresas relacionadas a la industria del software del Brasil, el cual cuenta con el Apoyo del Ministerio de Ciencia y Tecnología, de la Financiera de Estudios y Proyectos y del Banco Interamericano de Desarrollo. Este modelo es basado en las normas internacionales ISO/IEC 12207, ISO/IEC 15504 y CMMI-DEV. Con el objetivo de desarrollar y diseminar un modelos de procesos de software (el modelo MPS), con el fin de establecer un camino económicamente viable para que las organizaciones incluyendo las PyMES, logren beneficios de la mejora de procesos y de la utilización de buenas prácticas de ingeniería de software en un intervalo de tiempo justo y a un coste razonable [9]. La figura muestra la evolución de la mejora del proceso de software Brasileño.

edu.red

Figura 3: Evolución de la mejora del proceso de software Brasileño.

MPS.BR & CMMI-DEV

Los modelos CMMI y MPS.BR tienen una estrecha relación, se puede observar en siguiente figura:

edu.red

Figura 4. Muestra relación entre los niveles de CMMI y MPS.BR.

Perfil de la Madurez MPS – CMMI en el Brasil

El modelo MPS es plenamente compatible con el CMMI, posibilitando la realización de Evaluaciones MPS-CMMI tanto complementarias como conjuntas [10].

El mapeo técnico entre los dos modelos muestra que los siguientes niveles de madurez son equivalentes:

MPS-nivel F con CMMI-nivel 2

MPS-nivel C con CMMI-nivel 3

MPS-nivel B con CMMI-nivel 4

MPS-nivel A con CMMI-nivel 5

De 2007 a 2012, fueron realizadas 585 empresas evaluadas en sus procesos de software en Brasil, 174 usan CMMI-DEV (un 30% que no usa el MPS.BR).

CMMI-DEV

CMMI (Capability Maturity Model Integrated): Es una familia de las mejores prácticas para apoyar la mejora de las organizaciones de desarrollo, servicios y adquisiciones. Define prácticas que los negocios han implementado en su camino hacia el éxito. Estas prácticas cubren temas que incluyen la gestión de requerimientos, la toma de decisiones, medición de desempeño, planeación del trabajo, manejo de riesgos y más. El CMMI es publicado por el Software Engineering Institute (SEI) de la Universidad Carnegie Mellon. Estas mejores prácticas de CMMI son para apoyar la mejora de la organización y hacerla más competitiva. En la actualidad hay tres modelos de CMMI, CMMI para el Desarrollo (CMMI-DEV) es uno de ellos, y constituye un modelo apoya las mejoras en las organizaciones que desarrollan software, sistemas y hardware, en sectores como salud, organizaciones de logística o de consultoría. CMMI para el Desarrollo es un modelo de mejora de procesos sólo para empresas grandes y PyMES [8].

En la figura se muestra una gráfica de como en España hasta marzo del 2010 en un estudio realizado existían 180 empresas habían evaluado sus procesos con CMMI. Se puede observar en la figura 5 un crecimiento significativo en la cantidad de empresas que obtuvieron evaluaciones CMMI en ese país [8].

edu.red

Figura 5: Gráfica de evolución de evaluaciones CMMI en España.

Es válido mencionar que ya en ese país a esa fecha habían surgido iniciativas regionales de mejoras, que se pueden apreciar en la figura:

edu.red

Figura 6. Iniciativas regionales en España en el año 2010.

Consideraciones generales

Los modelos CMMI-DEV, MoProSoft y Competisoft están orientados a la calidad de los procesos de empresas que se dedican al desarrollo y/o mantenimiento de sistemas y productos de software. Los modelos CMMI y MoProSoft, ambos hacen referencia al nivel de madurez en una organización. CMMI-DEV es para empresas grandes, MoProSoft y Competisoft son para PyMES y microempresas [11].

En la tabla se pueden observar los procesos relacionados con la gestión del conocimiento de cada uno de los modelos, por ejemplo los modelos MPS.BR y CMMI-DEV tienen dos procesos comunes. Competisoft y MoProSoft relacionados con la gestión del conocimiento coinciden, esto se debe a que los componentes del marco metodológico de Competisoft están basados en gran medida en MoProSoft v1.3.

Tabla 1. Relación entre modelos y procesos relacionados con la gestión del conocimiento.

Modelos

Procesos relacionados con la gestión del conocimiento

MPS.BR

Gestión de la configuración.

Definición de procesos organizacionales.

Gestión de los Recursos Humanos.

Desarrollo para la reutilización.

CMMI-DEV

Gestión de la configuración.

Definición de procesos organizacionales.

Entrenamiento organizacional.

Competisoft

Gestión de los procesos.

Gestión de los Recursos Humanos y del entorno de trabajo.

Conocimiento organizacional.

MoProSoft

Gestión de los procesos.

Gestión de los Recursos Humanos y del entorno de trabajo.

Conocimiento organizacional.

Conclusiones

La finalidad un modelo de procesos es lograr una representación clara de los procesos reales de desarrollo que se implementan en una organización, con la cual poder trabajar para planificar las mejoras a incluir en cada uno de esos procesos. Si la representación conceptual del proceso es buena, los análisis de estos procesos sobre el papel permitirán a la empresa la posibilidad de automatizarlos, controlar su eficiencia, comprobar las interacciones con otros procesos, y ofrecer a la Dirección una nueva fuente de información, como puede ser la información actual del estado de cada proceso en cualquier momento. La mejora del producto final pasa, según estos modelos, por la mejora de los procesos que llevan a su creación. La adopción del modelo o metodología adecuados podrá realizar esta mejora con una correcta implantación, dotando implícitamente al producto final de una calidad manifiesta.

Referencias bibliográficas

  • 1. Boehm, Barry W. Software engineering economics. Engle-wood Cliffs, NJ: Prentice-Hall. 1981.

  • 2. Estayno, M.; Dapozo, G.; Greiner, C.; Cuenca Pletch, L.; Pelozo, S. CACIC. Congreso Argentino de Ciencias de la Computación. "Caracterización de las Pymes de software de la región NEA orientada hacia un marco de la mejora de calidad". Universidad Nacional del Nordeste. 2009.

  • 3. Oktaba, H.; Piattin, M.; Pino, F. J.; Orozco, M.J.; Alquicira, C. COMPETISOFT. "Mejora de procesos para pequeñas y medianas empresas y proyectos". 2009. Alfaomega. México. ISBN: 9786077686170.

  • 4. Proyecto Competisoft. "Mejora de procesos para fomentar la competitividad de PYMES de Iberoamérica". Diciembre 2008.

  • 5. Garzás, J. Calidad de procesos y productos. "Evaluación y mejora de los procesos de software". Santander. Junio de 2010.

  • 6. Flores, S. "Modelo de calidad para la microempresa basado en MOPROSOFT". Facultad de Telemática. Colima, Col. Febrero de 2012.

  • 7. Oktaba, H. "MoProSoft: A Software Process Model for Small Enterprises. Proceedings of International Research Workshop for Process Improvement in Small Settings". 2005. http://www.bax.com.br/teaching/courses/principiosSI/workshop-CMMinPMEs/2005-p111-199.pdf

  • 8. CHRISSIS, MB, Konrad, M., y Shrum, S. "CMMI para el Desarrollo: Guía para el proceso de integración y de mejora de productos". 3ra edición. Addison-Wesley Professional. 2011.

  • 9. SOFTEX. "MPS.BR: Mejora de Proceso del Software Brasileño. Guía General". Brasil. 2011.

  • 10. Franco, N. "Programa MPS.BR y Modelo MPS: Abordaje Holística para la mejora de procesos". Buenos Aires, Argentina. Septiembre del 2013.

  • 11. Oktaba, H., García, F., Piattini, M. Ruiz, F., Pino, FJ, y Alquicira, C. "Mejora de Procesos de Software: El Proyecto Competisoft". Computer. 2007.

.

 

 

Autor:

Zucel Peña González1

1 Universidad de Oriente, Cuba,

calle 3ra # 305 % E y F rpto Sueño.

Santiago de Cuba