CMM

Modelo de capacidad de madurez CMM (Capability Maturity Model). Es un modelo para mejorar el proceso de desarrollo de software.

En 1984, el departamento de defensa de los Estados Unidos de América establece el SEI (Software Engineering Institute) en la Universidad de Carnegie Mellon, con la finalidad de encontrar una valoración de sus contratistas. CMM significó para el departamento de defensa una mejora en cuanto a los productos y servicios que empleaba.

Mark Paulk y otros en el SEI crearon el primer modelo de madurez de capacidad, diseñado para organizaciones de desarrollo software. SW CMM había sido el principal producto del SEI, liberado en 1991. Este modelo permitió a las organizaciones a mejorar la eficiencia en el desarrollo de la calidad de los productos de software.

El modelo de madurez de las capacidades es un modelo de referencia de prácticas maduras en una disciplina específica, utilizada para evaluar la capacidad de los grupos para desempeñar esa disciplina.

La capacidad del proceso de software describe el rango de resultados esperados que se obtienen siguiendo un proceso de software.

La madurez del proceso de software es cuando un proceso en específico es definido explícitamente, administrado, medido, controlado y es efectivo.

El objetivo de un proceso de software maduro es producir productos de calidad que cumplan con las especificaciones.

CMM dirige su enfoque a la mejora de procesos en una organización, estudia los procesos de desarrollo y produce una evaluación de la madurez de la organización según una escala de cinco niveles:

1. Inicial. El proceso de software es un proceso improvisado y caótico.

2. Repetible. Se establecen procedimientos de administración del proceso que son básicos para determinar costos, calendarios y funcionalidad.

3. Definido. El proceso de software para las actividades administrativas y técnicas se encuentra documentado, estandarizado e integrado dentro de la organización.

4. Administrado. Se recolectan medidas detalladas del proceso de software y de la calidad del producto. Son cuantitativamente entendidos y controlados.

5. Optimizado. El mejoramiento continuo del proceso es garantizado por la retroalimentación cuantitativa desde el proceso y las pruebas de técnicas y herramientas innovadoras.

Los modelos contienen los elementos esenciales de procesos efectivos para una o más disciplinas y describen el camino para evolucionar y mejorar desde procesos inmaduros a procesos disciplinados, maduros con calidad y eficiencia mejorada y probada.

Debido al éxito de SW CMM y a la demanda de modelos en otras áreas, el SEI desarrolló otros modelos de CMM, conformados de la siguiente manera:

– Systems engineering SE – CMM
– Integrated product development IPD – CMM
– Software Acquisition SA – CMM
– Human resources People – CMM
– Software SW – CMM

Aunque los modelos habían sido útiles para muchas organizaciones, el uso de múltiples modelos se había vuelto problemático. Muchas organizaciones querían enfocar sus esfuerzos a través de diferentes disciplinas. Pero la diferencia entre cada uno de los modelos, arquitectura, contenido y acercamiento, limitaban la habilidad de las organizaciones para enfocar sus mejoras de manera exitosa. Aplicar múltiples modelos que no se encontraban integrados se volvía costoso en términos de capacitación, valoración y actividades de mejora.

CMMI fue elaborado para solucionar el problema de múltiples CMMs. El objetivo consistía en combinar tres modelos:

– SW – CMM
– System engineering capability model (EIA 731)
– IPD – CMM

Estos tres modelos fueron seleccionados por su amplia aceptación y los diferentes accesos para mejorar procesos en una organización. CMMI fue liberado por el SEI en el 2002.

Fuente: Apuntes de Ingeniería del Software de la FCA de la UNAM