El modelo de madurez de capacidades de integración CMMI, es un modelo en donde se establecen las mejores prácticas de la industria tecnológica, que rigen para el desarrollo y mantenimiento de software, como también para la obtención y operación de productos y servicios. Es una herramienta que se utiliza para la mejora de procesos, mejorar la calidad y para fomentar la eficiencia, reduciendo así los riesgos en el proceso de desarrollo. Este método no solo se aplica en el desarrollo de software, también es utilizado en los procesos de hardware y desarrollo de servicios en cualquier industria.
El propósito de este modelo es evaluar la madurez de los procesos dentro de una compañía, para después brindar una orientación que sirva para mejorar estos procesos y de este modo las empresas puedan generar mejores productos. Otra de las intenciones de este modelo es brindar indicadores a las organizaciones de como actuar ante situaciones de estrés y las califica según su comportamiento ante ellas. Cuando una compañía reacciona con calma ante situaciones inesperadas de estrés, las soluciona y continua con sus labores, se considera que tiene altas capacidades y un gran nivel de madurez; mientras que las empresas que ante situaciones de estrés reaccionan dejándose llevar por el pánico y empeorando la situación, son consideradas con pocas capacidades y bajo nivel de madurez.
El modelo CMMI cuenta también con unas fases o niveles de desarrollo, en los que las empresas se encasillan de acuerdo a los procesos realizados y los objetivos cumplidos, aquí se califica la madurez de los procesos implementados en el desarrollo del software y el cumplimiento de estos objetivos aporta los fundamentos necesarios para aplicar efectivamente los procesos en el siguiente nivel. Así se dividen:
Nivel 1 – Inicial: El proceso es informal = Menor calidad y alto riesgo
Nivel 2 – Gestionado: Nivel básico para la gestión de proyectos = Baja calidad y alto riesgo
Nivel 3 – Definido: Estandarización de procesos = Calidad media y riesgo medio
Nivel 4 – Cuantitativamente gestionado = Mayor calidad y menor riesgo
Nivel 5 – Optimizar: Mejora continua de los procesos = Máxima calidad y menor riesgo
Aplicar este modelo en el desarrollo de software es importante puesto que permite optimizar algunos procesos de negocio, desarrollar productos con calidad para satisfacer las necesidades del cliente y ayuda a cumplir de forma completa con los requerimientos de la norma ISO y crear una cultura de mejora continua.
Adquirir un software dirigido bajo este modelo implica también unas ventajas, ya que la utilización de buenas practicas en el desarrollo de software se traduce en:
- Comunicación efectiva entre las partes, tanto entre los integrantes del equipo de desarrollo como con el cliente, este último participa activamente en el proceso, por lo que siempre esta informado sobre el estado de su proyecto y sus responsabilidades en él.
- Software más completos, en cuanto a estructura ya que el modelo permite realizar acciones como una toma acertada de requisitos del cliente, capacitación del equipo de trabajo, aplicación de pruebas e inspección y buenas prácticas de ingeniería de software.
- Software entregados a tiempo, pues el modelo mejora las predicciones de entrega del producto al cliente, esto permite que se le manifieste al cliente una fecha de entrega que será cumplirá en la mayoría de los casos.
- Software con menor cantidad de defectos, pues son resueltos en las fases tempranas de desarrollo.
Por último, cabe resaltar que este modelo es de gran beneficio para obtener ventajas competitivas, tanto para las empresas encargadas del desarrollo del producto, como para quien lo recibe, pues un software hecho con buenas prácticas, es un software el cual pasó por procesos efectivos, que seguramente serán de la mejor calidad, ofreciendo ventajas en su implementación ya que será más fácil de manipular, que presentará menos fallas en su estructura y procedimientos y que ofrecerá un mayor retorno de la inversión.