Modelo Cmmi 7

66
Modelo CMMI Prof. Ing Ana Maria Huayna Dueñas

description

control de calidad

Transcript of Modelo Cmmi 7

Page 1: Modelo Cmmi 7

Modelo CMMI

Prof. Ing Ana Maria Huayna Dueñas

Page 2: Modelo Cmmi 7

Problemas de la Industria

Los Proyectos están : Excesivamente tarde Spbrepresupuestados

Los beneficios de los mejores métodos e instrumentos no se pueden obtener en el medio indisciplinado y caótico de desarrollo

Page 3: Modelo Cmmi 7

Organizaciones no maduras

Los procesos de software son improvisados Organizaciones “Apaga fuego” La planificación en tiempo y recursos no se

cumple

La calidad y la funcionalidad se compromete.

Page 4: Modelo Cmmi 7

Organizaciones no maduras No hay bases objetivas para : - Enjuiciar la claridad del producto - Resolver problemas de los productos y del software.

Las revisiones y pruebas son eliminadas ó disminuidas cuando el proyecto se atrasa

A correr !!

Page 5: Modelo Cmmi 7

La calidad y la productividad

No solo se logra aplicando nuevas metodologías y tecnologías para desarrollar y mantener software.

El principal problema es la incapacidad para administrar los procesos de software.

UML

Page 6: Modelo Cmmi 7

Temáticas

CMMI: Capability Maturity Model Integrator Niveles de la Organización Areas de Procesos del nivel 2 Areas de Procesos del nivel 3

Page 7: Modelo Cmmi 7

Que es CMMI ?

Es un modelo para la mejora de procesos que proporciona a las organizaciones los elementos esenciales para procesos eficaces

1984 Creación del SEI Software Engineering Institute

1991 Primera versión de CMMI 2000 Aprobación de CMMI

Page 8: Modelo Cmmi 7

CMMI ¿Para que?

Para mejorar los procesos que inciden en el mantenimiento y desarrollo de software

Criterio para evaluar los procesos de una empresa que mantiene y desarrolla software.

Page 9: Modelo Cmmi 7

CMM CMM es una aplicación de sentido común de los

conceptos de gestión de procesos y mejora de la calidad al desarrollo y mantenimiento del software”.

Mark C.Paulk Software Engineering Institute Estudia los procesos de desarrollo de software de una

organización y produce una evaluación de la madurez de la organización según una escala de 5 niveles.

La madurez de un procesos es un indicador de la capacidad para construir un software de calidad

Es un modelo para la mejora de las organizaciones. Obliga a una revisión constante.

Page 10: Modelo Cmmi 7

CMMI

Incremento de productividad de la entidad.

Mejor comunicación con los clientes y entre los profesionales de la entidad.

Mayor satisfacción de las solicitudes de los clientes.

Específica para las empresas de software.

Ofrece un camino de mejora continua.

Permite a un interesado externo tener certeza sobre el potencial de una organización.

Su aplicación resulta compleja (PSP Personal Software Process y TSP Team Software Process).

Su implementación en las empresas toma tiempo.

VENTAJAS DESVENTAJAS

Page 11: Modelo Cmmi 7

PSP Personal Software Process

Proporciona métodos detallados para estimular y planear, muestra a los ingenieros cómo dar seguimiento a su desempeño contra estos planes y explica como los procesos definidos pueden guiar su trabajo.

El PSP tiene el propósito de desarrollar hábitos de programación, en especial en cuanto a la medición.(¿Cuánto tiempo he dedicado a este código?, ¿Cuántas LDC he escrito?, ¿Cuántos defectos conocidos he generado?.

Page 12: Modelo Cmmi 7

TSP Team Software Process Formar equipos autodirigidos

- 3 a 20 ingenieros - Establecer sus propias metas

- Establecer sus propios procesos y planes. - Rastrear el trabajo. Mostrar a los gerentes cómo administrar equipos

- Orientar- Motivar- Apoyar el desempeño más alto.

Acelerar la mejora del CMM- Hacer que el CMMI 5 sea “normal”.

Proporcionar guías de mejoramiento para organizaciones con alta madurez

Facilitar la enseñanza universitaria a equipos integrados con la industria.

Page 13: Modelo Cmmi 7

CMMI: Capability Maturity Model Integrator

Describe las prácticas de Ingeniería de Software y de administración que caracterizan como las organizaciones maduran sus procesos para desarrollar y mantener software.

Page 14: Modelo Cmmi 7

CMMI guía a la empresa

Como ganar el control de sus procesos para desarrollar y mantener software.

Como evolucionar hacia una cultura de ingeniería de software y de administración de excelencia.

Page 15: Modelo Cmmi 7

Modelos de CMMI-Capacibility Maturity Model for Software V2.draft C (Sw-CMM V2C)

-- EIA Interim Standard 731, System Engineering Capacibility Model (SECM)

-- Integrated Product Development Capacibility Maturity Model, draft VO.98 (IPD-CMM)

-Combina los modelos. Ingeniería de Sistemas/ Ingeniería de Software

- Puede ser aplicado a :

* Los proyectos de Ing. De Software

*Los proyectos de Ing. De Sistemas en una organización.

* A ambos

* IPPD puede ser usado en ambos

CMMI-SE/SW

Fases-Representación

CMMI-SE/SW

Continua - Representación

Page 16: Modelo Cmmi 7

CMMI Es importante tener claro:

- ¿Dónde nos encontramos?- ¿A dónde queremos llegar?- ¿Cómo llegaremos?- ¿Cómo sabremos si hemos llegado?

No se puede hacer todo de golpe Procesos pilotos previos a un despliegue a gran escala Se centra en los 3 aspectos que influyen en una organización.

Tecnología

Personas

Procesos

Page 17: Modelo Cmmi 7

Elementos que influyen en la calidad

Todos comprenden la importancia de tener una fuerza de trabajo motivada y calificada pero….

“…Aún las personas más inteligentes y capaces no pueden desarrollar de la mejor manera cuando el proceso no es entendido ó operado “ de la mejor forma

ProcesosTecnología

Personas

Los mayores determinantes de un producto : Costo, cronograma y calidad

Page 18: Modelo Cmmi 7

Definición de Proceso

Un proceso es un conjunto de prácticas realizadas para alcanzar un propósito dado; este puede incluir herramientas, métodos, materiales, y/0 personas.

Mientras que proceso es frecuentemente descrito como la pierna de la triada proceso-persona-tecnología, realmente debe ser considerado como la “goma” que integra los otros aspectos.

Page 19: Modelo Cmmi 7

Proceso de Ingeniería de Software

Proceso de la organización

Proceso del Proyecto

Actividades :Definición AnálisisPerfeccionamiento

Personalizaciones, datos del pasado , experiencia

Actividades :PlanificaciónSeguimiento y

ControlEjecución del

proceso (CM y LC)

Administrado por :SEPGAdministrador jefe

Datos del desempeño

Administrado por :PL.IngenierosSQA

Page 20: Modelo Cmmi 7

Especificación del Proceso

Actividades

Etapas ó Fases

Sub-Actividades

Proceso

Procesos

Pautas,formularios,

estándares,herramientas,BD del proceso,capacidad del proceso, líneas base.

Políticas

Page 21: Modelo Cmmi 7

La premisa básica de la mejora de proceso

“ La calidad de un producto es mayormente determinada por la calidad del proceso que es usado para desarrollar y mantener a éste”

Basado en los principios de TQM instruidos por Shewhart, Juran, Deming y Humphrey

Page 22: Modelo Cmmi 7

Capacidad de un proceso

“Describe el rango de los resultados esperados que pueden ser alcanzados siguiendo un proceso de Software”

Page 23: Modelo Cmmi 7

Capacidad de una empresa

Permite predecir lo que se puede esperar en un proyecto que realice

Page 24: Modelo Cmmi 7

Capacidad y desempeño

El desempeño por supuesto depende de la capacidad.

Para mejorar el desempeño hay que mejorar la capacidad, el proceso se hace más maduro.

CMMI ayuda a mejorar la capacidad

Page 25: Modelo Cmmi 7

Ejemplo : Capacidad y desempeño

Suponga un proceso

Codificar --- Probar --- Entregar De los datos de muchos proyectos se obtiene

que la calidad de la capacidad del proceso es de 3-6 defectos por KLDC.

Si se desea entregar con 2 defectos por KLDC, no se puede con este proceso.

Debe mejorarse el proceso.

Page 26: Modelo Cmmi 7

Ejemplo: Mejora del proceso 1

Cambiar el proceso a :

- Codificar –Revisar código – Probar --Entregar

La calidad de este proceso es ligeramente mejor, es de 2-5 defectos por KLDC.

Si se usa este proceso se tiene la posibilidad de entregar a 2 defectos por KLDC.

Este proceso no puede entregar a 1 defecto por KLDC.

Page 27: Modelo Cmmi 7

Ejemplo: Mejora del proceso 2

Más cambios al proceso :- Codificar – Revisar código – Hacer Plan de Pruebas –Revisar Plan de Pruebas --Probar --Entregar

La calidad de este proceso será mejor, es de 0,5-2 defectos por KLDC.

Si se usa este proceso para entregar a 1 defecto por KLDC.

Este proceso no puede entregar un producto con un requerimiento de 1 defecto por KLDC.

Page 28: Modelo Cmmi 7

Los niveles de Capacidad

5.Optimizado

4.Cuentativamente Administrado

3.Definido

2.Administrado

1.Realizado

0.Incompleto

Page 29: Modelo Cmmi 7

Distinciones CríticasRealizado Vs Administrado- La medida en la cual el proceso es planificado, el desempeño es administrado contra el plan, las acciones correctivas son tomadas cuando es necesario.

Administrado Vs Definido

- El alcance de la aplicación de la descripción del proceso, los estándares y procedimientos (proyecto Vs organización)

Defimido Vs Cuantitatiamente Administrado

- La posibilidad de predecir el desempeño ó realización del proceso

Cuantitativamente Administrado Vs Optimizado

- El proceso es continuamente mejorado de acuerdo a las causas comunes de variación del proceso

Page 30: Modelo Cmmi 7

Niveles de CMMI – Inicial (Caos)

Obtener objetivos específicos Ejecutar las prácticas básicas Establecer una política organizacional

EJECUTE EL TRABAJO

Page 31: Modelo Cmmi 7

Areas de Procesos Claves

Describe aquellas funciones de Ingeniería de Software que deben estar presentes para alcanzar un nivel dado de calidad por la empresa.

Page 32: Modelo Cmmi 7

Niveles de CMMI

ADMINISTRADO

DEFINIDO

Cuantitativamente administrado

INICIALL

OPTIMIZABLE

Page 33: Modelo Cmmi 7

Niveles de CMMI – Nivel Inicial

Procesos de

Software

Ad Hoc

Algunas veces caótico

Pocos procesos definidos

El éxito depende del esfuerzo y de las heroicidades individuales

Page 34: Modelo Cmmi 7

Para avanzar

Introducción y mejora de :

- Procedimientos de Ingeniería de Software.

- Controles de la gestión.

Page 35: Modelo Cmmi 7

Niveles de CMMI – Nivel Administrado

Los procesos básicos de gestión están establecidos para documentar los costos, los tiempos y la funcionalidad.

Existe una disciplina que permite repetir éxitos tempranos en aplicaciones similares.

Page 36: Modelo Cmmi 7

Aréas de proceso. Nivel Administrado

Áreas del nivel 2 Gestión de requerimientos Planificación de proyectos de software Monitoreo y control de proyectos Aseguramiento de la calidad del producto

y del proceso Gestión del acuerdo con los proveedores Medición y análisis

Page 37: Modelo Cmmi 7

Aréas de proceso. Nivel Administrado

Gestión de requerimientos

Los procesos básicos de gestión están establecidos para documentar la funcionalidad.

Page 38: Modelo Cmmi 7

Aréas de proceso. Nivel Administrado

Planificación de proyectos de software Monitoreo y control de proyectos

Se siguen planes basados en el desempeño en otros proyectos

Page 39: Modelo Cmmi 7

Aréas de proceso. Nivel Administrado

Aseguramiento de la calidad del producto y del proceso

Revisiones

Auditorías

Page 40: Modelo Cmmi 7

Aréas de proceso. Nivel Administrado

Gestión de configuración de software

Identificar, controlar, auditar los productos de software

Dónde están los fuentes?

Page 41: Modelo Cmmi 7

Aréas de proceso. Nivel Administrado

Gestión del acuerdo con los proveedores

Seleccionar :

Manejar efectivamente

A los proveedores

Page 42: Modelo Cmmi 7

Nivel Administrado

Medición y Análisis

• Establecer objetivos de la medición, especificar las mediciones, su almacenamiento y análisis.

• Proveer resultados de la medición

Page 43: Modelo Cmmi 7

Niveles de CMMI - Administrado

Procesos del proyecto personalizados con los estándares de la organización.

Procesos entendidos cuantitativamente. Se :

- Planea el proceso- Proveen recursos- Asignan responsabilidades- Entrena a las personas- Identifica e involucra a los stakeholders- Monitorea y controla el proceso- Administra la configuración- Revisa el estado de la alta Gerencia.

Page 44: Modelo Cmmi 7

Niveles de CMMI – Nivel Definido

• Los procesos de la organización están documentados, estandarizados e integrados

• El proceso efectivo de desarrollar proyectos está definido, documentado, el personal es entrenado en él y es obligatorio su uso.

LOS PROCESOS

Gestión

Actividades

De Ingeniería de Software

Page 45: Modelo Cmmi 7

Areas de proceso. Nivel Definido

Desarrollo de requerimientos Solución técnica Integración de producto Verificación Validación Foco en el proceso de la organización Definición del proceso de la organización Capacitación organizacional Administración integrada de proyectos Administración integrada de riesgos Administración integrada de proveedores Análisis y resolución de decisiones Entorno organizacional para la integración Administración integrada de equipos

Page 46: Modelo Cmmi 7

Areas de proceso. Nivel Definido

Desarrollo de requerimientos

Obtener requerimientos del cliente y del producto

Analizar y validar requerimientos

Page 47: Modelo Cmmi 7

Areas de proceso. Nivel Definido

Solución Técnica

Seleccionar soluciones de producto ó componentes de producto.

Desarrollar e implementar el diseño

Page 48: Modelo Cmmi 7

Areas de proceso. Nivel Definido

Integración de producto

Preparar integración y analizar interfaces

Ensamblar y entregar

Page 49: Modelo Cmmi 7

Areas de proceso. Nivel Definido

Verificación

Examen sistemático de los productos de software para encontrar defectos y cambios a realizar.

Preparar verificaciones y realizar revisiones por pares

Verificar productos de trabajo

Page 50: Modelo Cmmi 7

Areas de proceso. Nivel Definido

Validación

Preparar para la validación

Verificar productos ó componentes de trabajo

Page 51: Modelo Cmmi 7

Areas de proceso. Nivel Definido

Foco en el proceso de la organización

Determinar oportunidades de mejora

Planificar e implementar actividades de mejora

Page 52: Modelo Cmmi 7

Areas de proceso. Nivel Definido

Definición del proceso de la organización

Establecer los activos del proceso organizacional

Procesos estándares, modelos de ciclo de vida, biblioteca de activos de la organización, repositorio de mediciones.

Page 53: Modelo Cmmi 7

Areas de proceso. Nivel Definido

Capacitación organizacional

Proveer capacitación necesaria

Las personas realicen sus roles de forma efectiva y eficiente

Page 54: Modelo Cmmi 7

Areas de proceso. Nivel Definido

Administración integrada de proyectos

Integrar la gestión y la ingeniería de software en los procesos bien definidos.

El proceso definido para cada proyecto es personalizado de acuerdo al tipo

Organizar equipos integrados

Page 55: Modelo Cmmi 7

Areas de proceso. Nivel Definido

Administración integrada de riesgos

Preparar la administración de riesgos

Identificar y analizar los riesgos

Mitigar los riesgos

Page 56: Modelo Cmmi 7

Areas de proceso. Nivel Definido

Administración integrada de proveedores

Analizar y seleccionar los fuentes de los productos

Coordinar el trabajo con los proveedores

Page 57: Modelo Cmmi 7

Areas de proceso. Nivel Definido

Análisis y resolución de decisiones

Evaluar alternativas

Establecer los procedimientos y métodos a emplear

Page 58: Modelo Cmmi 7

Areas de proceso. Nivel Definido

Entorno organizacional para la integración

Proveer infraestructura

Administrar personas para la integración

Page 59: Modelo Cmmi 7

Areas de proceso. Nivel Definido

Administración integrada de equipos

Composición del equipo

Gobernar los equipos

Page 60: Modelo Cmmi 7

Niveles de CMMI – Cuantitativamente Administrado

Establecer objetivos cuantitativos para el proceso.

Estabilizar el rendimiento de los subprocesos. Medir el rendimiento del proceso Estabilizar el proceso Gráficos de control Atacar la causa de las variaciones especiales

Page 61: Modelo Cmmi 7

Niveles de CMMI – Optimizado

Asegurar el mejoramiento continuo de los procesos

Resolver de raíz la causa de los problemas Prevención de defectos Mejora proactiva Adopción de la tecnología a través de la

innovación.

Page 62: Modelo Cmmi 7

Gerencia de Proyectos en CMMIGERENCIA DE PROYECTOS

8 áreas de procesos

CMMI

25 áreas de procesos

Areas de Proceso Nivel

Gerencia cuantitativa de proyectos 4

Gerencia integrada de proveedores 3

Trabajo en equipo 3

Administración de riesgos 3

Gerencia integrada de proyectos 3

Monitoreo y control de proyectos 2

Planeación del proyecto 2

Gerencia de acuerdos con proveedores 2

Page 63: Modelo Cmmi 7

Evaluación (Appraisal)

Muchas organizaciones valoran el medir su progreso llevando a cabo una evaluación y ganando una clasificación del nivel de madurez o de un nivel de capacidad de logro. Este tipo de evaluaciones son realizadas normalmente por una o más de las siguientes razones: Para determinar que también los procesos de la organización se comparan con las mejores prácticas CMMI y determinar qué mejoras se pueden hacer. Para informar a los clientes externos y proveedores acerca de que también los procesos de la organización se comparan con las mejores prácticas CMMI. Para cumplir los requisitos contractuales de uno o más clientes.

Page 64: Modelo Cmmi 7

Evaluación (Appraisal) … Las valoraciones de las organizaciones utilizando un modelo

CMMI deben ajustarse a los requisitos definidos en el documento "Appraisal Requirements for CMMI" (ARC).

La evaluación se enfoca en identificar oportunidades de mejora, y comparar los procesos de la organización con las mejores prácticas CMMI. Los equipos de evaluación usan el modelo CMMI y un método conforme a ARC para guiar su evaluación y reporte de conclusiones.

Los resultados de la evaluación son usados para planear mejoras en la organización. Hay tres clases de evaluación: Clase A,B,C. El Standard CMMI Appraisal Method for Process Improvement (SCAMPI) es un Método de evaluación que cumple todos los requerimientos ARC. Una evaluación de clase A es más formal y es la única que puede resultar en una clasificación de nivel de Madurez y es realizado por personal autorizado Lead Appraiser (SEI).

Page 65: Modelo Cmmi 7

SCAMPI : Standard CMMI Appraisal Method for Process Improvement El Standard CMMI Appraisal Method for Process

Improvement (SCAMPI) es el método oficial SEI para proveer puntos de referencia de sistemas de calificación en relación con los modelos CMMI. SCAMPI se usan para identificar fortalezas y debilidades de los procesos, revelar riesgos de desarrollo/adquisición, y determinar niveles de capacidad y madurez. Se utilizan ya sea como parte de un proceso o programa de mejoramiento, o para la calificación de posibles proveedores. El método define el proceso de evaluación constando de preparación; las actividades sobre el terreno; observaciones preliminares, conclusiones y valoraciones; presentación de informes y actividades de seguimiento.

Page 66: Modelo Cmmi 7

SCAMPI : Standard CMMI Appraisal Method for Process Improvement

Puedes descargar la documentación del SCAMPI desde http://www.sei.cmu.edu/appraisal-program/publications/index.html

Para hacer un plan de evaluacion interna en mi empresa , lo que usualmente se hace es combinar las fortalezas y oportunidades de mejora de la evaluación con los objetivos de negocio de tu empresa.

Mayor guía al respecto la provee el modelo IDEAL de mejora continua. Lo puedes descargar desde:

http://www.sei.cmu.edu/publications/documents/96.reports/96.hb.001.html