7
CMMI (Primera Parte) En este artículo se describirá en que consiste el modelo CMMI, así como los beneficios que se obtienen de la mejora de procesos al utilizar este modelo. CMMI (Capability Maturity Model Integration). CMMI es un marco de referencia para la mejora de procesos que proporciona a las empresas los elementos esenciales de procesos efectivos. Ayuda a la integración de funciones de organización tradicionalmente separadas para las que establece metas y prioridades de mejora de procesos. CMMI tiene dos utilidades: Sirve como guía para mejorar los procesos de desarrollo de software en una empresa. Actúa como criterio para evaluar su nivel de madurez de una empresa, o de capacidad de sus procesos. CMMI Proporciona guías para procesos de calidad y da un punto de referencia para realizar una evaluación de los procesos actuales. El CMMI también proporciona un método para evaluar la capacidad y la madurez de los procesos de las empresas para producir software o sistemas. Este modelo está organizado en cinco niveles, ayudando a definir la prioridad de las acciones para aumentar la madurez y mejorar los procesos de ingeniería de software y proporciona una forma de ir mejorando progresivamente. ¿Por qué surgió CMMI®? El departamento de defensa de los Estados Unidos tenía muchos problemas con el software que encargaba desarrollar a otras empresas, los presupuestos se disparaban, las fechas alargaban cada vez más y había baja calidad en los productos de software que se entregaban. Como esta situación les parecía intolerable se convocó un comité de expertos para que solucionara estos problemas. Dicho comité concluyó que se "Tenía que crear un

CMMI

Embed Size (px)

Citation preview

Page 1: CMMI

CMMI (Primera Parte)

En este artículo se describirá en que consiste el modelo CMMI, así como los beneficios que se obtienen de la mejora de procesos al utilizar este modelo.

CMMI (Capability Maturity Model Integration). CMMI es un marco de referencia para la mejora de procesos que proporciona a las empresas los elementos esenciales de procesos efectivos. Ayuda a la integración de funciones de organización tradicionalmente separadas para las que establece metas y prioridades de mejora de procesos.

CMMI tiene dos utilidades:

Sirve como guía para mejorar los procesos de desarrollo de software en una empresa.

Actúa como criterio para evaluar su nivel de madurez de una empresa, o de capacidad de sus procesos.

CMMI Proporciona guías para procesos de calidad y da un punto de referencia para realizar una evaluación de los procesos actuales. El CMMI también proporciona un método para evaluar la capacidad y la madurez de los procesos de las empresas para producir software o sistemas.

Este modelo está organizado en cinco niveles, ayudando a definir la prioridad de las acciones para aumentar la madurez y mejorar los procesos de ingeniería de software y proporciona una forma de ir mejorando progresivamente.

¿Por qué surgió CMMI®?

El departamento de defensa de los Estados Unidos tenía muchos problemas con el software que encargaba desarrollar a otras empresas, los presupuestos se disparaban, las fechas alargaban cada vez más y había baja calidad en los productos de software que se entregaban. Como esta situación les parecía intolerable se convocó un comité de expertos para que solucionara estos problemas. Dicho comité concluyó que se "Tenía que crear un Instituto de Ingeniería de Software, dedicado exclusivamente a los problemas del software, y a ayudar así al Departamento de Defensa”.

Como respuesta a esta crisis percibida en el desarrollo de software relacionado con problemas de costo y calidad de software, el Departamento de Defensa fundó el Instituto de Ingeniería de Software (SEI) en la Universidad Carnegie Mellon en Pittsbirgh, Pennsylvania a principios de los 1980.

El SEI (Software Engineering Institute) es el Instituto que desarrollo y mantiene el modelo de calidad CMM - CMMI. Este modelo surge como una alternativa para dar solución a los siguientes cuestionamientos:

Productos más complejos que requieren de un mejor desarrollo más rápido y a menor costo.

Page 2: CMMI

Metodologías y guías orientadas a áreas específicas.

Cobertura para diferentes tipos de empresas y proyectos.

Cobertura completa del diseño y producto.

Es un conjunto de buenas prácticas para el desarrollo del software, enfocado en los procesos de gestión y desarrollo de proyectos, cuyo objetivo es el desarrollo de productos de calidad de manera consistente y predecible.

El modelo CMMI (Capability Maturity Model Integration) provee un conjunto de mejores prácticas orientadas al desarrollo de software con base en procesos. Su propósito es evaluar la capacidad que tiene una empresa de definir e implantar dichos procesos de acuerdo con una escala de madurez de 5 niveles. Cada uno de los niveles contiene los elementos esenciales de procesos efectivos para una o más disciplinas y describe el camino para evolucionar y mejorar partiendo de procesos inmaduros a procesos maduros, disciplinados, con calidad y eficiencia mejorada y probada. CMMI integra los procesos y las mediciones de la calidad en su modelo y fomenta el uso de las prácticas óptimas.

El modelo de Capacidad de Madurez Integrado (CMMI)

¿Qué es un modelo de madurez? un modelo de madurez (Maturity Model), es una colección estructurada de elementos que describen características de procesos efectivos, este modelo proporciona entre otras cosas un lugar para comenzar, la ventaja de las experiencias previas de una comunidad y un modo de definir lo que quiere decir mejorar para una empresa e igual puede ser usado como una prueba Patrón para evaluar empresas.

El objetivo del modelo de madurez de capacidad del software consiste en mejorar los procesos de desarrollo de software de tal modo que los proyectos sean más predecibles (En tiempo y costo) y se reduzcan los riesgos en los desarrollo (ahorro de costos).

Niveles de madurez en CMMI

La madurez de un proceso de software es el grado en el cual un proceso específico es efectivo, definido, gestionado, medido y controlado. La madurez supone un potencial en crecimiento en cuanto a capacidad e indica la riqueza de los procesos de una empresa y la consistencia con la cuál éstos son aplicados en los proyectos.

Un Nivel de Madurez es una plataforma evolutiva bien definida destinada a lograr un proceso de software maduro. Cada nivel de madurez proporciona una capa en los cimientos para un proceso de mejora continua. Cada nivel comprende un conjunto de objetivos que, una vez alcanzados, estabilizan un componente importante del proceso de software. Al alcanzar cada nivel del marco de madurez se establece un componente diferente en el proceso de software, resultando en un incremento en la capacidad de proceso de la empresa, así como la entrega de un software de calidad.

Page 3: CMMI

En la segunda parte de este artículo se describiran los Niveles de Madurez de CMMI así como los beneficios que se obtienen al utilizar este modelo.

CMMI (Segunda Parte)

En esta segunda parte se describiran los Niveles de Madurez de CMMI así como los beneficios que se obtienen al utilizar este modelo.

Niveles de madurez de CMMI

El modelo CMMI describe las metas que se deben alcanzar en cada uno de estos niveles de madurez, que sientan fundamentos sucesivos para la mejora continua del proceso. CMMI propone 5 distintos niveles de madurez:

1. Inicial. Estado inicial donde el desarrollo se basa en la responsabilidad de los individuos. Este es el nivel en donde están todas las empresas que no tienen procesos. Los procedimientos son inexistentes, no existen plantillas definidas a nivel corporativo por tanto los presupuestos se disparan, no es posible entregar el proyecto en fechas, tienes que trabajar en vacaciones y fines de semana para terminar un proyecto. No hay control sobre el estado del proyecto.

2. Gestionado. En este nivel se normalizan las buenas prácticas en el desarrollo de proyectos (en base a la experiencia y al método). Se pretende conseguir que en los proyectos de la empresa haya una gestión de los requisitos y que los procesos estén planeados, ejecutados medidos y controlados. La principal diferencia entre este nivel y el anterior es que el proyecto es gestionado y controlado durante el desarrollo del mismo. El desarrollo no es opaco y se puede saber el estado del proyecto en todo momento.

Los procesos que hay que implantar para alcanzar este nivel son:

Gestión de requisitos. Planificación de proyectos. Seguimiento y control de proyectos. Gestión de acuerdos con los proveedores. Medición y Análisis. Aseguramiento de la calidad del proceso y del producto. Gestión de la configuración.

3. Definido. La empresa entera participa en el proceso eficiente de proyecto software. Este nivel significa que la forma de desarrollar proyectos esta definida, quiere decir que esta establecida, documentada y que existen, métodos y plantillas bien definidas y documentados. Los procesos no solo afectan a los equipos de desarrollo sino a toda la empresa relacionada. Los procesos se pueden definir cualitativamente.

Los procesos que hay que implantar para alcanzar este nivel son:

Desarrollo de requisitos.

Page 4: CMMI

Solución Técnica. Integración del producto. Verificación. Validación. Desarrollo y mejora de los procesos de la empresa. Definición de los procesos de la empresa. Planificación de la formación. Gestión de riesgos. Análisis y resolución de toma de decisiones.

La mayoría de las empresas que llegan al nivel 3 paran aquí, ya que es un nivel que proporciona muchos beneficios y no ven la necesidad de ir más allá porque tienen cubiertas la mayoría de sus necesidades.

4. Cuantitativamente Gestionado. Los proyectos usan objetos medibles (estadísticos) para alcanzar las necesidades de los clientes y la empresa. Las estadísticas son almacenadas para aprovechar su aportación en siguientes proyectos.

Los procesos que hay que implantar para alcanzar este nivel son:

Gestión cuantitativa de proyectos. Mejora de los procesos de la empresa.

5. Optimizado. Los procesos de los proyectos y de la empresa están orientados a la mejora de las actividades. Mejoras incrementales e innovadoras de los procesos que mediante métricas son identificadas, evaluadas y puestas en práctica. En base a criterios cuantitativos se pueden determinar las desviaciones más comunes y optimizar procesos. En los siguientes proyectos se produce una reducción de costos gracias a la anticipación de problemas y la continua revisión de procesos conflictivos.

Los procesos que hay que implantar para alcanzar este nivel son:

Innovación y despliegue de la empresa. Análisis y resolución de las causas.

Normalmente las empresas que intentan alcanzar los niveles 4 y 5 lo realizan simultáneamente ya que están muy relacionados.

El CMMI establece 6 niveles para medir la capacidad de los procesos:

0.- Incompleto. El proceso no se realiza, o no se consiguen sus objetivos.

1.- Ejecutado. Es un proceso que cumple con las metas específicas del área de proceso. El proceso se ejecuta y se logra su objetivo.

Page 5: CMMI

2.- Gestionado. Además de ejecutarse, el proceso se planifica, se revisa y se evalúa para comprobar que cumple los requisitos.

3.- Definido. El proceso está definido en la empresa y se ejecuta siempre.

4.- Cuantitativamente gestionado. Además de ser un proceso definido se controla utilizando técnicas estadísticas cuantitativas.

5.- Optimizado. Además de ser un proceso cuantitativamente gestionado, de forma sistemática se revisa y modifica para adaptarlo a los objetivos del negocio.

Beneficios derivados de la mejora del Proceso Software bajo el modelo CMMI.

Las mejores prácticas de los modelos CMMI permiten a las empresas obtener los siguientes beneficios:

Mejora alineación a objetivos de negocio. Mayor eficacia en la detección de errores a lo largo del ciclo de vida de los proyectos del

Software, reduciendo drásticamente el número de errores que afecta directamente a los clientes y usuarios.

Resultados más predecibles en los proyectos. Implementación de técnicas proactivas de gestión, mitigando los riesgos que afectan a los

proyectos. Liberaciones de tensiones, malentendidos y vacíos de responsabilidad en Proyectos

Software. Disposición de información de gestión útil a la hora de tomar decisiones ya sean éstas

relacionadas con la Gestión de Proyectos Software, bien con la mejora continua del Proceso Software.

Mejora en la calidad del producto. Lograr la satisfacción del cliente. Menores costos de desarrollo. Mayor rapidez de respuesta. Mejora la productividad.

http://www.qualitrain.com.mx/CMMI-Primera-parte.html