El Modelo de Madurez de las Capacidades (MMC) es una forma eficaz y más sencilla de escalar múltiples funciones de su empresa.

Para dirigir una empresa, controlar un sistema o gestionar un grupo, comprender las capacidades es un aspecto esencial.

Una vez delimitadas las distintas funciones de su empresa, debe evaluar el rendimiento de todas ellas. En función de ello, establecerá normas y objetivos para su empresa.

Así pues, para medir y controlar el rendimiento y el progreso laboral de cada función e individuo, los empresarios y los líderes empresariales necesitan tener una solución sólida y plasmarla.

De este modo, una empresa puede desarrollar sistemas que puedan soportar la carga de las complejidades y dar la precisión que se necesita para escalar.

Aquí es donde entra en escena la MMC.

En este artículo, hablaré de lo que son CMM y CMMI, sus niveles y las diferencias entre ellos.

Empecemos

¿Qué es el modelo de madurez de las capacidades?

El modelo de madurez de las capacidades (CMM) es una metodología sencilla que se utiliza para crear y perfeccionar el proceso de desarrollo de aplicaciones de una organización. Esto permite a los desarrolladores desarrollar y mejorar el proceso de desarrollo de software, lo que se traduce en una mayor coherencia y eficacia.

Independientemente del papel que se le haya asignado en el equipo de desarrollo, familiarizarse con CMM puede ayudarle a mejorar su rendimiento. Por lo tanto, se puede decir que CMM es un método que ayuda a evaluar, desarrollar y mejorar el proceso de desarrollo de software.

What-Is-Capability-Maturity-Model

CMM esboza los procedimientos principales para el desarrollo de software y otras princesas que pasan por la ingeniería, la gestión y la planificación. Asume que un proceso de mejora regular es alcanzable a través de pequeños signos de progreso en lugar de grandes avances.

Además, ofrece un marco para gestionar los pequeños signos en varios niveles de madurez con el fin de proporcionar una plataforma para la mejora continua del proceso de desarrollo de software. Por lo tanto, esta metodología actúa como el corazón de los sistemas de gestión especialmente diseñados para mejorar la calidad del desarrollo de productos y servicios junto con sus entregas.

CMM fue desarrollada y promovida por el SEI (Software Engineering Institute), un centro de I+D patrocinado por el Departamento de Defensa de Estados Unidos. Ahora forma parte de la Universidad Carnegie Mellon. El SEI se fundó por primera vez en el año 1984 para abordar diversos problemas de software y avanzar en las metodologías de software.

El SEI se creó para optimizar el proceso de desarrollo, adquisición y mantenimiento de sistemas con gran cantidad de software para el Departamento de Defensa (DOD). Aboga por la adopción centrada en la industria de la evolución de CMM, es decir, la integración de CMM (CMMI).

¿Por qué necesita CMM?

CMM tiene muchos puntos fuertes, y el beneficio más útil de utilizar esta metodología es su capacidad para ahorrar tiempo y dinero. Esto se debe a que el sistema está perfectamente diseñado para conocer los defectos del proceso de mejora con mayor eficacia que otros modelos.

whyneedcmm

Además, la MMC mejora los procesos empresariales y también reduce los cambios repentinos en los programas de producción. Dado que el CMM fue el primer modelo diseñado para mejorar el proceso industrial, puede ser la piedra fundacional para la creación de otros modelos, como la versión mejorada del CMM (es decir, el CMMI), el Modelo de Madurez de las Capacidades Empresariales (BCMM), etc.

CMM es un modelo bastante flexible para todos los procesos y mercados. No importa a qué sector pertenezca, si tiene un equipo de desarrollo, los miembros pueden utilizar el modelo para corregir errores en el proceso.

Cinco niveles de madurez en CMM

Los cinco niveles del Modelo de Madurez de las Capacidades (CMM) en el proceso de desarrollo son:

#1. Nivel inicial

En este nivel, los procesos no están en el orden adecuado. A veces puede ser incluso caótico. Aquí, el éxito depende de los esfuerzos del miembro individual y no se considera un proceso repetible. Esto se debe únicamente a que el proceso no está lo suficientemente bien documentado y definido como para que pueda repetirse.

Los procesos seguidos son inmaduros y ad hoc, lo que constituye un entorno inestable para el desarrollo de su software. Además, no hay base para predecir la calidad del producto y su tiempo de finalización.

#2. Repetible

En este nivel, los procesos necesarios están bien establecidos, documentados y definidos. Como resultado, las técnicas de gestión de proyectos están correctamente establecidas, y el éxito podría no repetirse en algunas áreas de procesos clave.

El nivel repetible puede alcanzarse estableciendo algunas políticas básicas de gestión de proyectos. La experiencia en proyectos anteriores se utiliza para gestionar proyectos de naturaleza similar. Incluye la definición de los recursos necesarios, los objetivos, las limitaciones y otros aspectos del proyecto.

cmm-levels

Este nivel presenta un plan detallado que debe seguirse adecuadamente para completar con éxito un software de calidad. El objetivo principal es mantener el rendimiento del producto, como su componente, durante todo el ciclo de vida del software.

El nivel repetible también incluye la gestión de los comentarios y las revisiones de los clientes, que pueden dar lugar a algunos cambios en el requisito establecido. Esta gestión de requisitos consiste en la adaptación de los requisitos modificados.

Además, la gestión de subcontratas se centra en la gestión de contratistas cualificados para el desarrollo de software. Esto significa que gestiona algunas partes del software que son desarrolladas por terceros. El aseguramiento de la calidad del software garantiza un producto de software de calidad con ciertas reglas y directrices estándar durante el proceso de desarrollo.

#3. Definido

En este nivel tiene lugar la documentación de las directrices y los procedimientos. Se trata de un conjunto bien definido de procesos y gestión de ingeniería de software. Esto incluye:

  • Revisiones por pares: En este método, es necesario eliminar los defectos mediante una serie de procesos de revisión como inspecciones, comprobaciones entre compañeros, recorridos, etc.
  • Coordinación entre grupos: Este método consiste en interacciones entre varios equipos de desarrollo para garantizar el cumplimiento adecuado y eficiente de las necesidades.
  • Definición del proceso de organización: El método se centra en el desarrollo y el mantenimiento de los procesos de desarrollo de software.
  • Enfoque del proceso de organización: Incluye las prácticas y actividades que deben seguirse para mejorar las capacidades de proceso de la organización.
  • Programas de formación: Los programas de formación se centran en la mejora de los conocimientos y habilidades de los miembros del equipo y garantizan una mejora de la eficacia del trabajo.

#4. Gestionado

managedcmmlevel

En este nivel se establecen objetivos cuantitativos para la calidad de los productos de software y los procesos de software de una organización. Las mediciones realizadas permiten a la organización predecir la calidad del proceso y del producto dentro de los límites definidos cuantitativamente.

Este nivel incluye estrategias y planes establecidos para desarrollar y comprender el análisis cuantitativo y la calidad del producto. También se centra en la gestión del rendimiento del proyecto.

#5. Optimizar

Esta es la etapa final de la madurez del proceso en el CMM que se centra únicamente en la mejora continua de los procesos de desarrollo en la organización a través de la retroalimentación cuantitativa. Para ello se utilizan técnicas, evaluaciones y herramientas para que los procesos de software eviten la repetición de defectos conocidos.

Este nivel incluye

  • Gestión del cambio de procesos: Este proceso de gestión se centra en la mejora continua de los procesos de desarrollo de software. Esto mejora la calidad, el tiempo de ciclo y la productividad del producto de software.
  • Gestión del cambio tecnológico: Consiste en el uso de tecnologías y técnicas de identificación para mejorar la calidad del producto y minimizar el tiempo de desarrollo.
  • Prevención de defectos: La prevención de defectos puede realizarse identificando la causa de los defectos y evitando que esos defectos se repitan en los próximos proyectos. Esto mejora los procesos definidos por el proyecto.

Integración del modelo de madurez de las capacidades

cmmi

La integración del modelo de madurez de las capacidades (CMMI) es un modelo de proceso sencillo que las organizaciones pueden utilizar para mejorar los procesos de desarrollo, impulsar comportamientos eficientes y mejorar la productividad en el flujo de trabajo mientras se desarrolla un producto, servicio o proyecto. El resultado es la reducción de riesgos a lo largo de todo el proceso.

CMMI fue desarrollado e introducido por la Universidad Carnegie Mellon. La intención principal de este desarrollo es aumentar la eficacia y la utilidad de los modelos de madurez que pueden medir la capacidad de una organización para tener una mejora continua en áreas concretas. Esto sólo puede ocurrir integrando múltiples modelos en un único marco.

La primera versión se publicó en 2002 y la siguiente en 2006. En 2010, apareció la versión 1.3, y en 2018 se lanzó la última versión, la 2.0, que venía con varios cambios como hacerla más accesible, eficaz, etc., para las empresas.

CMMI fue comprado por ISACA (antes conocida como Asociación de Auditoría y Control de Sistemas de Información), que posee certificaciones como el marco COBIT. CMMI es un modelo de proceso y comportamiento que ayuda a las organizaciones a lo largo del proceso de desarrollo de productos o servicios.

cmmi-developemnt

Así pues, el objetivo de CMMI es bastante claro. Sirve para mejorar la calidad del servicio o del producto siguiendo el modelo que satisface las expectativas del cliente y aumenta el valor de una organización en el mercado. También evalúa la reputación de su empresa y el valor de las partes interesadas en el sector.

En la actualidad, el CMMI aborda las siguientes áreas de interés:

  • CMMIpara el desarrollo: Es para el desarrollo de productos y servicios.
  • CMMI paraServicios: Es para el establecimiento, la prestación y la gestión de servicios.
  • CMMI paraAdquisición: Se refiere a la adquisición de productos y servicios.

Representación de CMMI

La representación de CMMI permite a una organización perseguir un conjunto de objetivos de mejora. Existen dos representaciones:

Representación por etapas

  • Utiliza un conjunto definido de áreas de proceso de desarrollo para describir la ruta de mejora.
  • Proporciona una serie de mejoras, donde cada parte de la serie sirve de estructura para la siguiente mejora.
  • Define un camino de mejora con la ayuda de niveles de madurez. Y el nivel de madurez informa sobre la madurez de los diferentes procesos de la organización.
  • Permite la comparación entre diferentes organizaciones para varios niveles de madurez.

Representación continua

  • Permite seleccionar áreas de procesos concretas.
  • Utiliza niveles de capacidad para medir la mejora del proceso individual.
  • Además, permite la comparación entre organizaciones basándose en el proceso-área-por-proceso-área.
  • La representación continua también permite a las organizaciones elegir entre distintos procesos para mejorarlos.
  • En esta representación, las organizaciones pueden cumplir mejor sus objetivos y reducir los riesgos seleccionando el orden de mejora de los distintos procesos.

Etapas en CMMI

Existen cinco etapas de madurez en CMMI con representación por etapas:

#1. Inicial: En este nivel, los procesos de desarrollo están mal controlados o gestionados. También implica resultados impredecibles de los procesos de desarrollo. Además, se utilizan enfoques caóticos y ad hoc. No encontrará ninguna área de proceso clave (KPA) definida. La calidad no es tan buena y el producto o los servicios corren el mayor riesgo.

#2. Gestionado: En esta fase de madurez, los requisitos se gestionan adecuadamente y los procesos de desarrollo se controlan y planifican. Aquí, el proyecto se gestiona adecuadamente y se ejecuta según los planes documentados. Sin embargo, el riesgo sigue existiendo pero es inferior al nivel inicial.

cmmilevels

#3. Definido: En el nivel de madurez definido, los procesos de desarrollo están bien descritos y caracterizados utilizando procedimientos, normas, herramientas y métodos adecuados. La calidad que encontrará es de grado medio, y el riesgo también es medio.

#4. Gestionado cuantitativamente: En este modelo se fijan los objetivos cuantitativos para los procesos de calidad y rendimiento. Se basa en las necesidades de la organización, los requisitos de los clientes, etc. Las medidas de rendimiento de los procesos se analizan cuantitativamente. Aquí encontrará procesos de mayor calidad con menor riesgo.

#5. Optimización: Esta es la última etapa del modelo de madurez que implica una mejora continua del rendimiento y de los procesos. La mejora en este nivel es tanto innovadora como incremental. Los procesos y rendimientos son de mayor calidad y el riesgo es el más bajo.

Niveles de capacidad del CMMI

Un nivel de capacidad informa sobre las prácticas relevantes para un área de proceso en particular para mejorar los procesos de una organización relacionados con el área de proceso. Existen seis niveles de capacidad para los modelos CMMI:

  • Nivel de capacidad 0 (Incompleto): Incluye procesos incompletos, parciales y no realizados. En este nivel no hay objetivos genéricos.
  • Nivel de capacidad 1 (Realizado): El rendimiento del proceso no es estable en este nivel. No se cumplen los objetivos de coste, calendario y calidad. El proceso de nivel 1 necesita realizar prácticas específicas.
  • Nivel de capacidad 2 (Gestionado): El proceso se supervisa, controla y planifica en este nivel. Aquí, los objetivos son tanto el modelo como otros como la calidad, el calendario y el coste. La organización necesita gestionar los procesos de forma activa con la ayuda de métricas.
  • Nivel de capacidad 3 (Definido): Es un nivel definido en el que el proceso se gestiona bien y cumple una serie de directrices y normas organizativas. Se centra en la estandarización de los procesos.
  • Nivel de capacidad 4 (Gestionado cuantitativamente): Aquí, el proceso se controla utilizando técnicas cuantitativas y estadísticas. En este nivel, el rendimiento del proceso se entiende en términos métricos y estadísticos.
  • Nivel de capacidad 5 (Optimización): Este nivel se centra en la mejora continua del rendimiento del proceso. El rendimiento se mejora tanto de forma innovadora como incremental.

CMM vs. CMMI: Diferencia

cmmvscmmi

CMMI es un modelo actualizado o más nuevo de CMM. El SEI desarrolló CMMI para estandarizar e integrar CMM, que tiene varios modelos para cada función que cubre. Estos modelos no están sincronizados; integrarlos hace que el proceso sea flexible y eficaz.

Con respecto a las áreas clave del proceso, las prácticas, los niveles de madurez y los objetivos, la estructura de CMMI es similar a la de CMM. Sin embargo, CMMI ofrece dos representaciones diferentes de los procesos.

Descubramos algunas diferencias más entre CMM y CMMI:

CMMCMMI
CMM son las siglas de Capability Maturity Model, desarrollado en el año 1984.CMMI son las siglas de Capability Maturity Model Integration, desarrollado en el año 2006.
Es un modelo de comportamiento que se desarrolla para medir los procesos de desarrollo de software en una organización.Es la versión actualizada del modelo CMM que está más orientada a las tareas y es más eficaz.
El propósito principal es evaluar los niveles de madurez en el proceso de desarrollo de software. El propósito principal es combinar diferentes modelos de software en uno solo y superar algunos inconvenientes del CMM.
CMM consta de cinco etapas: Inicial, repetida, definida, gestionada y optimizadaCMMI tiene cinco etapas: Inicial, gestionada, definida, gestionada cuantitativamente y optimizada.
CMM es menos eficaz.CMMI es más eficaz.
Está demasiado orientado a los procesos.Está orientado a los objetivos.

Conclusión

El Modelo de Madurez de Capacidades (CMM) es un sistema de resolución de problemas para los procesos de desarrollo de software en las industrias. Puede ahorrar a las empresas problemas relacionados con los procesos.

Por otro lado, CMMI tiene una metodología más avanzada que CMM. Implica cumplir las expectativas de los clientes, valorar la creación, comercializar el crecimiento, mejorar la calidad del producto y del servicio y aumentar la reputación.

También puede explorar el marco de gestión del ciclo de vida de las aplicaciones que ayuda a desarrollar y entregar el software a tiempo, dentro del presupuesto y con la máxima calidad.