Introduccin a Modelos de
Calidad de Software
Evolucin del CMM
Capability Maturity Model, Modelo de Madurez
de Capacidades, es un modelo para la mejora o
evaluacin de los procesos de desarrollo y
mantenimiento de sistemas y productos de
software
Introduccin a Modelos de
Calidad de Software
Evolucin 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 misin de avanzar la disciplina de
ingeniera de software para asegurar el
desarrollo y operacin de sistemas con costo,
tiempo y calidad mejorados y predecibles
Introduccin a Modelos de
Calidad de Software
Evolucin del CMM
El SEI ha desarrollado, y constantemente est
refinando modelos para la administracin 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 ms participantes
Introduccin a Modelos de
Calidad de Software
Evolucin del CMM
Durante los aos 90 el SEI desarroll diversos
modelos para la mejora y medicin de la
madurez especfica para varias reas
SW-CMM
SA-CMM
T-CMM
IPD-CMM
- P-CMM
- SSE-CMM
- SE-CMM
Introduccin a Modelos de
Calidad de Software
Evolucin del CMM
1986 1987
SEI and Mitre
Corp. Process
Maturity
Framework
1991
1993
SEI Capability
Maturity
Framework V1.0
SEI Description of
Process Maturity
Framework and
Maturity
Questonnaire
1998
Software Acquisition
CMM (SA-CMM)
Systems Engineering
CMM (SE-CMM)
Integrated Product
Management CMM
(IPM-CMM)
People CMM (P-CMM)
2001
CMMI SE/SW V1.1
Introduccin a Modelos de
Calidad de Software
CMMI
En 1991 el SEI entreg el Capability Maturity
Model (CMM), el cual tiene fuerte orientacin al
desarrollo del Software
A mediados de la dcada del 90, el SEI decide
unificar los modelos de ingeniera de software
(SW-CMM), de ingeniera de sistemas (SE-CMM) y
de desarrollo integrado de productos (IPD-CMM),
embarcndose en un esfuerzo que da origen a una
nueva generacin llamada CMMI (Capability
Maturity Model Integration)
Introduccin a Modelos de
Calidad de Software
CMMI
La primera versin se public en Enero 2002
En Marzo del 2002 se liber el modelo
Capability Maturity Model Integration
(CMMISM), Versin 1.1, el cual puede servir de
gua para mejorar los procesos
organizacionales, adems del desarrollo del
Software
Introduccin a Modelos de
Calidad de Software
CMMI
El nuevo CMMI brinda un marco con una estructura
comn para todas las disciplinas (Ingeniera de
Software, Ingeniera de Sistemas, etc.) e incorpora una
forma de representacin 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 representacin por niveles
del modelo original (escalonado)
Introduccin a Modelos de
Calidad de Software
CMMI
Es un conjunto de modelos que contienen los
elementos esenciales para hacer efectivos los
procesos en una organizacin
Proveen la orientacin para su uso en el
desarrollo de procesos
No son procedimientos o descripcin de
procesos
Aplican a organizaciones de cualquier
estructura
Introduccin a Modelos de
Calidad de Software
CMMI
El proyecto de CMM Integration fue conceptualizado
para resolver el problema de utilizar mltiples CMMs
La misin del proyecto CMMI fue combinar los tres
siguientes modelos origen:
1. El Capability Maturity Model para el Software (SW-CMM) v2.0
draft C
2. El Modelo para Ingeniera 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
Introduccin a Modelos de
Calidad de Software
CMMI
El marco de referencia de CMMI tambin fue
diseado para soportar la integracin futura de
otras disciplinas
Adems, el CMMI fue desarrollado para ser
consistente y compatible con el ISO/IEC 15504
Technical Report para la Evaluacin de
Procesos de Software
Introduccin a Modelos de
Calidad de Software
CMMI
Dentro de esta nueva generacin de modelos,
el sucesor directo del CMM original es el
denominado CMMI-SW
Este modelo presenta una mayor cobertura con
respecto a las prcticas y objetivos de cada
rea de proceso
Introduccin a Modelos de
Calidad de Software
Beneficios de implantar CMMI
Reduccin de costos por
Estimaciones basadas en hechos
Reduccin de reprocesos
Acuerdos claros sobre el servicio y la funcionalidad
del producto a entregar
Introduccin a Modelos de
Calidad de Software
Beneficios de implantar CMMI
Mayor efectividad por
Visibilidad sobre el proceso y sobre el producto
Operar con estndares documentados
Personal entrenado
Introduccin a Modelos de
Calidad de Software
Pases con evaluaciones oficiales CMMI
Introduccin a Modelos de
Calidad de Software
Representaciones del Modelo
Los modelos del CMMI tienen dos
representaciones
Continua
Por etapas (Escalonada)
Introduccin a Modelos de
Calidad de Software
Representacin Continua
Los procesos estn 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 organizacin
Permite seleccionar el orden de la
implementacin que mejor se ajuste a las
necesidades de la organizacin
Introduccin a Modelos de
Calidad de Software
Representacin Continua
La representacin continua ofrece un enfoque flexible
para la mejora de procesos
Una organizacin puede escoger el mejorar el
desempeo (o capacidad) de un punto especfico
relacionado con un proceso, o puede trabajar en
diversas reas que estn alineadas de forma cercana a
los objetivos de negocio de la organizacin
La representacin continua tambin permite a la
organizacin mejorar diferentes procesos a diferentes
niveles
Introduccin a Modelos de
Calidad de Software
Representacin Continua
Slo existen algunas limitaciones en las elecciones de
una organizacin debido a las dependencias entre las
reas de procesos
Los Niveles de Capacidad son utilizados para medir la
ruta de mejora a travs de cada rea de procesos desde
un proceso no ejecutado hasta un proceso en
optimizacin. Por ejemplo, una organizacin podra
desear esforzarse por alcanzar el nivel 2 en un rea de
procesos y un nivel 4 en otra
Introduccin a Modelos de
Calidad de Software
Representacin Continua
En la forma en que los procesos de una organizacin
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
nmero de reas de procesos
Si una organizacin conoce los procesos que necesita
mejorar y entiende las dependencias entre las reas de
proceso descritas en CMMI, la representacin continua
puede ser una buena eleccin a implantar
Introduccin a Modelos de
Calidad de Software
Representacin 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
Introduccin a Modelos de
Calidad de Software
Representacin Continua
2. Gestionado
Adems de ejecutarse, el proceso se planifica,
se revisa y se evala para comprobar que cumple
los requisitos
3. Definido
Adems de ser un proceso "gestionado" se ajusta
a la poltica de procesos que existe en la
organizacin, alineada con las directivas de la
empresa
Introduccin a Modelos de
Calidad de Software
Representacin Continua
4. Cuantitativamente gestionado
Adems de ser un proceso definido se controla
utilizando tcnicas cuantitativas
5. Optimizado
Adems de ser un proceso cuantitativamente
gestionado, de forma sistemtica se revisa y
modifica o cambia para adaptarlo a los objetivos
del negocio
Introduccin a Modelos de
Calidad de Software
Representacin Escalonada
Los elementos estn organizados siguiendo el
esquema del SW-CMM
Define 5 niveles para determinar el grado de
madurez de la organizacin
Provee una secuencia para el mejoramiento
comenzando con las prcticas bsicas y
progresando a travs de una ruta predefinida de
niveles exitosos
Introduccin a Modelos de
Calidad de Software
Representacin Escalonada
La representacin escalonada o por etapas,
ofrece un enfoque estructurado y sistemtico
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
Introduccin a Modelos de
Calidad de Software
Representacin Escalonada
Las reas de procesos estn organizadas por
niveles de madurez que toman muchas de las
conjeturas de un proceso de mejora
La representacin escalonada formula el orden
de implantacin de cada rea de procesos de
acuerdo a los niveles de madurez, los cuales
definen la ruta de mejora para una
organizacin desde el nivel inicial hasta el nivel
de optimizacin
Introduccin a Modelos de
Calidad de Software
Representacin 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 organizacin no conoce por dnde
comenzar y cules son los procesos a
seleccionar para la mejora, la representacin
escalonada es una buena alternativa
Introduccin a Modelos de
Calidad de Software
Representacin Escalonada
Esta representacin ofrece un conjunto de
procesos especficos a mejorar los cuales han
sido determinados a travs dems de una
dcada de investigacin y experiencia en la
comunidad de software
Introduccin a Modelos de
Calidad de Software
Representacin Escalonada
Para el CMMI en su representacin por etapas o
escalonada los componentes son:
Cinco Niveles de Madurez, que soportan y guan 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
Introduccin a Modelos de
Calidad de Software
Representacin Escalonada
Componentes
Dentro de cada rea, se utilizan cuatro aspectos
para organizar los objetivos y prcticas genricas
Dentro de cada rea, son identificados los objetivos
y prcticas especficos del rea, en total son 25
Prcticas Claves
Introduccin a Modelos de
Calidad 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 especficos y genricos que aplican a cada
juego predefinido de rea de proceso.
Introduccin a Modelos de
Calidad 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 mejora
1.
2.
3.
4.
5.
Inicial
Administrado
Definido
Administrado Cuantitativamente
Optimizado
Introduccin a Modelos de
Calidad 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 tcnicas correctas de ingeniera,
los esfuerzos se ven minados por falta de
planificacin
Introduccin a Modelos de
Calidad de Software
Niveles de Madurez
Inicial
El xito de los proyectos se basa la mayora 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
Introduccin a Modelos de
Calidad de Software
Niveles de Madurez
Gestionado
Se normalizan las buenas prcticas en el desarrollo
de proyectos (en base a la experiencia y el mtodo)
En este nivel las organizaciones disponen de unas
prcticas institucionalizadas de gestin de
proyectos, existen unas mtricas bsicas y un
razonable seguimiento de la calidad
La relacin con subcontratistas y clientes est
gestionada sistemticamente
Introduccin a Modelos de
Calidad de Software
Niveles de Madurez
Gestionado
En este nivel consolidado, las buenas prcticas se
mantienen en los momentos de estrs
Estn definidos los productos a realizar
Se definen hitos para la revisin de productos
Introduccin a Modelos de
Calidad de Software
Niveles de Madurez
Definido
La organizacin entera participa en el proceso
eficiente del proyecto de software
Adems de una buena gestin de proyectos, en este
nivel las organizaciones disponen de correctos
procedimientos de coordinacin entre grupos,
formacin del personal, tcnicas de ingeniera ms
detalladas y un nivel ms avanzado de mtricas en
los procesos
Introduccin a Modelos de
Calidad de Software
Niveles de Madurez
Definido
Se implementan tcnicas de revisin por pares (peer
reviews)
Se conoce de antemano los procesos de construccin de
software
Existen mtodos y plantillas bien definidas y
documentados
Los procesos no slo afectan a los equipos de desarrollo
sino a toda la organizacin relacionada
Los proyectos se pueden definir cualitativamente
Introduccin a Modelos de
Calidad de Software
Niveles de Madurez
Cuantitativamente Gestionado
Se caracteriza por que las organizaciones disponen
de un conjunto de mtricas significativas de calidad
y productividad, que se usan de modo sistemtico
para la toma de decisiones y la gestin de riesgos
El software resultante es de alta calidad
Introduccin a Modelos de
Calidad de Software
Niveles de Madurez
Cuantitativamente Gestionado
Se puede seguir con indicadores numricos
(estadsticos) la evolucin de los proyectos
Las estadsticas son almacenadas para aprovechar su
aportacin en siguientes proyectos
Los proyectos se pueden medir cuantitativamente
Introduccin a Modelos de
Calidad de Software
Niveles de Madurez
Optimizado
La organizacin completa est volcada en la mejora
continua de los procesos
Se hace uso intensivo de las mtricas y se gestiona el
proceso de innovacin
Introduccin a Modelos de
Calidad de Software
Niveles de Madurez
Optimizado
En base a criterios cuantitativos se pueden
determinar las desviaciones ms comunes y
optimizar procesos
En los siguientes proyectos se produce una reduccin
de costos gracias a la anticipacin a problemas y la
continua revisin de procesos conflictivos
Introduccin a Modelos de
Calidad de Software
Niveles de Madurez 1, 2 y 3
Introduccin a Modelos de
Calidad de Software
Nivel de Madurez 4
Introduccin a Modelos de
Calidad de Software
Nivel de Madurez 5
Introduccin a Modelos de
Calidad de Software
Organizacin de los Niveles de Madurez
Introduccin a Modelos de
Calidad de Software
reas de Proceso
El CMMI se estructura en reas de Proceso (PA,
Process Area)
Las reas de proceso son un conjunto de prcticas
(practices) relacionadas que cuando se ejecutan en
forma colectiva cumplen los objetivos requeridos
para lograr una mejora sustantiva en un rea
Introduccin a Modelos de
Calidad 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
Introduccin a Modelos de
Calidad de Software
reas de Proceso
Introduccin a Modelos de
Calidad de Software
reas de Proceso
Las reas de procesos pertenecen a una
categora de procesos
Administracin de Procesos
Actividades de definicin, planeacin,
implementacin, monitoreo, control,
valoracin, medicin y mejora de procesos
Aplica a todos los proyectos
Introduccin a Modelos de
Calidad de Software
reas de Proceso
Administracin de Proyectos
Actividades relativas a la planeacin,
monitoreo y control de un proyecto
Ingeniera
Actividades de desarrollo y mantenimiento
de producto
Aplica a todas las disciplinas de ingeniera
Introduccin a Modelos de
Calidad de Software
reas de Proceso
Soporte
Actividades para soportar el desarrollo y
mantenimiento de producto
Introduccin a Modelos de
Calidad de Software
reas de Proceso
rea de proceso
Categora
Nivel de
Madurez
Anlisis y resolucin de
problemas
Soporte
Gestin de la configuracin
Soporte
Anlisis y resolucin de
decisiones
Soporte
Gestin de proyectos
Introduccin a Modelos de
Calidad de Software
reas de Proceso
rea de proceso
Categora
Nivel de
Madurez
Gestin de equipos
Gestin de proyectos
Medicin y anlisis
Soporte
Soporte
Innovacin y desarrollo
Gestin de procesos
Definicin de procesos
Gestin de procesos
Procesos orientados a la
organizacin
Gestin de procesos
Introduccin a Modelos de
Calidad de Software
reas de Proceso
rea de proceso
Categora
Nivel de
Madurez
Gestin de procesos
Formacin
Gestin de procesos
Integracin de producto
Ingeniera
Monitorizacin y control de
proyecto
Gestin de proyectos
Planificacin de proyecto
Gestin de proyectos
Soporte
Introduccin a Modelos de
Calidad de Software
reas de Proceso
rea de proceso
Categora
Nivel de
Madurez
Gestin cuantitativa de
proyectos
Gestin de proyectos
Desarrollo de requisitos
Ingeniera
Gestin de requisitos
Ingeniera
Gestin de riesgos
Gestin de proyectos
Gestin de proyectos
Introduccin a Modelos de
Calidad de Software
reas de Proceso
rea de proceso
Categora
Nivel de
Madurez
Solucin tcnica
Ingeniera
Validacin
Ingeniera
Verificacin
Ingeniera
Introduccin a Modelos de
Calidad de Software
reas de Proceso
Introduccin a Modelos de
Calidad de Software
Mtodo de Evaluacin: SCAMPI
En paralelo con el desarrollo de CMMI, el SEI
elabor un mtodo para la evaluacin formal
del modelo denominado SCAMPI (Standard
CMMI Appraisal Method for Process
Improvement)
Introduccin a Modelos de
Calidad de Software
SCAMPI
En SCAMPI, los resultados de una evaluacin se
obtienen mediante la aplicacin de un conjunto
de reglas de negocio aplicadas a cada
componente del modelo (prcticas, objetivos,
reas de proceso y niveles de madurez)
El mtodo SCAMPI consta de tres fases, en cada
una de las cuales se llevan a cabo un conjunto
de procesos
Introduccin a Modelos de
Calidad de Software
SCAMPI
1.Planificacin y preparacin de la evaluacin
1.1 Analizar Requerimientos
Entender las necesidades de negocio de la organizacin.
Nivelar los objetivos del negocio con los objetivos de la
evaluacin
Introduccin a Modelos de
Calidad de Software
SCAMPI
1.3 Seleccionar y preparar equipo
Asegurar que un equipo calificado est a cargo de la ejecucin
de la evaluacin
Introduccin a Modelos de
Calidad de Software
SCAMPI
1.5 Preparar la recoleccin de la evidencia objetiva
Planificar y documentar las estrategias para la recoleccin de
datos, incluyendo fuentes de datos, herramientas y tecnologas
a utilizar
Introduccin a Modelos de
Calidad de Software
SCAMPI
2. Conduccin de la Evaluacin
2.1 Examinar la evidencia objetiva
Recolectar informacin sobre las prcticas implementadas en
la organizacin, siguiendo el plan de recoleccin definido
Introduccin a Modelos de
Calidad de Software
SCAMPI
2.3 Documentar la evidencia objetiva
Crear registros que documenten la implementacin de las
prcticas, contemplando tambin las fortalezas y debilidades
encontradas
Introduccin a Modelos de
Calidad de Software
SCAMPI
3. Reporte de los Resultados
3.1 Entregar los resultados de la evaluacin
Entregar los resultados obtenidos a la organizacin de
manera que puedan ser utilizados para tomar acciones
futuras
Introduccin a Modelos de
Calidad de Software
SCAMPI
Una evaluacin en SCAMPI v1.1 permite:
Obtener una visin de la capacidad de ingeniera de
una organizacin 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
Introduccin a Modelos de
Calidad de Software
SCAMPI
Una evaluacin en SCAMPI v1.1 permite:
Enfocar los mejoras (corregir debilidades que
produzcan riesgos) que son los ms benficos para la
organizacin dada su actual nivel de madurez de las
capacidades de sus procesos
Identificar riesgos de adquisicin/desarrollo relativos
a determinaciones de capacidad/ madurez
Introduccin al CMMI
Evolucin del SW-CMM
Modelo Escalonado y Modelo Continuo
Los Niveles de Madurez
Los Procesos Clave
El Mtodo de Evaluacin SCAMPI
Fin de la Presentacin
Contine en la siguiente actividad