1. El CMMI de Servicios Está Aquı́
Y porqué esto le tiene que importar.
Jorge Boria, Liveware
Primera parte: Arquitectura del modelo
Las últimas dos décadas vieron un énfasis en procesos en las disciplinas de ingeniería de software,
impulsados enfáticamente por una institución: El Software Engineering Institute de la Universidad
Carnegie Mellon. Una de las propuestas más exitosas de ese instituto es el modelo de madurez CMMI1,
descendiente directo de la Calidad Total y una propuesta que en su momento fue revolucionaria, la de
presentar un camino de desarrollo organizacional para alcanzar niveles de competencia inusuales, lo
que en la jerga del modelo se llama “Alta Madurez”.
El modelo ha sido tan exitoso desde su introducción y difusión inicial en la década del 90 del siglo
pasado que el SEI ha extendido su aplicación desde el dominio original de organizaciones que
desarrollan software y sistemas llave en mano a dos otros dominios de aplicación, los que se conoce
como “constelaciones”. El dominio original, llamado antes CMMI a secas, es ahora el CMMI-DEV. Los
nuevos modelos se conocen como CMMI-ACQ (modelo para empresas integradoras que contratan todos
los servicios de desarrollo y mantenimiento) y el CMMI-SVC2 (modelo para todo tipo de empresas que
realizan servicios como parte central de su actividad), del que nos ocuparemos en estos artículos.
Breve reseña del CMMI
El CMMI es descendiente del modelo CMM, hoy llamado CMM para Software (SW-CMM) por el SEI, que
fuera pensado y materializado por Watts Humphrey hacia 1987 en ese instituto. Su éxito se basa en que,
a diferencia de muchos otros modelos de procesos orientados a la calidad, no es prescriptivo en sus
prácticas, que pueden ser implementadas de muchas maneras diferentes, y en que orienta sobre el
camino a seguir, es decir, el orden de implementación de las prácticas. Si bien existían modelos de
calidad basados en prácticas y modelos de madurez basados en niveles antes de que Humphrey
construyera el CMM, su originalidad consiste en que junta los dos arquetipos y propone así una manera
racional de alcanzar el conocimiento estadístico de los procesos y su mejora continua. 3
1
CMMI y SCAMPI son marcas registradas de la Universidad de Carnegie-Mellon.
2
“CMMI for Services: Guidelines for Superior Service”, Eileen Forrester, Brandon Buteau, Sandra Shrum.
3
La anécdota cuenta que Watts Humphrey tuvo su eureka en un vuelo de regreso a Pittsburg de un seminario del
Instituto Juran, pensando en las diferencias y similitudes de la industria del software con las manufacturas.
2. En su versión 1.3, el CMMI sigue siendo un modelo de niveles de madurez, aunque hay una posibilidad
de “mirarlo” como si fuera un modelo de prácticas conectadas pero sin considerar niveles, lo que se
denomina “representación continua”. En general, esto requiere una substancial experiencia con el
modelo, por lo que en este artículo simplemente me concentraré en la representación habitual, “por
niveles”.
Acá vemos la famosa representación por niveles del CMMI:
Los niveles se diferencian por las conductas prevalentes en cada uno. Si bien desde el punto de vista de
las evaluaciones formales, (SCAMPI A, por Standard CMMI Appraisal Method for Process Improvement)
la medida de la madurez la da la implementación completa de las prácticas de todas las áreas de un
nivel (y la de los que le siguen hacia abajo, el nivel n+1 es inclusivo del nivel n), la realidad es que los
beneficios en términos de desempeño no surgen del rigor con que se implementan estas sino de la
cultura que se genera por su aplicación correcta y consistente. Por dar un ejemplo trivializado, si una
organización no realiza auditorías de sus productos de forma alguna, no puede tener satisfecho el tercer
objetivo4 del área de procesos Configuration Management (Gestión de la Configuración). Al tener un
objetivo insatisfecho, todo el área se considera insatisfecha. Al tener un área que se ubica en el nivel de
madurez 2, Gestionado, insatisfecha, esa organización es automáticamente considerada en el SCAMPI A
de Nivel 1, Inicial, sin importar el refinamiento con que realicen todas las otras tareas.
4
Desde la versión del método SCAMPI A 1.2 que no se pueden excluir áreas de proceso (salvo la Gestión de
Proveedores) o prácticas individuales de algún área por consideraciones de no-aplicabilidad. La mayoría de los
Lead Appraisers de la vieja escuela no estamos contentos con esto, pero no somos la voz mandante en el SEI, y la
realidad es que se usufructuaba con esa licencia, haciendo pasar pato por gallareta.
3. Así es posible que haya organizaciones que nunca podrían acreditar niveles superiores al primero en un
SCAMPI, porque simplemente no les interesa la acreditación, sino que se enfocan mucho más en sus
objetivos de negocio. Se puede ser muy exitoso sin pasar por un SCAMPI, como prueba el sistema
operativo y los aplicativos que estoy usando. Pero es cierto que si por alguna razón la organización que
los fabrica quisiera acreditar algún nivel de madurez diferente del uno, le sería posible hacerlo en
poquísimo tiempo, porque la disciplina y las técnicas están en su lugar.
Esto se desprende un poco de la arquitectura del modelo:
Los niveles de madurez se caracterizan por el conjunto de áreas de proceso que los definen. Recuerden
que los niveles de madurez son como muñecas rusas, cada uno contiene al anterior y el de arriba de
todo contiene a todos por recursión. Cada área de proceso, a su vez, está descripta por los objetivos que
se alcanzan a través de las prácticas. Los objetivos y las prácticas correspondientes se clasifican cómo
específicos o genéricos. Específicos lo son a esa área de proceso, como puede ser el confirmar el
compromiso del equipo con los requerimientos en el área de proceso Gestión de Requerimientos, o
genéricos, como puede ser el entrenar a los que lo requieran en la ejecución del proceso, que si bien
cambia de contenido de un área de proceso a otra, su formulación es la misma en todas, por ende,
genérica. A seguir: Las áreas de proceso por niveles y en categorías.