Modelo para la mejora o evaluación de
los procesos de desarrollo y mantenimiento de sistemas y productos
de software. Desarrollado por el Instituto de Ingeniería
del Software de la Universidad Carneige Mellon (SEI), y publicado
en su primera versión en enero de 2002. CMMI es un conjunto
de modelos que proveen orientación para diseñar procesos
efectivos, en distintos dominios, dentro del ámbito de una
organización. Estos dominios son Ingeniería de Software,
Ingeniería de Sistemas, Desarrollo integrado de productos
y procesos, Gestión de Proveedores para Proyectos. Los dominios
elegidos para este programa son el de Ingeniería de Software
e Ingeniería de Sistemas. CMMI tiene como objetivo el mejoramiento
continuo de la calidad de los procesos y productos de una organización
y provee una guía para este mejoramiento continuo estableciendo
niveles de madurez: Inicial, Gestionado, Definido, Cuantitativamente
Gestionado y Optimizado.
Modelos de madurez en CMMI
1. Inicial - Estado inicial donde el desarrollo se basa en la
heroicidad y responsabilidad de los individuos.
Los procedimientos son inexistentes o localizados a áreas
concretas.
No existen plantillas definidas a nivel corporativo.
2. Gestionado - Se normalizan las buenas prácticas en el
desarrollo de proyectos (en base a la experiencia y al método).
En este nivel consolidado, las buenas prácticas se mantienen
en los momentos de estrés.
Están definidos los productos a realizar.
Se definen hitos para la revisión de los productos.
3. Definido - La organización entera participa en el proceso
eficiente de proyecto software.
Se conoce de antemano los procesos de construcción de software.
Existen métodos y plantillas bien definidas y documentados.
Los procesos no solo afectan a los equipos de desarrollo sino a
toda la organización relacionada.
Los proyectos se pueden definir cualitativamente.
4. Cuantitativamente Gestionado
Se puede seguir con indicadores numéricos (estadísticos)
la evolución de los proyectos.
Las estadísticas son almacenadas para aprovechar su aportación
en siguientes proyectos.
Los proyectos se pueden pedir cuantitativamente.
5. Optimizado
En base a criterios cuantitativos se pueden determinar las desviaciones
más comunes y optimizar procesos.
En los siguientes proyectos se produce una reducción de costes
gracias a la anticipación de problemas y la continua
revisión de procesos conflictivos.}

¿Qué tener en cuenta durante la implantación
de CMMI?
La visión que debe tener una compañía que
quiera implementar CMMI como modelo de referencia en su organización
es la de un proyecto de cambio. Se van a sustituir prácticas
y herramientas ya asentadas en la empresa, para cumplir con un modelo
que predica prácticas diferentes para la construcción
de sistemas de información. Realmente el cambio que hay que
conseguir es un cambio cultural dentro de TI, lo cual no es una
tarea sencilla ni rápida, sobre todo en organizaciones que
llevan realizando las mismas actividades durante muchos años.
CMMI debe ser presentado a la empresa como algo positivo que va
a mejorar el nivel profesional del personal de TI y que va a hacer
a la organización más eficiente. Debe hacerse un análisis
para cada segmento afectado en la empresa y describir los beneficios
y también sacrificios, que van a tener que realizarse a corto
y medio plazo.
Una vez realizada la evaluación inicial y conocido el nivel
actual de TI con respecto al modelo debe definirse un programa de
implantación de CMMI detallado. Debe definirse qué
personas están implicadas, qué procesos son los afectados,
cuáles son objetivos a cumplir y cuál va a ser el
calendario previsto. Es muy importante que la implantación
esté coordinada por una unidad estable y que en el seguimiento
se implique la dirección de TI.
Con respecto a la redefinición de procesos, se formarán
grupos de mejora que deberían estar compuestos por un conocedor
del proceso según el modelo, que dinamice el grupo y presente
propuestas, un responsable del proceso en la organización
y tantas personas como fuera necesario, conocedores e implicados
en el propio proceso. Antes de proponer cualquier mejora es importante
conocer la opinión de los implicados y conocer sus prácticas
actuales, opiniones y motivaciones sobre todo en el campo de las
herramientas a utilizar. Hay que evitar soluciones apoteósicas,
cosa muy habitual en este tipo de proyectos.
Alcanzar el éxito
Los puntos clave que han hecho a las organizaciones tener éxito
en la implantación de CMMI son los siguientes:
• La dirección debe visionar el proceso de mejora
a través de CMMI, entenderlo y apoyarlo públicamente,
demostrando su compromiso. Así mismo, la propia dirección
de TI debe estar implicada en el seguimiento del programa de cambio.
• Se debe contar con la ayuda necesaria de personas expertas
que ayuden a la compañía a definir e implantar el
programa de cambio.
• Es necesario conocer las debilidades y fortalezas de TI
antes de definir el citado programa de CMMI, implicando desde el
principio a los agentes afectados. La resistencia al cambio debe
ser gestionada desde el principio.
• A la hora de planificar, se debe conocer y asumir los plazos
de este tipo de proyectos. Normalmente un programa para llevar a
una organización a nivel 3 está de 18 a 20 meses en
función de su punto de origen. La compresión del tiempo
dará un resultado negativo en la mayoría de las ocasiones.
Las soluciones rápidas realizadas por otros no crearán
la cultura en la organización, que es de lo que se trata.
• Se deben definir herramientas de gestión que sean
adecuadas a la empresa, evitando interpretaciones burocráticas
en exceso que obstaculicen la implantación y mantenimiento
del modelo.
Áreas de proceso
Las áreas de proceso que ayuda a mejorar o evaluar CMMI
son 22 en la versión que integra desarrollo de software e
ingeniería de sistemas (CMMI-SE/SW) y 25 en la que cubre
también integración de producto (CMMI-SE/SW/IPPD).
Áreas de proceso de CMMI (Capability Maturity Model Integration)
| Área de proceso |
Categoría |
Nivel de madurez |
| Análisis y resolución de problemas |
Soporte |
5 |
| Gestión de la configuración |
Soporte |
2 |
| Análisis y resolución de decisiones |
Soporte |
3 |
| Gestión integral de proyecto |
Gestión de proyectos |
3 |
| Gestión integral de proveedores |
Gestión de proyectos |
3 |
| Gestión de equipos |
Gestión de proyectos |
3 |
| Medición y análisis |
Suporte |
2 |
Entorno organizativo para integración |
Soporte |
3 |
| Innovación y desarrollo |
Gestión de procesos |
5 |
| Definición de procesos |
Gestión de procesos |
3 |
Procesos orientados a la organización |
Gestión de procesos |
3 |
| Rendimiento de los procesos de la org. |
Gestión de procesos |
4 |
| Formación |
Gestión de procesos |
3 |
| Integración de producto |
Ingeniería |
3 |
| Monitorización y control de proyecto |
Gestión de proyectos |
2 |
| Planificación de proyecto |
Gesitón de proyectos |
2 |
| Gestión calidad procesos y productos |
Soporte |
2 |
| Gestión cuantitativa de proyectos |
Gestión de proyectos |
4 |
| Desarrollo de requisitos |
Ingeniería |
3 |
| Gestión de requisitos |
Ingeniería |
2 |
| Gestión de riesgos |
Gestión de proyectos |
3 |
| Gestión y acuerdo con proveedores |
Gestión de proyectos |
2 |
| Solución técnica |
Ingeniería |
3 |
| Validación |
Ingeniería |
3 |
| Verificación |
Ingeniería |
3 |
|