Qué es el CMM - CMMI?
Conceptos Generales de CMMI
CMMI (Capability Maturity Model Integration) [28] consiste en una serie de prácticas y procesos
de alto nivel que ayudan a las organizaciones a construir un modelo para mejorar sus procesos.
El Software Engineering Institute (en adelante SEI) de la Carnegie Melton University [29] es el
instituto que promueve CMMI tiene la siguiente premisa: “la calidad de un sistema o un producto
está fuertemente influenciada por la calidad de los procesos empleados para desarrollarlo o para
mantenerlo”.
Las tres dimensiones que las organizaciones comparten son: Personas, Herramientas y
Procedimientos. Dado el dinamismo actual de las personas y de las herramientas, son los procesos a
los que las organizaciones les pueden dotar de mayor independencia ante el cambio. Tal y como
otras áreas de la Ingeniería llevan años realizando, será la calidad en los procedimientos los que
tengan por objetivo el mantener y aumentar la productividad en las herramientas que utilizamos y
los productos que se ofrecen.
CMMI se basa en constelaciones, que agrupa componentes CMMI en un modelo, materiales de
aprendizaje y documentos de evaluación. En la actualidad, en la versión 1.2 [30], dispone de las
siguientes constelaciones:
• CMMI for Acquisition v1.2 (2007). Aborda la cadena de suministro, adquisición y
contratación externa.
• CMMI for Services v1.2 (2007). Aborda la gestión ofrecida por el servicio.
• CMMI for Development v1.2 (2006). Aborda los procesos de desarrollo (de productos y
servicios).
En este trabajo nos centraremos en CMMI for Development, en adelante CMMI-DEV.
3.3.2 Elementos Principales de CMMI
CMMI tiene dos representaciones: la escalonada y la continua.
• La Representación Continua se basa en el conocimiento de los procesos y las
dependencias entre procesos para llevarla a cabo. Ofrece mayor flexibilidad al permitir
adaptar CMMI a los procesos elegidos. Cuando es elegida esta representación por parte de
27
El proceso de Ingeniería de Requisitos en el ciclo global del software Trabajo Relacionado
una organización se dice que tiene Niveles de Capacidad. Existen 6 niveles de Capacidad: 0-
5:
◦ 0- Incomplete (Incompleta). Se dice que un proceso alcanza el nivel incompleto cuando
un proceso o bien está parcialmente implementado o no está realizado en su totalidad.
◦ 1- Performed (Realizado). Representa un proceso que satisface los objetivos específicos
pero que no está institucionalizado en la organización.
◦ 2- Managed (Gestionado). Representa los procesos que estando en nivel 1, son además
monitorizados, controlados y revisados.
◦ 3- Defined (Definido). Son aquellos procesos que habiendo alcanzado el nivel 3, son
gestionados de una forma proactiva utilizando el conocimiento de las interrelaciones con
el resto de procesos de la organización. Son medidos y controlados los productos a
generar por el proceso y los servicios a ofrecer.
◦ 4- Quantitatively Managed (Cuantitativamente Gestionados). Son los procesos de nivel 3
que además son gestionados usando estadísticas y otras medidas cuantitativas que
ayuden a determinar la calidad y el rendimiento del proceso.
◦ 5- Optimizing (Optimizados). Son aquellos que además de estar en nivel 4 tienen como
foco la mejora continua y aplican medidas innovadoras.
• Para una organización la Representación Escalonada ofrece un camino estructurado y
sistemático para adaptar todos los procesos a un determinado nivel del modelo. Cuando es
elegida esta representación por parte de una organización se dice que tiene Niveles de
Madurez. Existen 5 niveles de Madurez: 1-5:
◦ 1- Inicial (Inicial). Los resultados dependen totalmente de la capacidad de los
trabajadores. Son las organizaciones que no son capaces de repetir sus éxitos al no
disponer de procesos.
◦ 2- Managed (Gestionados). La organización tiene procesos establecidos que aseguran
una planificación y ejecución. Estos procesos son monitorizados, controlados y
revisados.
◦ 3- Defined (Definidos). Los procesos están bien caracterizados y son estandarizados para
toda la organización, con herramientas y métodos. Proporcionan consistencia a la
organización.
◦ 4- Quantitatively Managed (Cuantitativamente Gestionados). Se establecen medidas
cuantitativas para poder medir el proceso y poder predecir rendimientos en los procesos.
Es decir, las medidas cuantitativas se utilizan para conocer con mayor exactitud el
proceso y poder realizar predicciones cuantitativas y no sólo cualitativas como en el
nivel anterior.
◦ 5- Optimizing (Optimizados). Se centran en la mejora continúa de los procesos que rigen
la organización y en la aplicación de medidas innovadoras para alcanzar la optimización
de los procesos.
CMMI utiliza
El modelo CMM identifica los siguientes niveles de madurez:
Nivel de Madurez 1 - Inicial – ausencia total de procesos definidos.
“capacitación y guía para el desarrollo de software”
Nivel de Madurez 2 - Repetible – procesos de administración establecidos para lograr el seguimiento de los costos, tareas y funcionalidad. La disciplina está dada por la repetición en proyectos con aplicaciones similares.
Nivel de Madurez 3 - Definido – Además de las definiciones del nivel anterior, son incorporadas actividades de administración de ingeniería en forma documentada, estandarizada e integradas en una familia de procesos normalizados de la organización. Los proyectos utilizan una versión adaptada de esas normas para su desarrollo.
Nivel de Madurez 4 - Administrado – se llevan adelante los proyectos en forma controlada con métricas que permiten mediciones confiables de los procesos y productos.
Nivel de Madurez 5 - Optimizado – incluye la mejora continua de procesos a partir de la comparación y análisis de mediciones sucesivas de los proyectos.
El modelo CMMI incorpora al modelo por niveles de madurez de las organizaciones una vista de niveles de capacidad por área de procesos. La misma está orientada a incluir los casos en los cuales las organizaciones necesitan una capacidad diferenciada por área de proceso debido a los objetivos de sus negocios. Además, este modelo enfatiza a lo largo de sus definiciones la relación de cada una de sus áreas de proceso con los objetivos de negocio mencionados.
Estos niveles de capacidad son caracterizados genéricamente de la siguiente manera:
Nivel de Capacidad 0 – Incompleto: área de proceso sin objetivos.
Nivel de Capacidad 1 – Ejecutada: objetivos específicos del área de proceso son satisfechos.
Nivel de Capacidad 2 – Administrada: área de proceso institucionalizada a partir de una política organizacional de uso de los procesos.
Nivel de Capacidad 3 – Definida: área de proceso institucionalizada a partir de un proceso definido.
Nivel de Capacidad 4 – Cuantitativamente Administrada: área de proceso institucionalizada a partir de una política organizacional de la administración cuantitativa de procesos.
Nivel de Capacidad 5 – Optimizada: área de proceso institucionalizada a partir de la optimización de sus procesos.
En el modelo CMMI las áreas de proceso son clasificadas en las siguientes categorías:
1. Process Management
2. Project Management
3. Engineering
4. Support
Implementación
La implementación de un proceso de mejoras según el modelo CMMI está compuesto de las siguientes fases:
Inicio, en esta fase se relevan los procesos, tareas, actividades y activos con que cuenta la organización, así como las políticas generadas por la conducción de la organización. El método que CMMI propone para la realización de este relevamiento es SCAMPI (Standard CMMI Assessment Method for Process Improvement). Consiste de un conjunto estructurado de actividades tales como entrevistas, revisión de documentos, presentaciones y análisis de respuestas a cuestionarios. El resultado de esto es la obtención de las fortalezas y debilidades, sobre las cuales se elaborará el Plan de Mejoras. El objetivo de esta fase es determinar las fortalezas, debilidades y oportunidades de mejora de la organización. Todo esto conducido por los objetivos de negocio de la organización.
Diseño, basados en las debilidades y fortalezas encontradas en el SCAMPI se elabora el Process Improvement Plan (PI Plan) y los Action Plan (PAs).
Piloto, de acuerdo a los objetivos planteados en cada PATs (Process Action Team) y al producto resultante de su trabajo (proceso, tarea, actividad, estándares), se capacita a los miembros del grupo del proyecto piloto y se prueba las prácticas correspondientes.
Implementación, en esta fase se extiende al resto de la organización las prácticas llevadas adelante en todos y cada uno de los proyectos piloto.
Implementar un programa de mejora requiere de la cooperación y coordinación de todos los niveles de gerencia y subordinados. En la figura 1 se muestra un ejemplo de la infraestructura de mejora de proceso. En color verde se muestra la infraestructura relacionada a la mejora de procesos y en color rojo la infraestructura de la organización. La mejora de procesos en cualquier organización no puede ser responsabilidad solamente del grupo de procesos.
RELACIÓN DE LOS MODELOS CMM/CMMI CON LOS TIPOS DE CULTURA ORGANIZACIONAL
Un análisis pormenorizado de las culturas subyacentes implícitas en los modelos CMM/CMMI puede verse en [1]. Como resultado, los autores afirman que es imposible eludir las siguientes conclusiones:
El modelo CMM/CMMI en su esencia lleva a las organizaciones que lo aplican a una cultura racionalista, sin embargo, a medida que se alcanzan los niveles superiores de madurez según el modelo, tiene características del tipo de cultura jeráquica.
El modelo P- CMM (People – CMM) que fue concebido como un complemento del anterior con foco en el factor humano, tiene aspectos culturales racionales y consensuales enfocados a la misma función creando una contradicción interna.
Los modelos SW-CMM y P-CMM en lugar de complementarse son contradictorios entre sí.
Ambos modelos afirman que tienen como fin una cultura organizacional de desarrollo humano, y no como un medio. Sin embargo, las acciones recomendadas sólo la presentan como un medio y se abandona cuando la organización alcanza niveles superiores de madurez.
Una premisa global de los modelos CMM/CMMI es que las organizaciones que implementen estos procesos SPI funcionaran en un modo y contexto profesional e industrial caracterizado por la estabilidad. Se podría incluso decir que estos modelos son prescripciones para estabilizar la producción de software para alcanzar altos niveles de repetibilidad y por lo tanto de calidad. Sin embargo, ninguna organización es inmune a su entorno y si hay fuertes corrientes de inestabilidad en el contexto de operación de la organización, esta se verá inevitablemente afectada. La aplicación de estos modelos sin tener en cuenta estas influencias desestabilizadoras puede conducir a graves errores [13]. El contexto del mundo en desarrollo en general, y latinoamericano en particular, presenta desafíos claros y conocidos en este sentido [14].
Las características mencionadas de los modelos CMM/CMMI, son sólo algunos de los generadores de conflictos en la implementación de los procesos de mejoras. Otras fuentes son una estructura indefinida de las organizaciones, una cultura mezcla de los tipos mencionados que implica contradicciones esenciales; y la actitud de la gente que desempeña todos y cada uno de los roles de la organización.
Consecuencias
Genera sensación de pérdida de tiempo en los miembros de la organización. Genera sensación de que los objetivos no serán logrados.
Genera sensación de que sólo se trata de un negocio.
Genera rechazo por ser una visión abstracta que no termina de concretarse.
Ante la repetición de fracasos, los miembros de las empresas asignan responsabilidad a los consultores y cierran la puerta la posibilidad de analizar y aprender de sus propias debilidades.
Causas
Adopción de la certificación como objetivo exclusivo en sí mismo. Doble mensaje según audiencia (idealiza las mejoras hacia afuera enfatiza el pragmatismo de la certificación hacia adentro).
Liderazgo dividido: algunos creen en las mejoras otros solo desean la certificación.
Falta de comprensión del concepto “Madurez” y sus consecuencas.
Evaluación inadecuada de la aptitud del personal para ajustarse a nuevos roles priorizando el mantenimiento de privilegios según la administracion anterior.
Incomprensión de los nuevos roles derivados del proceso de mejoras.
Falta de objetivos claros de negocio.
Administración personalizada y subjetiva de la organización.
Consecuencias
Genera desconfianza e inseguridad en el personal.
Socava la autoestima especialmente del personal que lidera los procesos tecnológicos.
Proyecta una imagen de falta de compromiso con el proceso de mejoras.
Provoca la ausencia de responsables y referentes.
- 1. El marco de CMMI contiene todos los objetivos y prácticas que se utilizan para producir los modelos CMMI. Todos los modelos CMMI contienen 16 áreas de proceso central. Estas áreas se refieren a conceptos básicos que son fundamentales para el proceso de mejora en cualquier área de interés (adquisición, desarrollo, servicios).
- 2. Son los componentes de CMMI que son esenciales para lograr la mejora de procesos en un área de proceso dado. Los componentes necesarios en CMMI son las metas específicas y genéricas.
- 3. Describen las actividades que son importantes para lograr un componente necesario de CMMI.
- 4. Análisis Causal y Resolución (CAR) Gestión de la Configuración (CM) Análisis de Decisiones y Resolución (DAR) Gestión Integrada de Proyectos (IPM) Medición y Análisis (MA) Definición de Procesos de la Organización (OPD) Enfoque de Procesos de la Organización (OPF) Gestión del Desempeño Organizacional (OPM)de rendimiento Procesos de la Organización (OPP) Capacitación Organizacional (OT)Integración de Producto (PI) El seguimiento y control de proyectos (PMC) Planificación de Proyectos (PP) Proceso y aseguramiento de la calidad del producto (PPQA) Gestión de Proyectoscuantitativos (QPM) Requisitos para el Desarrollo (RD) Requisitos de gestión (REQM) Gestión de Riesgos (RSKM) Gestión de
- 5. Proveedores Acuerdo (SAM) Solución Técnica (TS) Validación (VAL) Verificación (VER)declaraciones de propósito Una declaración de propósito describe el propósito del área de proceso y es un componente informativo. Por ejemplo, la declaración del propósito del área de proceso Procesos de la Organización de definición es "El propósito de Procesos de la Organización Definición (OPD) es establecer y mantener un conjunto útil de la organización activos de los procesos, las normas de medio ambiente de trabajo, y las normas ydirectrices para los equipos ".
- 6. Muestra las referencias a las áreas deprocesos relacionados y refleja lasrelaciones de alto nivel entre las áreasde proceso
- 7. Describe las características únicas que deben estar presentes para satisfacer el área de proceso.Es un componente del modelo y se utiliza en evaluaciones para determinar si un área de proceso está satisfecho.
- 8. Son llamados "genéricos" porque la misma declaración de meta se aplica a varias áreas de proceso.Describe las características que deben estar presentes para institucionalizar los procesos que implementan un área de proceso.
- 9. Las metas específicas ofrece unresumen de alto nivel de los objetivosespecíficos y prácticas específicas. Lameta específica y práctica resumen esun componente informativo.
- 10. Es la descripción de una actividad que seconsidera importante para alcanzar elobjetivo específico asociado. Las prácticasespecíficas describen las actividades que seesperan como resultado en el logro de losobjetivos específicos de un área de proceso.
- 11. La sección de productos de trabajo de ejemplo muestra resultados de la muestra de una práctica específica. Un producto de trabajo de ejemplo es un componente del modelo informativo.
- 12. Una subprácticas es una descripción detallada que proporciona orientación para la interpretación y práctica específicos o genéricos. Sub prácticas puede formularse como si prescriptivo, pero son en realidad un componente informativo sólo pretende aportar ideas que pueden ser útiles para la mejora de los procesos.
- 13. Prácticas genéricas son llamadas "genéricas" porque la misma práctica se aplica a varias áreas de proceso.Las prácticas asociadas con un objetivo genérico describen las actividades que se consideran importantes para lograr el objetivo genérico y contribuyan a la institucionalización de los procesos asociados con un área de proceso.
- 14. En este capítulo se introduce elconcepto de niveles y muestra cómo las áreas de proceso se organizan y utilizan.
- 15. Para alcanzar un nivel particular, una organización debe satisfacer todos los objetivos deel área de proceso o un conjunto de áreas de proceso que son objeto de mejora, independientemente de si se trata de una capacidad o un nivel de madurez.
- 16. CMMI-DEV no especifica que un proyecto uorganización debe seguir un flujo de proceso o que un cierto número de productos sedesarrollará al día o los objetivos específicos de desempeño logrado ser.
Ventajas del CMMI
La gran ventaja de CMMI
es que hademostrado ser una metodología de
gran eficacia, que ha permitido
mejoras de gran impacto en procesos
de desarrollo de productos software,
tales como reducción del coste de
desarrollo, localización y resolución de
defectos; mejora en la fiabilidad de la
planificación, en términos de
dedicación y de calendario; aumento de la productividad, reducción de los
trabajos derivados de correcciones tras
las fases de pruebas, aumento de la
efectividad sobre la planificación
realizada, mejora en la calidad de
producto, reducción del número de
defectos, y detección en las fases
tempranas de su ciclo de vida y mejora
de la Imagen de Marca, entre otras.
El gran problema de CMMI es su
falta de adecuación al enfoque a
servicio que está experimentando el
sector de las TI en todas sus líneas de
actividad, así como el alto esfuerzo de
implantación que exige.
Arquitectura del modelo más robusta y con mayor nivel de
detalle
Aplicable a más de una disciplina
Mejor atención a las áreas de ingeniería
La representación continua permite focalizar mejoras de
acuerdo a los objetivos del negocio
Desventajas del CMMITamaño y complejidad mucho mayor que modelos vigentes
El proceso de avaluación es más costoso en tiempo y
esfuerzo
La complejidad de la evaluación continua puede atentar
contra la definición de objetivos concretos de madurez
- Tamaño y complejidad mucho mayor que modelos vigentes.
- El proceso de evaluación es más costoso en tiempo y esfuerzo.
- La complejidad de la evaluación continua puede atentar contra la definición
de objetivos concretos de madurez.
- El gran problema de CMMI es su falta de adecuación al enfoque del servicio que está experimentando el sector de las (IT) en todas sus líneas de actividad, así como el alto esfuerzo de implantación que exige.
Características del CMMI- Está basado en la combinación de experiencias anteriores
- Su efectividad se basa en la documentación
- Es un modelo que está disponible gratuitamente para cualquier persona