CalidadySotware.com / CMMI / Introducción a los modelos CMM y CMMI

Autor: Ing. Alexander Oré Bravo. 13 de Abril de 2008

INTRODUCCION AL CMMI - CMM

 

Hace algún  tiempo en mi trabajo me comentaron que se utilizaría  el modelo CMMI, en ese entonces no tenía muy claro este término, había escuchado algo sobre el CMM en la universidad y su importancia para mejorar los procesos en el área de sistemas así que decidí investigar un poco.

Para entender mejor el CMMI creo conveniente empezar por el concepto de CMM. Como lo definen sus siglas CMM quiere decir “Capability Maturity Model”, en español seria algo como “Modelo de Capacidad de Madurez del Software”, realmente se trata de un modelo de evaluación de los procesos de una organización. Fue desarrollado inicialmente para los procesos relativos al software por la Universidad Carnegie -Mellon para el SEI (Software Engineering Institute).


 
 

El modelo CMM define que deben existir algunas áreas o procesos clave en la organización que deberán realizar alguna función específica. A estas áreas se les denomina como Áreas Clave de Proceso (KPA - Key Process Area).

El modelo define para cada una de estas áreas un conjunto de buenas prácticas, dependiendo de que tanto se ajusten estas áreas con el modelo CMM se puede conocer el nivel de madurez de esta organización.

El modelo CMM y el modelo CMMI - Capability Maturity Model Integration se diferencian básicamente en que el primero se enfoca principalmente a las organizaciones o áreas de Tecnologías de información en cambio el modelo CMMI como su nombre lo indica es un modelo integrado y mejorado que se puede aplicar a un numero mayor de organizaciones de diferentes sectores.

El modelo CMM define 5 niveles de madurez:

1 - Inicial. Es el primer nivel es decir que no es necesario hacer ningún esfuerzo para llegar aquí, las organizaciones en este nivel no disponen de un ambiente adecuado para el desarrollo de software. Aunque se utilicen técnicas correctas de ingeniería, los esfuerzos se ven minados por falta de planificación. Los procesos varían según los individuos, 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 costos. El resultado de los proyectos es impredecible y esta pobremente controlado.

2 - Repetible. En este segundo nivel se encuentran las empresas en las que existe planificación y seguimiento de proyectos y está implementada la gestión de los mismos. No obstante, aún existe un riesgo significativo de no cumplir las metas.

3 - Definido. Existe un conjunto establecido de procesos estándar globales bien definidos (estableciendo sus objetivos) dentro de la organización. Existe un sistema de gestión de los proyectos. Una diferencia crítica entre los niveles 2 y 3 de madurez es el alcance de los estándares, descripciones de los procesos y procedimientos. En el nivel 2 pueden variar entre las distintas instancias de los procesos (entre diferentes proyectos); a nivel 3 son globales dentro de la organización e igual en todas las instancias de cada proceso.

4 - Gestionado. Se caracteriza porque las organizaciones disponen de un conjunto de métricas significativas 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á volcada en la mejora continua de los procesos. Se hace uso intensivo de las métricas y se gestiona el proceso de innovación.

MODELOS DE MADUREZ DEL CMM

Este grafico me permitió entender mejor como el modelo CMM define estos 5 niveles y clasifica a las organizaciones en alguno de estos.

Nivel 1: En el nivel inicial el resultado de los procesos suele ser impredecible tal como lo muestra el grafico, No existen áreas o funciones formalmente definidas así como tampoco puntos de control en el proceso, solo se puede tener una visión clara de las cosas cuando se empieza el proyecto y cuando se logra acabar, pero no es posible conocer de manera adecuada el estado del proyecto en sus procesos intermedios. Es por eso que en esas circunstancias surgen personas que se suben al hombro el proyecto y lo logran sacar adelante, aunque generalmente este tipo de proyectos sufrirá demoras y probablemente no se culminará.

Nivel 2: Según nuestro grafico ya es posible ver una gran diferencia entre el nivel inicial y el repetible, en este segundo nivel se puede observar que se definen claramente puntos de control en cada etapa principal del proyecto, esto obviamente permite tener un mayor control del proyecto. Lo importante  a resaltar del grafico es que cada etapa es aún una caja negra es decir no podemos saber con precisión como se desenvuelve el proyecto dentro de cada etapa.

Nivel 3: Los procesos comunes para desarrollo y mantenimiento del software están documentados de manera suficiente en una biblioteca accesible a los equipos de desarrollo. Las personas han recibido la formación necesaria para comprender los procesos. En conclusión cada proceso se hace transparente para todos

Nivel 4: Tal como lo muestra el grafico, la principal diferencia con el nivel anterior es la medición y control de los procesos (métricas). Estas métricas no son subjetivas si no que se establecen con criterios cuantitativos formalmente definidos. Con el tiempo estos controles nos brindaran mejor información sobre la calidad y estado del proyecto permitiéndonos compararlo con otros proyectos similares y notar cualquier desviación tempranamente para poder corregirlo.

Nivel 5: En este nivel cada proceso es analizado y controlado permanentemente con la intención de que sea mejorado en todo momento, los controles permiten la mejora continua y se tienen implementadas todas las áreas clave de proceso recomendadas por el modelo.

 



Fig.1 Niveles del modelo CMM.

A partir del 2do nivel del modelo CMM se debe contar con áreas específicas que permitirán tener un mayor control del proyecto de Software:

Para el Nivel 2 al menos se deberá contar con las siguientes áreas clave de proceso:

  • Gestión de Requisitos
  • Planificación del proyecto de software
  • Seguimiento y Supervisión del proyecto
  • Gestión de subcontratos de software
  • Garantía de calidad de software
  • Gestión de la configuración del software

Cada Nivel va agregando nuevas áreas clave de proceso.
De Manera similar el CMMI también maneja niveles aunque para este modelo son 6:

0.- Incompleto
1.- Ejecutado
2.- Gestionado
3.- Definido
4.- Cuantitativamente gestionado
5.- Optimizado

Actualmente en donde me encuentro laborando hemos conseguido el nivel 3 CMMI. En un próximo artículo les seguiré comentando más detalles sobre este tema que se vuelve cada día más importante para las organizaciones.
 
     
 
 
     
 
 
 
CalidadySoftware.com 2008 - Todos los derechos reservados
 
 
Sitio Web Alojado por Nazcasoft.com