QUÉ ES CMMI Y POR QUÉ EN SES ESTAMOS CERTIFICADOS

Antes que nada debemos de comenzar por decir qué significa CMMI. Pues bien, estas siglas significan Capability Maturity Model Integration (Modelo de Madurez de Capacidades de Integración). Dicho modelo de procesos contiene las mejores prácticas de la industria del desarrollo de software, tanto para el desarrollo del mismo, como para su mantenimiento, adquisición y operación de productos y servicios.

¿Qué es CMMI?

CMMI es un modelo que contiene las mejores prácticas y que provee a las organizaciones de aquellos elementos que son esenciales para que los procesos de negocio de las mismas sean efectivos.

El modelo CMMI fue inicialmente desarrollado para los procesos relativos al desarrollo e implementación de Software por la Carnegie-Mellon University. Este vio la luz por primera vez en el año 1987 como Capability Maturity Model CMM. Dicho nombre, tanto como los cinco niveles de la representación por etapas, están inspirados en el modelo de madurez Manufacturing Maturity Model de Crosby.

En principio el modelo CMM era aplicado en programas de defensa, pero lo cierto es que este ha logrado gran aceptación, tan es así que ha sido sometido a varias revisiones e iteraciones. Debido a su éxito se llevó a cabo el desarrollo de modelos CMM para diversos ámbitos más allá del software.

El problema con esto, es que debido a la gran proliferación de modelos de desarrollo de software comenzaron a surgir confusiones, con el fin de crear un solo marco extensible para la ingeniería de sistemas, la ingeniería de software y el desarrollo de productos. ¿El resultado?. El modelo más conocido actualmente: CMMI.

¿Qué es Madurez?

CMMI establece cinco niveles de ‘madurez’ de las organizaciones en función de si tienen o no una serie de características específicas. Las organizaciones pueden ser evaluadas y en función de dicha evaluación, se les puede otorgar un nivel de madurez; ésta se califica en una escala del 1 al 5, es decir, a través de CMMI podemos saber el grado de ‘madurez’ de los procesos que tiene una organización, de acuerdo a un modelo de buenas prácticas.

Niveles de madurez por etapas.

  • Nivel 1 (Inicial): El proceso es impredecible, es reactivo y pobremente controlado.
  • Nivel 2 (Administrado): En este nivel, el proceso es reactivo y se caracteriza por su aplicación a proyectos.
  • Nivel 3 (Definido): En este nivel, el proceso se vuelve proactivo y se ve a nivel de organización.
  • Nivel 4 (Administrado Cuantitativamente): Este proceso es medido y controlado.
  • Nivel 5 (Optimizado): El Proceso se enfoca a una mejora continua.

 

Niveles de madurez Continuo.

  • Nivel 0 (Incompleto): El proceso no se ejecuta o se hace de una manera parcial.
  • Nivel 1 (Ejecutado): El proceso se ejecuta y se producen productos basados en entradas identificadas.
  • Nivel 2 (administrado): El proceso es reactivo y se caracteriza por su aplicación en proyectos.
  • Nivel 3 (Definido): El proceso es proactivo y se visualiza a nivel de la organización.
  • Nivel 4 (Administrado Cuantitativamente): Este proceso es medido y controlado.
  • Nivel 5 (Optimizado): El Proceso se enfoca a una mejora continua.

¿Por qué es importante usar un modelo para el desarrollo de software?

La importancia del uso de un modelo radica principalmente en el hecho de que es precisamente lo que permite comprender cuáles son los elementos específicos de una organización, a la vez que ayuda a formular y hablar de qué es lo que se debe mejorar dentro de la misma y de cómo se pueden lograr dichas mejoras.  Dicho esto, algunas de las ventajas del uso de un modelo que valen la pena mencionar son las siguientes:

  • Proporciona un marco y un lenguaje común, lo que se traduce en la ruptura de las barreras de la comunicación en el interior de las organizaciones.
  • Permite que los usuarios puedan enfocarse específicamente en la mejora, ya que ayudan a que no pierdan la idea global.
  • Aporta años de experiencia.
  • Ayudan a mejorar la satisfacción del cliente.
  • Permiten producir productos y servicios de alta calidad.

 

Algunos beneficios de CMMI

Hacer uso del modelo CMMI para el desarrollo de software, no solo permite optimizar procesos de negocios, sino que también trae consigo una serie de beneficios, entre ellos los siguientes:

  • La gestión y la ingeniería de las actividades se encuentran entrelazadas de una manera explícita, tan es así que facilita el reconocimiento de los objetivos del negocio.
  • Permite hacer la incorporación de la experiencia adquirida en otras zonas de las mejores prácticas. Algunos ejemplos serían la medición, gestión de riesgos y de proveedores.
  • Poder aplicar prácticas de alta madurez mucho más robustas.
  • Cumplir de forma mucho más completa con las normas ISO.

 

Estos son solo algunos de los aspectos básicos del modelo CMMI que nos permiten tener un acercamiento al por qué es ideal para el proceso de desarrollo de software, muy importante considerarlo en cada entorno país.

Es por esto que SES ha venido trabajando con estas buenas prácticas los últimos años y actualmente nos encontramos re-certificados CMMI Level 3.