introduccioncmmi
Post on 17-Jan-2016
8 Views
Preview:
DESCRIPTION
TRANSCRIPT
Introducción a Modelos de Calidad de Software
Introducción al CMMIEvolución del CMM
Modelo Escalonado y Modelo Continuo
Los Niveles de MadurezEl Método de Evaluación SCAMPI
Introducción a Modelos deCalidad de Software
Evolución del CMM
• Capability Maturity Model, Modelo de Madurez de Capacidades, es un modelo para la mejora o evaluación de los procesos de desarrollo y mantenimiento de sistemas y productos de software
Introducción a Modelos deCalidad de Software
Evolución del CMM
• Desarrollado por el SEI (Software Engineering Institute) de la Universidad Carnegie Mellon patrocinado por el Departamento de Defensa del Gobierno de los Estados Unidos
• El SEI tiene la misión de avanzar la disciplina de ingeniería de software para asegurar el desarrollo y operación de sistemas con costo, tiempo y calidad mejorados y predecibles
Introducción a Modelos deCalidad de Software
Evolución del CMM
• El SEI ha desarrollado, y constantemente está refinando modelos para la administración y la mejora de la capacidad del proceso de software
• En el proyecto de desarrollo del CMM estuvieron involucrados organizaciones de industria, el Gobierno de los Estados Unidos y el SEI, quienes donaron tiempo de uno o más participantes
Introducción a Modelos deCalidad de Software
Evolución del CMM
• Durante los años 90 el SEI desarrolló diversos modelos para la mejora y medición de la madurez específica para varias áreas– SW-CMM - P-CMM– SA-CMM - SSE-CMM– T-CMM - SE-CMM– IPD-CMM
Introducción a Modelos deCalidad de Software
Evolución del CMM
SEI Description of Process Maturity Framework and Maturity Questonnaire
SEI and MitreCorp. ProcessMaturityFramework
1986 20011987 19931991 1998
SEI Capability Maturity Framework V1.0
SEI SW CMM V1.1
Software Acquisition CMM (SA-CMM) Systems Engineering CMM (SE-CMM) Integrated Product Management CMM (IPM-CMM) People CMM (P-CMM)
CMMI SE/SW V1.1
Introducción a Modelos deCalidad de Software
CMMI
• En 1991 el SEI entregó el Capability Maturity Model (CMM), el cual tiene fuerte orientación al desarrollo del Software
• A mediados de la década del 90, el SEI decide unificar los modelos de ingeniería de software (SW-CMM), de ingeniería de sistemas (SE-CMM) y de desarrollo integrado de productos (IPD-CMM), embarcándose en un esfuerzo que da origen a una nueva generación llamada CMMI (Capability Maturity Model Integration)
Introducción a Modelos deCalidad de Software
CMMI
• La primera versión se publicó en Enero 2002
• En Marzo del 2002 se liberó el modelo Capability Maturity Model® Integration (CMMISM), Versión 1.1, el cual puede servir de guía para mejorar los procesos organizacionales, además del desarrollo del Software
Introducción a Modelos deCalidad de Software
CMMI
• El nuevo CMMI brinda un marco con una estructura común para todas las disciplinas (Ingeniería de Software, Ingeniería de Sistemas, etc.) e incorpora una forma de representación llamada Continua (tomada de IPD-CMM y SE-CMM), orientada a medir la mejora en los procesos de manera individual en vez de hacerlo de manera conjunta como la representación por niveles del modelo original (escalonado)
Introducción a Modelos deCalidad de Software
CMMI
• Es un conjunto de modelos que contienen los elementos esenciales para hacer efectivos los procesos en una organización
• Proveen la orientación para su uso en el desarrollo de procesos
• No son procedimientos o descripción de procesos
• Aplican a organizaciones de cualquier estructura
Introducción a Modelos deCalidad de Software
CMMI
• El proyecto de CMM Integration fue conceptualizado para resolver el problema de utilizar múltiples CMMs
• La misión del proyecto CMMI fue combinar los tres siguientes modelos origen:1. El Capability Maturity Model para el Software (SW-CMM)
v2.0 draft C2. El Modelo para Ingeniería de Sistemas (Systems
Engineering Capability Model, SECM)3. El Modelo Integrado de Madurez para Desarrollo de
Productos (Integrated Product Development Capability Maturity Model, IPD-CMM) v 0.98
Introducción a Modelos deCalidad de Software
CMMI
• El marco de referencia de CMMI también fue diseñado para soportar la integración futura de otras disciplinas
• Además, el CMMI fue desarrollado para ser consistente y compatible con el ISO/IEC 15504 Technical Report para la Evaluación de Procesos de Software
Introducción a Modelos deCalidad de Software
CMMI
• Dentro de esta nueva generación de modelos, el sucesor directo del CMM original es el denominado CMMI-SW
• Este modelo presenta una mayor cobertura con respecto a las prácticas y objetivos de cada área de proceso
Introducción a Modelos deCalidad de Software
Beneficios de implantar CMMI
• Reducción de costos por– Estimaciones basadas en hechos– Reducción de reprocesos– Acuerdos claros sobre el servicio y la
funcionalidad del producto a entregar
• Aumento en la confiabilidad por– Reducción consistente de errores– Cumplimiento consistente de fechas
Introducción a Modelos deCalidad de Software
Beneficios de implantar CMMI
• Mayor efectividad por– Visibilidad sobre el proceso y sobre el producto– Operar con estándares documentados– Personal entrenado
Introducción a Modelos deCalidad de Software
Países con evaluaciones oficiales CMMI
Introducción a Modelos deCalidad de Software
Representaciones del Modelo
• Los modelos del CMMI tienen dos representaciones– Continua– Por etapas (Escalonada)
• Ambas representaciones contienen los mismos elementos, la diferencia es la organización de ellos
Introducción a Modelos deCalidad de Software
Representación Continua
• Los procesos están organizados de una manera similar a la norma ISO/IEC 15504 la cual a su vez deriva de la norma ISO 9000
• Define 6 niveles (de 0 a 5) para establecer el grado de madurez de la organización
• Permite seleccionar el orden de la implementación que mejor se ajuste a las necesidades de la organización
Introducción a Modelos deCalidad de Software
Representación Continua
• La representación continua ofrece un enfoque flexible para la mejora de procesos
• Una organización puede escoger el mejorar el desempeño (o capacidad) de un punto específico relacionado con un proceso, o puede trabajar en diversas áreas que estén alineadas de forma cercana a los objetivos de negocio de la organización
• La representación continua también permite a la organización mejorar diferentes procesos a diferentes niveles
Introducción a Modelos deCalidad de Software
Representación Continua
• Sólo existen algunas limitaciones en las elecciones de una organización debido a las dependencias entre las áreas de procesos
• Los Niveles de Capacidad son utilizados para medir la ruta de mejora a través de cada área de procesos desde un proceso no ejecutado hasta un proceso en optimización. Por ejemplo, una organización podría desear esforzarse por alcanzar el nivel 2 en un área de procesos y un nivel 4 en otra
Introducción a Modelos deCalidad de Software
Representación Continua
• En la forma en que los procesos de una organización alcanzan un nivel de capacidad, ésta establece sus metas en el siguiente nivel de capacidad para la misma área de procesos o decide ampliar su alcance y crear el mismo nivel de capacidad a lo largo de un mayor número de áreas de procesos
• Si una organización conoce los procesos que necesita mejorar y entiende las dependencias entre las áreas de proceso descritas en CMMI, la representación continua puede ser una buena elección a implantar
Introducción a Modelos deCalidad de Software
Representación Continua
• Los 6 niveles definidos en CMMI para medir la capacidad de los procesos son:0. Incompleto - El proceso no se realiza, o no se consiguen
sus objetivos
1. Ejecutado– El proceso se ejecuta y se logra su objetivo
Introducción a Modelos deCalidad de Software
Representación Continua
2. Gestionado– Además de ejecutarse, el proceso se
planifica, se revisa y se evalúa para comprobar que cumple los requisitos
3. Definido– Además de ser un proceso "gestionado" se
ajusta a la política de procesos que existe en la organización, alineada con las directivas de la empresa
Introducción a Modelos deCalidad de Software
Representación Continua
4. Cuantitativamente gestionado– Además de ser un proceso definido se
controla utilizando técnicas cuantitativas
5. Optimizado– Además de ser un proceso
cuantitativamente gestionado, de forma sistemática se revisa y modifica o cambia para adaptarlo a los objetivos del negocio
Introducción a Modelos deCalidad de Software
Representación Escalonada
• Los elementos están organizados siguiendo el esquema del SW-CMM
• Define 5 niveles para determinar el grado de madurez de la organización
• Provee una secuencia para el mejoramiento comenzando con las prácticas básicas y progresando a través de una ruta predefinida de niveles exitosos
Introducción a Modelos deCalidad de Software
Representación Escalonada
• La representación escalonada o por etapas, ofrece un enfoque estructurado y sistemático para la mejora de procesos un paso a la vez
• Ir alcanzando cada etapa asegura que se ha desarrollado una mejora adecuada que sirve de base para la siguiente etapa
Introducción a Modelos deCalidad de Software
Representación Escalonada
• Las áreas de procesos están organizadas por niveles de madurez que toman muchas de las conjeturas de un proceso de mejora
• La representación escalonada formula el orden de implantación de cada área de procesos de acuerdo a los niveles de madurez, los cuales definen la ruta de mejora para una organización desde el nivel inicial hasta el nivel de optimización
Introducción a Modelos deCalidad de Software
Representación Escalonada
• El ir alcanzando cada nivel de madurez asegura que los cimientos adecuados de mejora se han establecido para el siguiente nivel de madurez y permite una mejora duradera e incremental
• Si la organización no conoce por dónde comenzar y cuáles son los procesos a seleccionar para la mejora, la representación escalonada es una buena alternativa
Introducción a Modelos deCalidad de Software
Representación Escalonada
• Esta representación ofrece un conjunto de procesos específicos a mejorar los cuales han sido determinados a través demás de una década de investigación y experiencia en la comunidad de software
Introducción a Modelos deCalidad de Software
Representación Escalonada
• Para el CMMI en su representación por etapas o escalonada los componentes son:– Cinco Niveles de Madurez, que soportan y
guían el proceso de mejora– Cuatro Áreas de Procesos, que agrupan los
procesos clave (KPA, Key Process Area) indicando cuales áreas deben ser implementadas para alcanzar cada nivel de madurez
Introducción a Modelos deCalidad de Software
Representación Escalonada
• Componentes …– Dentro de cada área, se utilizan cuatro
aspectos para organizar los objetivos y prácticas genéricas
– Dentro de cada área, son identificados los objetivos y prácticas específicos del área, en total son 25 Prácticas Claves
Introducción a Modelos deCalidad de Software
Niveles de Madurez
• Niveles de Madurez– Los Niveles de Madurez consisten en un juego
predefinido de áreas de proceso.– El nivel de madurez es medido por el logro de
los objetivos específicos y genéricos que aplican a cada juego predefinido de área de proceso.
Introducción a Modelos deCalidad de Software
Niveles de Madurez
• Existen Cinco niveles de Madurez designados del 1 al 5 y cada capa es la base para la siguiente en el proceso de mejora1. Inicial2. Administrado3. Definido4. Administrado Cuantitativamente5. Optimizado
Introducción a Modelos deCalidad de Software
Niveles de Madurez
• Inicial …– Estado inicial donde el desarrollo se basa en la
heroicidad y responsabilidad de los individuos– Las organizaciones en este nivel no disponen
de un ambiente estable para el desarrollo y mantenimiento de software
– Aunque se utilicen técnicas correctas de ingeniería, los esfuerzos se ven minados por falta de planificación
Introducción a Modelos deCalidad de Software
Niveles de Madurez
• Inicial– El éxito de los proyectos se basa la mayoría de
las veces en el esfuerzo personal, aunque a menudo se producen fracasos y casi siempre retrasos y sobre costos
– El resultado de los proyectos es impredecible– Los procedimientos son inexistentes o
localizados a áreas concretas– No existen plantillas a nivel corporativo
Introducción a Modelos deCalidad de Software
Niveles de Madurez
• Gestionado …– Se normalizan las buenas prácticas en el
desarrollo de proyectos (en base a la experiencia y el método)
– En este nivel las organizaciones disponen de unas prácticas institucionalizadas de gestión de proyectos, existen unas métricas básicas y un razonable seguimiento de la calidad
– La relación con subcontratistas y clientes está gestionada sistemáticamente
Introducción a Modelos deCalidad de Software
Niveles de Madurez
• Gestionado– En este nivel consolidado, las buenas prácticas
se mantienen en los momentos de estrés– Están definidos los productos a realizar– Se definen hitos para la revisión de productos
Introducción a Modelos deCalidad de Software
Niveles de Madurez
• Definido …– La organización entera participa en el proceso
eficiente del proyecto de software– Además de una buena gestión de proyectos,
en este nivel las organizaciones disponen de correctos procedimientos de coordinación entre grupos, formación del personal, técnicas de ingeniería más detalladas y un nivel más avanzado de métricas en los procesos
Introducción a Modelos deCalidad de Software
Niveles de Madurez
• Definido– Se implementan técnicas de revisión por pares
(peer reviews)– Se conoce de antemano los procesos de
construcción de software– Existen métodos y plantillas bien definidas y
documentados– Los procesos no sólo afectan a los equipos de
desarrollo sino a toda la organización relacionada– Los proyectos se pueden definir cualitativamente
Introducción a Modelos deCalidad de Software
Niveles de Madurez
• Cuantitativamente Gestionado– Se caracteriza por que las organizaciones
disponen de un conjunto de métricas significativas de calidad y productividad, que se usan de modo sistemático para la toma de decisiones y la gestión de riesgos
– El software resultante es de alta calidad
Introducción a Modelos deCalidad de Software
Niveles de Madurez
• Cuantitativamente Gestionado …– Se puede seguir con indicadores numéricos
(estadísticos) la evolución de los proyectos– Las estadísticas son almacenadas para
aprovechar su aportación en siguientes proyectos
– Los proyectos se pueden medir cuantitativamente
Introducción a Modelos deCalidad de Software
Niveles de Madurez
• Optimizado– La organización completa está volcada en la
mejora continua de los procesos– Se hace uso intensivo de las métricas y se
gestiona el proceso de innovación
Introducción a Modelos deCalidad de Software
Niveles de Madurez
• Optimizado …– 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 a problemas y la continua revisión de procesos conflictivos
Introducción a Modelos deCalidad de Software
Niveles de Madurez 1, 2 y 3
Introducción a Modelos deCalidad de Software
Nivel de Madurez 4
Introducción a Modelos deCalidad de Software
Nivel de Madurez 5
Introducción a Modelos deCalidad de Software
Organización de los Niveles de Madurez
Introducción a Modelos deCalidad de Software
Áreas de Proceso
• El CMMI se estructura en Áreas de Proceso (PA, Process Area)– Las áreas de proceso son un conjunto de
prácticas (practices) relacionadas que cuando se ejecutan en forma colectiva cumplen los objetivos requeridos para lograr una mejora sustantiva en un área
Introducción a Modelos deCalidad de Software
Áreas de Proceso
• Practices, se le denomina a las actividades que se espera que se ejecuten para lograr los objetivos de un área de proceso
Introducción a Modelos deCalidad de Software
Áreas de Proceso
Introducción a Modelos deCalidad de Software
Áreas de Proceso
• Las áreas de procesos pertenecen a una categoría de procesos
• Administración de Procesos– Actividades de definición, planeación,
implementación, monitoreo, control, valoración, medición y mejora de procesos
– Aplica a todos los proyectos
Introducción a Modelos deCalidad de Software
Áreas de Proceso
• Administración de Proyectos– Actividades relativas a la planeación,
monitoreo y control de un proyecto
• Ingeniería– Actividades de desarrollo y
mantenimiento de producto– Aplica a todas las disciplinas de
ingeniería
Introducción a Modelos deCalidad de Software
Áreas de Proceso
• Soporte– Actividades para soportar el desarrollo y
mantenimiento de producto
Introducción a Modelos deCalidad de Software
Áreas de Proceso
Área de proceso Categoría Nivel de Madurez
Análisis y resolución de problemas
Soporte 5
Gestión de la configuración Soporte 2
Análisis y resolución de decisiones
Soporte 3
Gestión integral de proyecto Gestión de proyectos
3
Gestión integral de proveedores
Gestión de proyectos
3
Introducción a Modelos deCalidad de Software
Áreas de Proceso
Área de proceso Categoría Nivel de Madurez
Gestión de equipos Gestión de proyectos
3
Medición y análisis Soporte 2
Entorno organizativo para integración
Soporte 3
Innovación y desarrollo Gestión de procesos 5
Definición de procesos Gestión de procesos 3
Procesos orientados a la organización
Gestión de procesos 3
Introducción a Modelos deCalidad de Software
Áreas de Proceso
Área de proceso Categoría Nivel de Madurez
Rendimiento de los procesos de la organización
Gestión de procesos 4
Formación Gestión de procesos 3
Integración de producto Ingeniería 3
Monitorización y control de proyecto
Gestión de proyectos
2
Planificación de proyecto Gestión de proyectos
2
Gestión calidad procesos y productos
Soporte 2
Introducción a Modelos deCalidad de Software
Áreas de Proceso
Área de proceso Categoría Nivel de Madurez
Gestión cuantitativa de proyectos
Gestión de proyectos
4
Desarrollo de requisitos Ingeniería 3
Gestión de requisitos Ingeniería 2
Gestión de riesgos Gestión de proyectos
3
Gestión y acuerdo con proveedores
Gestión de proyectos
2
Introducción a Modelos deCalidad de Software
Áreas de Proceso
Área de proceso Categoría Nivel de Madurez
Solución técnica Ingeniería 3
Validación Ingeniería 3
Verificación Ingeniería 3
Introducción a Modelos deCalidad de Software
Áreas de Proceso
Introducción a Modelos deCalidad de Software
Método de Evaluación: SCAMPI
• En paralelo con el desarrollo de CMMI, el SEI elaboró un método para la evaluación formal del modelo denominado SCAMPI (Standard CMMI Appraisal Method for Process Improvement)
Introducción a Modelos deCalidad de Software
SCAMPI
• En SCAMPI, los resultados de una evaluación se obtienen mediante la aplicación de un conjunto de reglas de negocio aplicadas a cada componente del modelo (prácticas, objetivos, áreas de proceso y niveles de madurez)
• El método SCAMPI consta de tres fases, en cada una de las cuales se llevan a cabo un conjunto de procesos
Introducción a Modelos deCalidad de Software
SCAMPI
1.Planificación y preparación de la evaluación1.1 Analizar Requerimientos
Entender las necesidades de negocio de la organización. Nivelar los objetivos del negocio con los objetivos de la evaluación
1.2 Desarrollar plan de evaluaciónDocumentar requerimientos, acuerdos, estimaciones, riesgos, personalizaciones del método y consideraciones prácticas. Consensuar el plan de evaluación con la organización
Introducción a Modelos deCalidad de Software
SCAMPI
1.3 Seleccionar y preparar equipoAsegurar que un equipo calificado esté a cargo de la ejecución de la evaluación
1.4 Obtener y preparar evidencia objetiva inicialObtener información que facilite la preparación de la evaluación. Identificar potenciales fortalezas y debilidades. Obtener un entendimiento preliminar de las operaciones y procesos de la organización
Introducción a Modelos deCalidad de Software
SCAMPI
1.5 Preparar la recolección de la evidencia objetivaPlanificar y documentar las estrategias para la recolección de datos, incluyendo fuentes de datos, herramientas y tecnologías a utilizar
Introducción a Modelos deCalidad de Software
SCAMPI
2. Conducción de la Evaluación2.1 Examinar la evidencia objetiva
Recolectar información sobre las prácticas implementadas en la organización, siguiendo el plan de recolección definido
2.2 Verificar y Validar la evidencia objetivaVerificar la implementación de las prácticas en la organización. Cada práctica implementada se compara con la definición del Modelo CMMI y el equipo le asigna una valoración
Introducción a Modelos deCalidad de Software
SCAMPI
2.3 Documentar la evidencia objetivaCrear registros que documenten la implementación de las prácticas, contemplando también las fortalezas y debilidades encontradas
2.4 Generar los resultados de la EvaluaciónCalificar la satisfacción de los objetivos de acuerdo a las valoraciones asignadas a las prácticas. Calificar la satisfacción de las áreas de proceso de acuerdo a la satisfacción de los objetivos. Calificar los niveles de capacidad o madurez de acuerdo a la satisfacción de las áreas de proceso
Introducción a Modelos deCalidad de Software
SCAMPI
3. Reporte de los Resultados3.1 Entregar los resultados de la evaluación
Entregar los resultados obtenidos a la organización de manera que puedan ser utilizados para tomar acciones futuras
3.2 Empaquetar y archivar los activos de la evaluaciónPreservar los datos y registros importantes resultantes de la evaluación, almacenándolos de manera apropiada
Introducción a Modelos deCalidad de Software
SCAMPI
• Una evaluación en SCAMPI v1.1 permite:– Obtener una visión de la capacidad de ingeniería
de una organización al identificar las fortalezas y debilidades de sus procesos actuales
– Relacionar estas fortalezas y debilidades al modelo CMMI
– Priorizar los planes de mejora– Obtener niveles de capacidad así como niveles
de madurez
Introducción a Modelos deCalidad de Software
SCAMPI
• Una evaluación en SCAMPI v1.1 permite:– Enfocar los mejoras (corregir debilidades que
produzcan riesgos) que son los más benéficos para la organización dada su actual nivel de madurez de las capacidades de sus procesos
– Identificar riesgos de adquisición/desarrollo relativos a determinaciones de capacidad/ madurez
Fin de la PresentaciónContinúe en la siguiente
actividad
Introducción al CMMIEvolución del SW-CMM
Modelo Escalonado y Modelo Continuo
Los Niveles de MadurezLos Procesos Clave
El Método de Evaluación SCAMPI
top related