Fecha de publicación del tutorial: 2006-03-31

Tutorial visitado 38.070 veces Descargar en PDF
CMMI – Modelo de madurez 2

CMMI – Modelos de madurez 2 y 3

Introducción

Llevo unos cuantos años dedicándome a esto del desarrollo de Software; esto me ha permitido tener bastantes compañeros de guerra que me han contado como se trabaja en las  empresas por las que previamente han pasado (muchos de ellos aprovecharon el boom de la informática que se produjo hace unos años, así que tienen muchas experiencias que contar); la forma de trabajar en ellas es similar, a pesar de ser empresas diferentes: alguien, sin ningún criterio ni procedimiento decide que un proyecto se hace en dos o tres meses, y al final siempre son seis o siete, después de palizas, de fines de semana, de largas noches; y encima todo el mundo acababa cabreado: clientes que ya no se fían y miran el producto desarrollado con desconfianza, y gerentes que ven que nuevamente los proyectos se van de costes. Además, a pesar de las similitudes, cada proyecto empieza como si fuese una guerra diferente que el anterior.

Normalmente, por la fuerza de la gravedad, las culpas suelen recaer sobre los equipos de desarrollo: el Analista no se ha enterado, los Analistas Programadores y Programadores no tienen suficientes conocimientos técnicos…

En Autentia, mi empresa, he aprendido que el problema no es exactamente los equipos de desarrollo. Aquí todo el mundo está altamente cualificado técnicamente, y además es consciente de que:

·        Los buenos conocimientos técnicos no son garantía de que un proyecto salga bien.

·        Es necesario seguir un procedimiento de calidad en el desarrollo de software que permita predecir el coste de un proyecto, y no lanzar estimaciones tipo: chuparse el dedo, ponerlo en alto y decir: uhmmm, 3 meses dependiendo de hacia donde sople el viento. Para ello, es necesario estandarizar el proceso de desarrollo de software a través de procesos definidos que permitan realizar los proyectos de una forma repetitiva.

·        Seguir un modelo de “buenas prácticas” como CMMI puede darnos las líneas maestras para estimar adecuadamente los proyectos (primer problema),  y para intentar estandarizar su desarrollo (segundo problema).

En este tutorial profundizaremos en parte del Modelo 2 y en el Modelo 3 entero de CMMI. La otra parte del modelo 2 fue desglosada por Roberto Canales Mora (director de Autentia) en el tutorial Calidad en el desarrollo de software. CMMI, y su lectura es obligada si queremos enterarnos de algo en este tutorial.

Gestionado o Nivel 2 – CMMI

Como nos detallaba Roberto en su tutorial, el nivel 2 o repetible nos explica como el éxito de los resultados obtenidos se pueden repetir. 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. Este proceso no lo vamos a desarrollar en este tutorial.

·        Planificación del proyecto

·        Seguimiento y control del proyecto

·        Gestión de acuerdos con proveedores

·        Medida y análisis

·        Medidas de calidad en el proceso y el producto

·        Gestión de configuración

Antes de continuar, es conveniente recordar el significado de las siguientes siglas:

SG: Meta Específica

GG: Meta Global

SP: Práctica Específica

GP: Práctica Global

 

Además, la consecución de las metas específicas de cada nivel implica conseguir alguna de las siguientes metas globales que detallamos a continuación. De ahora en adelante nos referiremos a ellas por el número (GG n):

 

GG 2: Institucionalizar un proceso gestionado

  GP 2.1: Establecer las políticas de la organización

  GP 2.2: Planificar los procesos

  GP 2.3: Proporcionar los recursos adecuados

  GP 2.4: Asignar las responsabilidades

  GP 2.5: Formar al personal

  GP 2.6: Gestionar la configuración

  GP 2.7: Identificar los actores importantes

  GP 2.8: Monitorizar y controlar los procesos

  GP 2.9: Evaluar objetivamente el cumplimiento

  GP 2.10: Revisar el proyecto con los responsables de mayor nivel

 

GG 3: Institucionalizar un proceso definido

  GG 2: Institucionalizar un proceso gestionado

  GP 3.1: Establecer procesos definidos

  GP 3.2: Recuperar información para la mejora

Planificación del proyecto

El objetivo de este proceso es establecer y mantener planes que definan las actividades a realizar en el proyecto, y en base a las mismas, establecer el presupuesto y los cronogramas del proyecto. A continuación se desglosan las metas a conseguir con este proceso, y las prácticas que se requieren para conseguir estas metas:

SG 1. Establecer estimaciones. Para ello hay que:

            SP 1.1. Estimar el alcance del proyecto (relación de tareas).

            SP 1.2. Realizar estimaciones de los productos de trabajo y atributos de las 

           tareas (tamaño en puntos función, líneas de código, etc).

            SP 1.3. Definir el ciclo de vida del proyecto (diferentes fases del proyecto).

            SP 1.4. Realizar estimaciones de esfuerzo y coste.    

SG 2. Desarrollar el plan de proyecto – un documento formal que se utilizará para manejar y controlar la ejecución del proyecto. Este documento estará basado en los requisitos del proyecto y en las estimaciones anteriores. Para conseguir esta meta hay que:

            SP 2.1. Establecer  el presupuesto y calendario del proyecto.

            SP 2.2. Identificar los riesgos del proyecto.

            SP 2.3. Definir un plan para administrar los datos, entendiendo por datos cualquier documentación requerida para soportar un programa en cualquiera de sus facetas (administración, control de cambios, logística, etc)

            SP 2.4. Definir un plan para administrar los recursos, entendiendo por recurso una máquina, materiales, métodos, etc.

            SP 2.5. Definir un plan para administrar los conocimientos y habilidades.

            SP 2.6. Definir un plan para involucrar a los interesados.

            SP 2.7. Establecer el Plan General del proyecto.

SG 3. Obtener un compromiso para realizar el plan – Se establecen y mantienen compromisos con todos los involucrados en el proyecto con las actividades definidas en el Plan de proyecto. Para conseguir esta meta hay que realizar las siguientes prácticas:

            SP 3.1. Revisar los planes que afectan al proyecto (con los involucrados).

            SP 3.2. Reconciliar el trabajo y el nivel de los recursos.

            SP 3.3. Conseguir el compromiso de los involucrados con el Plan de proyecto.

Con estas metas específicas se consigue la meta global GG 2.

Seguimiento y control del proyecto

El objetivo de este proceso es controlar el progreso del proyecto de forma que se puedan tomar acciones correctivas apropiadas cuando el progreso del proyecto se desvía significativamente del plan. Se cumple con el seguimiento y control de proyectos si se cumple con las siguientes prácticas:

SG 1. Monitorizar el proyecto de acuerdo con el Plan. Para ello hay que:

            SP 1.1. Monitorizar los parámetros del Plan de proyecto (% de avance, fechas

                       reales vs fechas estimadas, número de requerimientos atendidos vs

                       los planeados, etc).

            SP 1.2. Monitorizar los compromisos.

            SP 1.3. Monitorizar los riesgos.   

            SP 1.4. Monitorizar Plan de administración de datos (que los datos existan y

           estén almacenados en el lugar correcto).

            SP 1.5. Monitorizar de la involucración de los interesados .

            SP 1.6. Realizar revisiones del progreso del proyecto (avance del mismo).

            SP 1.7. Realizar revisiones de los hitos del proyecto.

SG 2. Administrar acciones correctivas a tomarSe realizan acciones correctivas cuando los resultados que se van obteniendo en el proyecto se desvían significativamente del Plan inicial. Para ello hay que:

            SP 2.1. Analizar los problemas.

            SP 2.2. Tomar acciones correctivas.

            SP 2.3. Administrar las acciones correctivas.

Con estas metas específicas se consigue la meta global GG 2.

 

Gestión de acuerdos con proveedores

El objetivo de este proceso es controlar la adquisición de productos proporcionados por los proveedores con los cuales existe un acuerdo formal. Este proceso se cumple si se cumplen las siguientes prácticas:

SG 1. Establecer acuerdos con proveedores. Para ello hay que:

            SP 1.1. Determinar el tipo de adquisición.

            SP 1.2. Seleccionar proveedores.

            SP 1.3. Establecer acuerdos con proveedores.           

SG 2. Satisfacer los acuerdos con proveedores. Para ello hay que:

            SP 2.1. Revisar los productos comerciales ya hechos (COTS Products, Commercial

          On The Self Products, en contraposición a productos realizados a medida).

            SP 2.2. Ejecutar los acuerdos con los proveedores.

            SP 2.3. Aceptar el productor adquirido.      

            SP 2.4. Efectuar la transición de productos.     

Con estas metas específicas se consigue la meta global GG 2.

 

Medidas y análisis

El propósito de este proceso es desarrollar y mantener la capacidad de tomar mediciones para atender las necesidades de información de cómo va el proyecto. Se cumple con este proceso si se cumple con las siguientes prácticas:

SG 1. Alinear actividades de medición y análisis con los objetivos y las necesidades de información. Para ello hay que:

            SP 1.1. Definir cuales van a ser los objetivos de la medición.

            SP 1.2. Especificar medidas (métricas básicas, número de requerimientos,

           esfuerzo esperado en la corrección de errores).

            SP 1.3. Establecer procedimientos de recolección de datos y almacenamiento

          de los mismos.         

            SP 1.4. Establecer el procedimiento de análisis.

SG 2. Proporcionar resultados de las mediciones

            SP 2.1. Guardar las mediciones.

            SP 2.2. Analizar las mediciones (para ver si los datos obtenidos son

           correctos).

            SP 2.3. Almacenar los datos y resultados obtenidos (métricas básicas y

           calculadas).   

            SP 2.4. Comunicar los resultados del proceso a los involucrados.

Con estas metas específicas se consigue la meta global GG 2.

 

Medidas de calidad en el proceso y en el producto

El objetivo de este proceso es proporcionar personal  cuyo objetivo sea profundizar en el proceso y en los productos de trabajo asociados. Se cumple con este proceso si se cumple con las siguientes prácticas:

SG 1. Evaluar objetivamente procesos y productos de trabajo. Para ello hay que:

            SP 1.1. Evaluar objetivamente los procesos.

            SP 1.2. Evaluar objetivamente los productos de trabajo y servicios.

SG 2. Proporcionar comunicación interna objetiva. Para ello hay que:

            SP 2.1. Comunicar las no conformidades y asegurar su resolución.

            SP 2.2. Establecer y mantener registro de actividades.

Con estas metas específicas se consigue la meta global GG 2.

 

Gestión de la configuración

El propósito de este proceso es establecer y mantener la integridad de los productos de trabajo manteniendo un control de sus versiones, lo que implica mantener una identificación, control y auditoria de cada versión. Se cumple con este proceso si se cumple con las siguientes prácticas:

SG 1. Establecer líneas base. Para ello hay que:

            SP 1.1. Identificar cada componente susceptible de ser versionado.

            SP 1.2. Establecer y mantener un sistema de administración de la

           configuración.

            SP 1.3. Crear líneas base (para uso interno o para entregar al cliente).      

SG 2. Seguimiento y control de cambios. Para cumplir con esta meta hay que:

            SP 2.1. Monitorizar los requisitos de cambio.

            SP 2.2. Controlar los componentes que han cambiado.

SG 3. Establecer la integridad

            SP 3.1. Establecer  y mantiener registros describiendo cada iteración de la

           configuración.

            SP 3.2. Ejecutar auditorias a la configuración para mantener la integridad.

Con estas metas específicas se consigue la meta global GG 2.

Definido o Nivel 3 – CMMI

Resumiéndolo mucho, alcanzar este nivel significa que la forma de desarrollar proyectos está definida, es decir, está establecida, documentada, y existen métricas (obtención de datos objetivos) para la consecución de objetivos concretos. Los procesos que hay que implantar para alcanzar este nivel son:

·        Gestión de requisitos

·        Solución técnica

·        Integración del producto

·        Verificación

·        Validación

·        Enfoque organizacional del proceso

·        Definición del proceso de la organización

·        Formación en la organización

·        Gestión de riesgos

·        Análisis de decisiones y resolución

Gestión de requisitos

El objetivo de este proceso es generar y analizar requisitos de clientes, del producto a desarrollar y de sus componentes. A continuación se desglosan las metas a conseguir con este proceso, y las prácticas que se requieren para conseguir estas metas:

SG 1. Desarrollar los requisitos del cliente. Para ello hay que:

            SP 1.1. Obtener las necesidades de los participantes.

            SP 1.2. Desarrollar los requisitos de los clientes.       

SG 2. Desarrollar los requisitos del Producto. Para ello hay que:

            SP 2.1. Establecer los requisitos del producto y componentes que integran el

           producto.

            SP 2.2. Asignar los requisitos a cada componente.

            SP 2.3. Identificar los requisitos de interfaces.

SG 3. Analizar y validar los requisitos. Para ello hay que:

            SP 3.1. Establecer y mantener los conceptos operacionales y escenarios

           asociados.

            SP 3.2. Establecer y mantener una definición de la funcionalidad requerida.

            SP 3.3. Analizar los requisitos.

            SP 3.4. Analizar los requisitos para ver su alcance.

            SP 3.5. Validar los requisitos con métodos que sean entendibles.

Con estas metas específicas se consiguen la meta global GG 3.

Solución técnica

El propósito de este proceso es desarrollar e implementar soluciones a los requisitos; las soluciones, diseños e implementaciones abarcan productos, componentes del producto y ciclos de vida asociados al producto. Se cumple con la solución técnica si se cumple con las siguientes metas específicas:

SG 1. Seleccionar soluciones para los componentes del producto

            SP 1.1. Desarrollar alternativas detalladas y criterios de selección (costos,

           rendimiento técnico, complejidad, limitaciones tecnológicas, riesgos, facilidad

           de uso, etc).

            SP 1.2. Evolucionar conceptos operacionales y escenarios (modo de

           operación, estado de la operación para cada componente).   

            SP 1.3. Seleccionar soluciones para los componentes del producto.        

SG 2. Crear el diseño. Para ello hay que:

            SP 2.1. Diseñar el producto o los componentes del producto (diseño

          detallado).

            SP 2.2. Establecer un paquete de datos técnicos (conjunto de

           especificaciones de un paquete).

            SP 2.3. Diseñar interfaces utilizando criterios.

            SP 2.4. Realizar los análisis de construcción, compra o reutilización.

SG 3. Implementar el diseño del producto. Para ello hay que:

            SP 3.1. Implementar el diseño (codificación, re-usabilidad de código, pruebas

           unitarias).

            SP 3.2. Desarrollar la documentación de soporte del producto.

Integración del producto

El propósito es integrar el producto a partir de sus componentes, asegurar que el producto (como parte de la integración) funciona correctamente, y entregar el producto. Se debe cumplir con las siguientes prácticas específicas:

SG 1. Preparar la integración del producto:

            SP 1.1. Determinar la secuencia de integración.

            SP 1.2. Establecer el entorno de integración del producto.

            SP 1.3. Establecer los criterios y procedimientos de integración del producto.

SG 2. Asegurar la compatibilidad de las interfaces:

            SP 2.1. Revisar la completitud de las revisiones de las interfaces.

            SP 2.2. Administrar las interfaces.

SG 3. Integrar los componentes del producto y entregar el producto:

            SP 3.1. Confirmar que los componentes del producto están listos para la

           integración.

            SP 3.2. Integrar los componentes del producto.

            SP 3.3. Evaluar las integraciones de los componentes del producto ya

           integrados.

.           SP 3.4. Empaquetar y entregar el producto o componente.

Verificación

El propósito es asegurar que los productos de trabajo seleccionados responden a los requerimientos especificados. A continuación se desglosan las metas a conseguir con este proceso, y las prácticas que se requieren para conseguir estas metas:

SG 1. Preparar la verificación

            SP 1.1. Seleccionar los productos de trabajo para la verificación

            SP 1.2. Establecer el entorno de verificación.

            SP 1.3. Establecer los procedimientos y criterios de verificación.

SG 2. Realizar revisions por terceros

            SP 2.1. Preparar revisiones por terceros.

            SP 2.2. Realizar revisiones por terceros.

            SP 2.3. Analizar resultados de revisiones por terceros.

SG 3 Verificar los productos de trabajo seleccionados

            SP 3.1. Realizar la verificación.

            SP 3.2. Analizar los resultados de la verificación e identificar las acciones

          correctivas.

Validación

El propósito es demostrar que un producto o componente satisface su uso pretendido, en el ambiente operativo planeado. A continuación se desglosan las metas a conseguir con este proceso, y las prácticas que se requieren para conseguir estas metas:

SG 1. Preparar la validación.

            SP 1.1. Seleccionar los productos a validar.

            SP 1.2. Establecer el entorno de validación.

            SP 1.3. Establecer los procedimientos y criterios de validación.

SG 2. Validar los productos o componentes de los productos.

            SP 2.1. Realizar la validación.

            SP 2.2. Analizar los resultados de la validación.

 

Enfoque organizacional del proceso

SG 1. Determinar las oportunidades de mejora del proceso.

            SP 1.1. Establecer las necesidades organizacionales del proceso.

            SP 1.2. Evaluar los procesos de la organización.

            SP 1.3. Identificar mejoras en los procesos de la organización.

SG 2. Planificar e implementar las actividades de mejora de los procesos.

            SP 2.1. Establecer los planes de acción para los procesos.

            SP 2.2. Implementar los planes de acción para los procesos.

            SP 2.3. Desplegar recursos organizacionales para el proceso.

            SP 2.4. Incluir experiencias relacionadas con el proceso organizacional.

 

Definición del proceso de la organización

El objetivo de este proceso es establecer y mantener un conjunto utilizable de recursos organizacionales del proceso. A continuación se desglosan las metas a conseguir con este proceso, y las prácticas que se requieren para conseguir estas metas:

SG 1. Establecer los recursos organizacionales del proceso.

            SP 1.1. Establecer procesos estándar.

            SP 1.2. Establecer descripciones del modelo de ciclo de vida.

            SP 1.3. Establecer criterios y líneas generales de adaptación.

            SP 1.4. Establecer un almacén de medidas de la organización.

            SP 1.5. Establecer la librería de recursos del proceso a nivel organizacional.

 

Formación en la organización

El propósito de este proceso es desarrollar las habilidades y  conocimientos de las personas para que puedan desarrollar sus roles de forma eficiente.

SG 1. Habilitar a la organización para formar a su personal.

            SP 1.1. Establecer las necesidades estratégicas de formación.

            SP 1.2. Determinar qué necesidades de formación son responsabilidad de la

           organización.

            SP 1.3. Establecer un plan táctico de formación para la organización.

            SP 1.4. Establecer la capacidad de formación.

SG 2. Proporcionar la formación necesaria.

            SP 2.1. Dar la formación

            SP 2.2. Establecer registros de formación.

            SP 2.3. Determinar la efectividad de la formación.

 

Gestión de riesgos

El objetivo de la gestión de riesgos es identificar problemas potenciales antes de que ocurran,  de forma que las actividades asociadas  a ese manejo de riesgos  se puedan  planificar  y  realizar según se necesiten a lo largo  de la vida del producto o proyecto para mitigar impactos adversos para la consecución de los objetivos. A continuación se desglosan las metas a conseguir con este proceso, y las prácticas que se requieren para conseguir estas metas:

SG 1. Preparar la gestión de riesgos

            SP 1.1. Determinar los orígenes y categorías de los riesgos.

            SP 1.2. Definir los parámetros de los riesgos.

            SP 1.3. Establecer una estrategia de gestión de riesgos.

SG 2. Identificar y analizar los riesgos

            SP 2.1. Identificar riesgos.

            SP 2.2. Evaluar, categorizar y priorizar riesgos.

SG 3. Mitigar riesgos

            SP 3.1. Desarrollar planes para reducir los riesgos.

            SP 3.2. Implementar los planes de reducción de riesgos.

 

Análisis de decisiones y resolución

El objetivo del  análisis de decisiones  y la resolución es analizar las posibles  decisiones utilizando un proceso formal de evaluación que evalúe las alternativas identificadas  en base a criterios establecidos. A continuación se desglosan las metas a conseguir con este proceso, y las prácticas que se requieren para conseguir estas metas:

SG 1. Evaluar alternativas

            SP 1.1. Establecer las líneas maestras para el análisis de toma de decisiones.

            SP 1.2. Establecer los criterios de evaluación.

            SP 1.3. Identificar soluciones alternativas.

            SP 1.4. Seleccionar métodos de evaluación.

           SP 1.5. Evaluar alternativas.

            SP 1.6. Seleccionar soluciones.

Referencias

·        Manual oficial de CMMI que se puede descargar en http://www.sei.cmu.edu/cmmi/models/model-components-word.html

·        http://www.itba.edu.ar/capis/webcapis/proyectodetesisdemagister/peralta-anteproyecto.pdf

 

A continuación puedes evaluarlo:

Regístrate para evaluarlo

Por favor, vota +1 o compártelo si te pareció interesante

Share |
Anímate y coméntanos lo que pienses sobre este TUTORIAL: