CMMI (Capability Maturity Model Integration)
El Instituto de Ingeniería de Software de los Estados Unidos (Software Engineering Institute, o SEI por sus siglas en inglés) es un organismo financiado por el Gobierno Federal de Estados Unidos y operado por la universidad Carnegie Mellon de este mismo país.
El SEI existe para ayudar a las organizaciones a mejorar el estado de las prácticas de ingeniería, su meta es proporcionar a las organizaciones las pautas de actuación necesarias para obtener mejoras observables en su proceso de desarrollo del software, de manera que desarrollen productos sin defectos respetando requerimientos, fechas y costos.
Esto se consigue mediante el cumplimiento de cuatro objetivos:
· Acelerar la introducción, en las organizaciones de producción de software, de las prácticas y técnicas de ingeniería del software más eficaces y eficientes, identificando, evaluando y mejorando aquellas que se consideren útiles.
· Mantener a largo plazo la competitividad en ingeniería del software y en la gestión del cambio tecnológico.
· Habilitar a organizaciones privadas y públicas, trabajando con ellas, para que hagan mejoras en sus prácticas de ingeniería del software.
· Fomentar la adopción y uso continuo de estándares de excelencia en prácticas de ingeniería del software.
A partir de noviembre de 1986 el SEI, a requerimiento del Gobierno Federal de los Estados Unidos de América, desarrolló una primera definición de un modelo de madurez de procesos en el desarrollo de software, que se publicó en septiembre de 1987. Este trabajo evolucionó al modelo CMM o SWCMM (CMM for Software), cuya última versión (v1.1) se publicó en febrero de 1993. Este modelo establece un conjunto de prácticas o procesos clave agrupados en Áreas de Proceso Clave (KPA - Key Process Area). Para cada área de proceso define un conjunto de buenas prácticas que habrán de ser: Definidas en un procedimiento documentado Provistas (la organización) de los medios y formación necesarios. Ejecutadas de un modo sistemático, universal y uniforme (institucionalizadas)
Medidas, Verificadas. A su vez estas Áreas de Proceso se agrupan en cinco "niveles de madurez", de modo que una organización que tenga institucionalizadas todas las prácticas incluidas en un nivel y sus inferiores, se considera que ha alcanzado ese nivel de madurez.
El valor obtenido es un indicador de toda la empresa, aunque puede darse el caso de que en algún departamento tenga un nivel de madurez mayor o inferior al resultante.
Los niveles de madurez del proceso son cinco:
1 - Inicial. Las organizaciones en este nivel no disponen de un ambiente estable para el desarrollo y mantenimiento de software. Aunque se utilicen técnicas correctas de ingeniería, los esfuerzos se ven minados por falta de planificación.
El éxito de los proyectos se basa la mayoría de las veces en el “esfuerzo personal”, aunque a menudo se producen fracasos y casi siempre retrasos y sobre costes. El resultado de los proyectos es impredecible.
2 - Repetible. En este nivel las organizaciones disponen de unas prácticas institucionalizadas de gestión de proyectos, existen unas métricas básicas y un razonable seguimiento de la calidad. La relación con subcontratistas y clientes está gestionada sistemáticamente.
3 - Definido. Además de una buena gestión de proyectos, a este nivel las organizaciones disponen de correctos procedimientos de coordinación entre grupos, formación del personal, técnica de ingeniería detallada y un nivel avanzado de métricas en los procesos. Se implementan técnicas de revisión por pares (peer reviews).
4 - Gestionado. Se caracteriza por que las organizaciones disponen de un conjunto de métricas de calidad y productividad, que se usan de modo sistemático para la toma de decisiones y la gestión de riesgos. El software resultante es de alta calidad.
5 - Optimizado. La organización completa está en la mejora continua de los procesos. Se hace uso intensivo de las métricas y se gestiona el proceso de innovación.
El CMMI incluye cuatro disciplinas, en función de la amplitud de los procesos que cubre:
CMMI-SW: Software (SW – Software Engineerin)
CMMI-SE/SW: + Ingeniería de sistemas (SE – System Engineering)
CMMI-SE/SW/IPPD : + Desarrollo integrado de procesos y productos
(IPPD – Integrated Product and Process Development)
CMMI-SE/SW/IPPD/SS: + Gestión de proveedores (SS – Supplier
Sourcing)
Figura 6. Detalle de procesos en cada nivel del CMMI
Características Generales
CMMI presenta dos representaciones del modelo: continua (capacidad de cada área de proceso) y/o por etapas (madurez organizacional).
En la representación por etapas, se da un mapa predefinido, dividido en etapas (los niveles de madurez), para la mejora organizacional basada en procesos probados, agrupados y ordenados y sus relaciones asociadas. Cada nivel de madurez tiene un conjunto de áreas de proceso que indican donde una organización debería enfocar la mejora de su proceso. Cada área de proceso se describe en términos de prácticas que contribuyen a satisfacer sus objetivos.
Las prácticas describen las actividades que más contribuyen a la implementación eficiente de un área de proceso; se aumenta el ‘nivel de madurez’ cuando se satisfacen los objetivos de todas las áreas de proceso de un determinado nivel de madurez.
La visión escalonada definirá a la organización dándole en su conjunto un nivel de madurez del 1 al 5.
Representación de la Estructura del Modelo CMMI en su
Representación Escalonada.
Representación de la Estructura del Modelo CMMI en su
Representación Continua.