Mejorando el desarrollo de software

Que es CMMI?

Capability Maturity Model Integration (#CMMI) es un modelo para la mejora y evaluación de procesos para el desarrollo, mantenimiento y operación de sistemas de software. Administrado por el Instituto CMMI, una subsidiaria de ISACA, se desarrolló en la Universidad Carnegie Mellon (CMU). Es una metodologia requerida por muchos contratos del Departamento de Defensa de los Estados Unidos (DoD) y del Gobierno de los Estados Unidos.

Pero no es únicamente un requisito para ser proveedor del estado de #EEUU, también es una metodología que permite a las empresas que lo implementan a obtener mucha mas productividad y calidad en sus códigos, ademas de una mejor duración del ciclo de vida y presupuestos controlados, siendo más precisos y predecibles.

CMMI persigue estos objetivos:

  • Brindar un marco que ayude a la organización a mejorar sus procesos de #desarrollo.
  • Brindar una guía para mejorar la capacidad de #desarrollar, #adquirir y #mantener productos o servicios proporcionados por una organización.
  • Describir un conjunto de buenas prácticas, tanto en #gestión como en #ingeniería.

Para ello, CMMI abarca tres disciplinas: el desarrollo de procesos y servicios, la gestión de servicios y la adquisición de productos y servicios, que siguen estas practicas:

  • Modelo de Madurez de Capacidad Integrado para el Desarrollo (#CMMI-DEV). Centrado en prácticas para desarrollar productos o servicios con una calidad estandarizada con el objetivo de satisfacer las necesidades de los consumidores.
  • Modelo de Madurez de Capacidad Integrado para Servicios (#CMMI-SVC). Modelo en el que se apoyan las empresas proveedoras de servicios. Las prácticas que emplea abarcan desde decidir qué servicios ofrecer, los sistemas para implementarlos, los acuerdos con los clientes, los cambios en la logística, entre otras.
  • Modelo de Madurez de Capacidad Integrado para Adquisición (#CMMI-ACQ). Ofrece las mejores prácticas enfocadas en actividades de iniciación y manejo de adquisiciones de productos, servicios, herramientas o equipos. Todas ellas brindan beneficios para la compañía y la ayuden a satisfacer a los usuarios finales.

El Modelo CMMI considera 5 niveles de madurez, medibles para la organización:

  1. Inicial
  2. Gestionado
  3. Definido
  4. Gestionado cuantitativamente
  5. Optimización

En el nivel de madurez 1 (Inicial), la organización se caracteriza por la naturaleza ad hoc de sus procesos. La organización no proporciona un entorno estable para la creación de sus productos, por lo que el éxito de sus proyectos depende exclusivamente de las habilidades de las personas dedicadas a cada uno de ellos.

En el nivel de madurez 2 (Gestionado), los proyectos de la organización realizan los procesos de acuerdo a lo planificado y definido en las políticas de la organización, empleando a personas capacitadas que poseen el conocimiento requerido, involucrando a todos los actores relevantes, y monitoreando, controlando y revisando todos los procesos.

En el nivel de madurez 3 (Definido), todos los procesos son entendidos y descritos a través de estándares, procedimientos, herramientas y métodos.

En el nivel de madurez 4 (Quantitatively Managed), la organización y los proyectos establecen objetivos cuantitativos para medir la calidad de los procesos así como su uso, y los criterios necesarios para su gestión. Se utilizan métodos estadísticos para controlar los procesos.

En el nivel de madurez 5 (Optimización), la organización aplica la mejora continua de sus procesos a través de la comprensión cuantitativa de las causas de variación comunes al proceso, utilizando métodos estadísticos que avalan la mejora continua.

Conclusión

Los niveles de madurez son acumulativos, es decir, para alcanzar cada uno de ellos es necesario implementar todas las áreas específicas del proceso en ese nivel, así como todos los niveles inferiores. CMMI es una buena forma de demostrar la madurez de sus procesos a clientes, y a su vez, conocer la de sus proveedores, pero aún sin pasar por la evaluación formal, adoptar las buenas prácticas sugeridas por CMMI puede aportar una mejora significativa a los procesos de desarrollo de software.

[popup_anything id=”2076″]