O&M Clase #2 Monogrfico en Ingeniera de Sistemas Temticas Principales 1. Modelos y estndares de calidad. 2. Profundizacin en CMM. TSP y PSP 3. Introducir SCM Cuando pueda medir lo que est diciendo y expresarlo con nmeros, ya conoce algo sobre ello; cuando no pueda medir, cuando no pueda expresar lo que dice con nmeros, su conocimiento es precario y deficiente: puede ser el comienzo del conocimiento, pero en tus pensamientos apenas ests avanzando hacia el escenario de la ciencia.
Lord Kelvin Medida Medicin Mtrica Medida, medicin, Mtrica? Se aplican a Proveen Mejoran Tcnicas basadas en mediciones Procesos y productos Informacin admi- nistrativa e ingenieril Mtricas de software Mtricas de software Mtricas Mtricas del producto Mtricas del Proceso
Proceso de Medicin Coleccin Retroalimentacin Formulacin
Interpretacin Anlisis Simples, objetivas, fciles coleccionar e interpretar
Coleccin automtica y no intrusiva
Evaluar la calidad temprano en el ciclo de vida
Usar activamente para comunicar progreso y calidad
La seleccin depende caractersticas y contexto del proyecto Principios fundamentales No mida a los individuos
Nunca usar las mtricas como un garrote
No ignorar los datos
Nunca usar una sola mtrica
Proveer retroalimentacin
Lograr pertenencia
Respetar privacidad Personas vs. Mtricas Otras definiciones Control de calidad: Conjunto de tcnicas y actividades de carcter operativo, utilizadas para verificar los requerimientos relativos a la calidad del producto o servicio.
Aseguramiento de la calidad: Conjunto de acciones planificadas y sistemticas necesarias para proporcionar la confianza adecuada de que un producto o servicio satisfar los requerimientos dados sobre calidad. Control de la calidad del software: Tcnicas y actividades de carcter operativo, utilizadas para verificar los requisitos relativos a la calidad, centradas en mantener bajo control el proceso de desarrollo y eliminar las causas de los defectos en las diferentes fases del ciclo de vida Aseguramiento de la calidad de software: Conjunto de actividades planificadas y sistemticas necesarias para aportar la confianza en que el producto (software) satisfar los requisitos dados de calidad Gestin de la calidad: Aspectos de la funcin de gestin que determinan y aplican la poltica de la calidad, los objetivos y las responsabilidades y que lo realiza con medios tales como la planificacin de la calidad, el control de la calidad, la garanta de calidad y la mejora de la calidad.
Sistema de gestin de la calidad: Estructura de la organizacin, responsabilidades, procedimientos, procesos y recursos que se establecen para llevar a trmino la gestin de calidad. Otras definiciones (ISO 8402) Gestin de la calidad de software: Conjunto de actividades de la funcin general de la direccin que determina la calidad, los objetivos y las responsabilidades y se implanta por medios tales como la planificacin de la calidad, el control de la calidad, el aseguramiento (garanta) de la calidad y la mejora de la calidad, en el marco del sistema de calidad Sistema de gestin de la calidad de software: Estructura de la organizacin, responsabilidades, procedimientos, procesos y recursos que se establecen para llevar a trmino la gestin de calidad. Aseguramiento de calidad del software Se disea antes Mtodos y herramientas Inspecciones tcnicas Estrategias de prueba Control de la documentacin y los cambios Procedimientos para ajustarse a los estndares Mecanismos de medida Auditorias Informes Algunos Mtodos Aseguramiento de calidad del software Objetivo Mtodo Principal Evaluacin Revisiones tcnicas y de Gestin Verificacin Inspeccin Validacin Pruebas Confirmacin del cumplimiento Auditorias Producto Proyecto Pruebas Simulacin Pruebas formales Revisiones tcnicas Inspecciones Auditora Revisiones de gestin Aseguramiento de calidad del software Relacin entre los Mtodos Algunos Mtodos Aseguramiento de calidad del software Objetivo Mtodo Principal Evaluacin Revisiones tcnicas y de Gestin Verificacin Inspeccin Validacin Pruebas Confirmacin del cumplimiento Auditorias Verificacin y Validacin Estamos construyendo el producto correctamente? Estamos construyendo el producto correcto? Inspecciones Pruebas
Evaluaciones, auditoras y revisiones a realizar. Standares que se pueden aplican al proyecto. Procedimientos para informacin y seguimiento de errores. Documentos producidos por el grupo SQA. Retroalimentacin proporcionada al equipo de desarrollo. Participacin en el desarrollo de la descripcin del proyecto de software. Revisin de las actividades de ingeniera para verificar su cumplimiento con el proceso. Auditora del producto para verificar su concordancia con los requisitos. Asegurar que las desviaciones estn bien documentadas El grupo de ACS Establecimiento de un plan ACS para el proyecto. Las tres dimensiones del ACS El sistema de calidad La aplicacin adecuada del proceso La actividades que aseguran la calidad del producto Herramientas CASE Modelos de calidad Ingeniera de Software Hardware Personas Procedimientos Redes Software Bases de Datos Sistema Informtico Herramientas CASE Computer Assisted Software Engineering Sistemas informticos que dan soporte automatizado a los procesos de desarrollo de software 1. Las plataformas que soportan. 2. Las fases del ciclo de vida que cubren. 3. La arquitectura de las aplicaciones que producen. 4. Su funcionalidad. Pueden clasificarse por: Herramientas de planificacin Herramientas de anlisis y diseo Herramientas de integracin y prueba Herramientas de gestin de prototipos Herramientas de mantenimiento Herramientas de gestin de proyectos Herramientas de soporte CASE, Clasificacin Funcionalidad Son una de las claves para una gestin de calidad efectiva. Pueden ser internacionales y/o nacionales, organizacionales o del proyecto. Los estndares del producto definen caractersticas que deberan exhibir todos sus componentes. Los estndares del proceso definen cmo debera llevarse a cabo el proceso del DSw. Encapsulan las tareas y evitan repeticiones de errores. Constituyen un marco de trabajo. Proporcionan los procedimientos necesarios. Existen estndares aplicados. Slo son guas, el xito reside en las personas. Estndares y Modelos ISO 9000 1987 ISO 9000-3 1991 BOOTSTRAP 1993 SPICE 1994 CMM 1986 Esquema de la evolucin ISO 9000 Publicada el ao 1987. Adoptada por ms de 90 pases. Directrices para la gestin del sistema de calidad y modelos de garanta de calidad para la empresa. Las directrices son genricas y aplicables a cualquier sector. Es un marco de trabajo para la mejora continua.
Conjunto de normativas ISO 9000 ISO 9004 ISO 9002 Produccin instalacin
ISO 9003 Inspeccin Y Ensayos finales ISO 9001 Diseo, produccin Instalacin y postventa Une 66-907-91 Gua para Manuales de calidad Recomendaciones para gestin interna de la calidad Conceptos y directrices Generales Recomendacin para el Aseguramiento de la Calidad ISO 9000 Objetivos
Proporcionar una gua para la gestin de la calidad: diseo e implantacin de sistemas de calidad. (ISO 9000 no normaliza el sistema de gestin de calidad, ya que esto depende del tipo de sector, tamao de la empresa, organizacin interna, etc, sino que normaliza las verificaciones que se han de realizar sobre el sistema de calidad)
Describir los requerimientos generales para garantizar la calidad (demostrar la idoneidad del sistema de calidad).
Es un factor competitivo para las empresas Proporciona confianza a los clientes Ahorra tiempo y dinero, evitando recertificar la calidad segn los estndares locales o particulares de una empresa. Se ha adaptado a ms de 90 pases e implantado a todo tipo de organizaciones industriales y de servicios, tanto sector privado como pblico Proporciona una cierta garanta de que las cosas se hacen tal como se han dicho que se han de hacer ISO 9000 Aspectos positivos
Es costoso Muchas veces se hace por obligacin. Es cuestin de tiempo que deje de ser un factor competitivo Hay diferencias de interpretacin de las clusulas del estndar No es indicativa de la calidad de los productos, procesos o servicio. Hay mucha publicidad engaosa. En 1997 haba 4605 empresas certificadas. Slo 66 referentes a actividades informticas
ISO 9000 Aspectos negativos ISO TTULO 8402 9004 9003 9002 9001 9000 Vocabulario - Terminologa. Normas para la gestin y garanta de la calidad. Directrices de seleccin y uso (ISO 9000-1 1.994). Directrices generales para aplicar las normes 9001, 9002, 9003 (ISO 9000-2 1.993). Gua para aplicar las normes 9001 a empresas de software (ISO 9000-3 1.996). Gua para la gestin de un programa de seguridad (ISO 9000-4). Elementos y gestin del sistema de calidad. Reglas generales. Directrices para los serveis (ISO 9004-2). Directrices para materiales procesados (ISO 9004-3). Directrices para la mejora de la calidad (ISO 9004-4). Modelo para garantizar la calidad en inspeccin final y pruebas. (1.993) Modelo para garantizar la calidad en produccin y servicios. (1.994) Modelo para la garanta de la calidad en diseo / desarrollo, produccin, instalacin y servicio.(1.994) ISO 9001-2000 Modelo de calidad total Conjunto de normativas ISO 9000 - 2000 Razones para cambiar el modelo actual Dificil de aplicar a todos los tamaos y tipos de organizacin. Demasiado nfasis en la burocracia. Falta de claridad en la norma. Crea demanda de consultora. No conecta bien con los procesos empresariales. Falta de compatibilidad con ISO 14001. ISO 9001 - 2000 Estructura basada en un modelo de proceso Cuatro mdulos principales: Responsabilidad de la Direccin. Gestin de los Recursos. Gestin de los Procesos. Mediciones, Anlisis y Mejora. Responsabilidad de la Direccin Gestin de los Recursos Gestin de los Procesos Datos de Partida Resultados Procesos Mediciones, Anlisis y Mejora P D C A ISO 9001 - 2000 Esquema de la estructura COMPROMISO DE LA DIRECCIN: La Alta Direccin deber proporcionar evidencias de su compromiso para el desarrollo y mejora del Sistema de Gestin de la Calidad mediante: Comunicar la Importancia de Satisfacer los Requisitos de los usuarios. Establecer la Poltica de Calidad y los Objetivos de Calidad. Revisin de la Gestin de la Calidad. Garantizar la Disponibilidad de los Recursos Necesarios. ISO 9001 - 2000 Responsabilidad de la direccin
POLTICA DE CALIDAD: La Direccin Debe Establecer PC y garantizar que: La PC es adecuada para cubrir las necesidades de la Organizacin y sus Usuarios. Incluye el compromiso para satisfacer requerimientos y por la mejora continua. Se comunica a toda la Organizacin. Se revisa Peridicamente.
ISO 9001 - 2000 Responsabilidad de la direccin
PLANIFICACIN DE LA CALIDAD: Determinar Objetivos de Calidad. Identificar los Recursos necesarios para alcanzar los objetivos de Calidad. Administrar el Sistema de Gestin de la Calidad: Responsabilidades y Autoridad. Representante de la Direccin. Comunicacin Interna. Manual de Calidad. Control de Documentos. Control de Registros de Calidad.
REVISIN POR LA DIRECCIN: La Direccin debe revisar peridicamente el Sistema de Gestin de la Calidad, para asegurar su continua consistencia, adecuacin y efectividad. ISO 9001 - 2000 Responsabilidad de la direccin SUMINSTRO DE LOS RECURSOS: La Organizacin debe determinar y proporcionar los recursos necesarios para implantar y mejorar los procesos del sistema de gestin de la calidad y para lograr la satisfaccin del cliente. RECURSOS HUMANOS: Asignacin de Personal. Formacin, Sensibilizacin y Competencia. ISO 9001 - 2000 Gestin de recursos INSTALACIONES: La organizacin debe identificar, proporcionar y mantener las instalaciones necesarias para lograr la conformidad del producto/ servicio, para ello debe tener en cuenta: Espacio de Trabajo. Hardware y Software. Servicios de Apoyo. ENTORNO DE TRABAJO: La organizacin debe identificar y gestionar los factores fsicos y humanos del entorno de trabajo necesarios para lograr la conformidad del producto.
ISO 9001 - 2000 Gestin de recursos Identificar, definir, planificar e implementar los procesos necesarios para la realizacin de productos y/o servicios. Asegurar que los procesos operan bajo condiciones controladas y obtienen las salidas requeridos por los usuarios. Planificacin de los procesos de realizacin. Procesos relacionados con los clientes. Diseo y/o desarrollo. Compras. Operaciones de produccin y de servicio. Control de los equipos de medicin y seguimiento. ISO 9001 - 2000 Gestin de Procesos
PLANIFICACIN: Herramientas a utilizar: Control Estadstico. Encuestas Satisfaccin. Establecer mtodos de control financiero. Autoevaluacin. Evaluacin peridica de las mediciones.
MEDICIN Y SEGUIMIENTO: Satisfaccin del Cliente. Auditora Interna (peridicamente). Medicin y Seguimiento de los Procesos. Medicin y Seguimiento del Producto/ Servicio.
ISO 9001 - 2000 Medicin, Anlisis y Mejora CONTROL DE LAS NO CONFORMIDADES.
ANLISIS DE DATOS.
MEJORA. Planificacin mejora continua. Acciones correctivas. Acciones preventivas. ISO 9001 - 2000 Medicin, Anlisis y Mejora ISO 9000: Calidad de Software ISO 9001:2000. Modelo para conseguir la calidad total en el diseo, desarrollo, produccin, instalacin y servicio post- venta. ISO 9000-3:1991. Gua para la aplicacin de la norma ISO 9001 al desarrollo, suministro y mantenimiento de software. En todo caso, nos certificaramos segn ISO 9000-3. No aade ni cambia los requerimientos de la ISO 90001. Los amplia y aclara. Otras normas aplicables ISO 9004-1:1994. Gestin de la calidad y elementos del sistema de calidad (Gua per establecer el QA). ISO 9000: Calidad de Software ISO 8402:1994. Gestin de la calidad y garanta de la calidad. Vocabulario. ISO 12207:1995. Procesos del ciclo de vida del software. ISO/IEC 9126:1991. Caractersticas de la calidad de un producto software. ISO/IEC 12119:1995. Productos software: evaluacin y test. ISO/IEC 14102:1995. Gua para la evaluacin y seleccin de herramientas CASE. GESTIN DE CALIDAD DEL PROCESO ES Grupo de actividades ATENCIN AL CLIENTE DOCUMENTACIN 2.1 PLANIFICACIN DESARROLLO ADQUISICIN / SUMINISTRO OPERACIN MANTENIMIENTO 1.2 1.1 1.3 1.4 1.5 Inicio Final 3 ADMINISTRACIN DE LA CONFIGURACIN 2.2 CONFIRMACIN DE LA CALIDAD 2.3 VERIFICACIN 2.4 VALIDACIN 2.5 REVISIN CONJUNTA 2.6 AUDITORA 2.7 SOLUCIN DE PROBLEMAS 2.8 INFRAESTRUCTURA 2.9 FORMACIN 2.10 Proceso primario Procesos de soporte Proceso gestin de proyectos INICIO 5.1 PLANIFICACIN 5.2 EJECUCIN 5.3 CONTROL 5.4 CIERRE 5.5 El proceso de Ingeniera del Software ISO 9001 Poltica de calidad Gestin de la Calidad Manual de Calidad Procesos documentados y procedimientos Plan de desarrollo de proyectos Plan de Configuracin Plan de Pruebas Plan de Servicio Archivos de Calidad Archivos de entrenamiento Sistema de auditoras de calidad interna Sistema de control de bibliotecas de software
Los procesos mnimos de software cubiertos por ISO 9000 prcticas de gestin estilos de gestin producto final satisfaccin del cliente comparacin con la competencia
Que no cubre ISO 9000 ? Calidad de Software Modelos SPICE Organizaciones europeas CMM TEXAS INTRUMENTS ISO / IEC TR 15504
ORIENTADO A LA AUTO-EVALUACION ADECUACION DE PROCESOS VALORACION DEL CONTEXTO PERFIL DEL PROCESO TRES TIPOS DE USUARIOS : Evaluadores Clientes Suministradores (SPICE) ISO/IEC TR 15504 (SPICE) ISO/IEC TR 15504 Software Process Improvement Capability dEtermination.
Evaluacin y mejora de procesos software. Inicio del proyecto 1993 Es aplicable a cualquier organizacin o empresa que quiera mejorar la capacidad de cualquiera de sus procesos de software. Se puede utilizar como herramienta de evaluacin del estado de los procesos de software de la empresa. Es independiente de la organizacin, modelo del ciclo de vida, metodologa y tecnologa.
Marco para mtodos de evaluacin, no un mtodo o modelo en s Abarca: Evaluacin de procesos Mejora de procesos Determinacin de capacidad Alineado con el ISO/IEC 12207 Intenta proporcionar un marco en el que armonizar los enfoques existentes Se encuentra en la fase de Informe Tcnico (TR) Tipo 2 (SPICE) ISO/IEC TR 15504 Validar el estndar emergente frente a los objetivos y requisitos definidos al comienzo del proyecto Verificar la consistencia y usabilidad de sus componentes SPICE Objetivo 1: Ayudar al proyecto de estandarizacin, en su fase preparatoria, en el desarrollo de borradores iniciales Objetivo 2: Realizar las pruebas de usuario (trials), y obtener datos empricos que permitan revisarlo antes de lanzarlo como estndar internacional Objetivo 3: Dar a conocer el estndar y fomentar su aceptacin Probar el estndar a travs de: Una muestra representativa de organizaciones En diferentes escenarios de uso (SPICE) ISO/IEC TR 15504 Componentes de SPICE Conceptos y gua de introduccin Guia para det. Capacidad de proveedores Realizacin de una evaluacin Gua de evaluacin Guia de calificacin de evaluadores Vocabulario Guia de uso para la mejora de procesos Model de ref. para procesos y capacidad Model de Evaluacin y gua de uso P1 P9 P7 P8 P6 P3 P4 P2 P5 P2: Modelo de Referencia El modelo de referencia de SPICE describe los procesos que una organizacin puede realizar para comprar, suministrar, desarrollar, operar, mantener y soportar el software, as como los atributos que caracterizan la capacidad de estos procesos
Proporciona una base para medir la capacidad de los procesos, en funcin de grado de consecucin de sus atributos.
El tiene dos dimensiones: Procesos y Capacidad
Funcional (Procesos)
C a p a c i d a d e s
Efectividad (Evaluacin) Las tres dimensiones de SPICE 1. CUS 2. ENG 3. SUP 4. MAN 5. ORG La categora CUS est formada por procesos que afecta directamente al cilente, soportan el desarrollo y la transicin del software al cliente y permiten la correcta operacin y uso del producto y/o servicio software.
CUS.1 Adquisicin de productos software y/o servicios CUS.2 Establecimiento de contratos CUS.3 Identificar las necesidades del cliente CUS.4 Realizar auditoras y revisiones conjuntas. CUS.5 Entrega e instalacin del software. CUS.6 Mantenimiento del software. CUS.7 Proporcionar servicio al cliente. CUS.8 Valorar la satisfaccin del cliente.
Dimensin Funcional CUS La categoria ENG est formada por procesos que directamente especifica, implementa o mantienen el producto software, su relacin con el sistema y su documentacin
ENG.1 Anlisis y diseo de requerimientos del sistema ENG.2 Anlisis de requerimientos del software. ENG.3 Diseo del software. ENG.4 Construccin del software. ENG.5 Integracin y pruebas del software. ENG.6 Integracin y pruebas del sistema. ENG.7 Mantenimiento del software y del sistema.
Dimensin Procesos ENG Est formada por procesos que dan soporte a cualquiera del resto de procesos (incluidos los SUP), en distintos puntos del ciclo de vida del software.
SUP.1 Documentacin SUP.2 Gestin de la configuracin del software SUP.3 Garanta de calidad SUP.4 Resolucin de problemas SUP.5 Realizar revisiones conjuntas
Dimensin Procesos SUP Formada por procesos utilizados en la gestin de cualquier tipo de proyecto o proceso en el ciclo de vida del software.
MAN.1 Gestionar el proceso. MAN.2 Gestionar el proyecto. MAN.3 Gestionar la calidad. MAN.4 Gestionar los riesgos.
Dimensin Procesos MAN Formada por procesos que establecen los objetivos de negocio de la organizacin.
ORG.1 Alineamiento de la organitzaci. ORG.2 Establecimiento del proceso ORG.3 Evaluacin del proceso ORG.4 Mejora del procs. ORG.5 Gestin de recursos humanos. ORG.6 Infraestructura. ORG.7 Reutilizacin
Dimensin Procesos 0RG Dimensin capacidad Define una escala de medida para determinar la capacidad de cualquier proceso Consta de seis niveles de capacidad y nueve atributos de procesos 0 Incompleto 1 Realizado (Realizacin del proceso) 2 Gestionado (Gestin de realizacin, Gestin de productos) 3 Establecido (Definicin de procesos, Recursos de procesos) 4 Predecible (Medicin de procesos, Control de procesos) 5 En optimizacin (Cambio de procesos, Mejora continua) Los atributos de un proceso se evalan con N (Not), P (Partially), L (Largely) y F (Fully), siendo: N No alcanzado (0% a 15%) Poca o ninguna evidencia de la consecucin del atributo P Parcialmente alcanzado (16% a 50%) Evidencia de un enfoque sistemtico y de la consecucin del atributo. aunque algunos aspectos de la consecucin pueden ser impredecibles L Ampliamente alcanzado (51% a 85%) Evidencia de un enfoque sistemtico y de una consecucin significativa del atributo. La realizacin del proceso puede variar en algunas reas F Totalmente alcanzado (86% a 100%) Evidencia de un enfoque completo y sistemtico y de la consecucin plena del atributo
Dimensin Efectividad
Software Engineering Institute Carnegy Mellon University Mark C. Paulk CMM es una aplicacin de sentido comn de los conceptos de gestin de procesos y mejora de la calidad al desarrollo y mantenimiento del software CMM Capability Maturity Model Definicin incremental de procesos Capability Maturity Model CMM Desarrollo
Mantenimiento
Contratacin Slo un 10 % de los Proyectos de Software cumplen el calendario preestablecido. Un proyecto mal planificado y gestionado multiplica por 5 sus recursos. Uno bien planificado y gestionado slo por 2. El 15 % de los Proyectos finalizados no se utilizan. De 16.000 proyectos de TI llevados o con gran participacin de grandes consultoras, como IBM ISS, Andersen Consulting, EDS, etc, ninguno finalizaron dentro del tiempo y presupuesto establecido. Los aspectos tcnicos o tecnolgicos en la gestin de un proyecto slo contribuyen en un 30% en el xito de un proyecto.
Capability Maturity Model Evaluaciones Organizacin Inmadura Ad-hoc (no repetible) No documentado Procedimientos no se cumplen Reactivo (apaga-incendios) Control mnimo Mejoramiento continuo Organizacin Madura Repetible Procesos y productos Documentado Procedimientos se cumplen Controlado (...) Est definido El proceso es claro, sistemtico y suficientemente detallado. Adems existe acuerdo entre el personal, la gerencia y los proyectos respecto al proceso que se va a utilizar. Esta documentado Esta escrito en un procedimiento publicado, aprobado y fcilmente accesible. Una de las mejores maneras es a travs de una Intranet para apoyar los proyectos de desarrollo (ver pgina detallada). El personal ha sido entrenado en el proceso Los ingenieros de software y la gerencia han recibido cursos y entrenamiento en cada proceso que aplica a su trabajo. Procesos Maduros Es practicado El proceso definido debe ser usado en las tareas habituales llevadas a cabo por los proyectos. El entrenamiento y la adaptacin del proceso a la realidad de la empresa debieran garantizar su aplicacin en la vida real. Es apoyado La gerencia no slo debe firmar y promover los procesos definidos, sino que adems debe asignar responsabilidad al personal y a los jefes de proyecto por su cumplimiento. Es mantenido El proceso es revisado regularmente, para asegurarse que est adaptado para satisfacer las necesidades reales de los proyectos. Procesos Maduros Est controlado Los cambios y puestas al da del proceso son revisados, aprobados y comunicados oportunamente a todos los usuarios Se verifica La gerencia mantiene mecanismos para asegurarse que todos los proyectos siguen el proceso vigente Se valida Se asegura que el proceso mantiene concordancia con los requerimientos y estndares aplicables Se mide La utilizacin, los beneficios y el rendimiento resultante del proceso se miden regularmente Puede mejorarse Existen mecanismos y apoyo de la gerencia para revisar e introducir cambios en el proceso, de manera de mejorar su eficacia e incorporar nuevas metodologas Procesos Maduros Niveles de madurez Prcticas clave Caractersticas comunes reas claves de proceso Contienen Organizadas con Contienen Indican Alcanzan Se aplican Describen Capacidad del proceso Objetivos Implementacin o Institucionalizacin Infraestructura o actividades CMM CMM en el mundo CMM como modelo Capability Maturity Model Niveles Nivel 1 (Inicial) Nivel 2 (Repetible) Nivel 3 (Definido) Nivel 4 (Gestionado) Nivel 5 (Optimizado) 23 meses 22 meses 28 meses 17 meses Ad hoc, Catico costos, planificacin y rendimiento de la calidad impredecibles Procesos dependientes de los individuos Costo y calidad altamente variables Mtodos y procedimientos informales Costo y planificacin confiables Procesos definidos e institucionalizados calidad mejorada pero impredecible Procesos medidos Control estadstico sobre la calidad del producto Bases cualitativas para una retroalimentacin de los procesos. Capability Maturity Model En la prctica 13 Empresas tipo
1993
TEXAS INTRUMENTS CMM, estadsticas 2001 Nivel/Ao 1997 1999 2001 Nivel 1 60% 48% 38% Nivel 2 22% 30% 33% Nivel 3 14% 15% 19% Nivel 4 2% 3.6% 4.6% Nivel 5 0.5% 2.0% 4.0% Las prcticas claves estn organizadas en 5 Caractersticas Comunes, que constituyen atributos para la implementacin y la institucionalizacin de un proceso clave CMM, Caractersticas comunes Compromiso para la realizacin Capacidad de realizacin Actividades realizadas Mediciones y anlisis Verificacin de la implementacin El compromiso para realizacin El compromiso para realizacin describe las acciones que la organizacin debe tomar para asegurar que el proceso se establezca y sea permanente. Normalmente abarcan el establecimiento de polticas y liderazgo a nivel de la organizacin. . La capacidad de realizacin La capacidad de realizacin describe las condiciones previas que debe existir en el proyecto o la organizacin para poder aplicar el proceso de software en forma efectiva. Normalmente enfocan los recursos, las estructuras de la organizacin, el entrenamiento y las condiciones previas que deben existir. Las actividades realizadas Las actividades realizadas describen los papeles y los procedimientos necesarios para implementar un rea clave de proceso. Normalmente abarcan el establecimiento de planes y procedimientos, la ejecucin del trabajo, el seguimiento del mismo, el control de las salidas del proceso, y las acciones correctivas que deben tomarse segn sea necesario. CMM, Caractersticas comunes Las Mediciones y anlisis Las Mediciones y Anlisis describen la necesidad de medir el proceso y analizar las mediciones resultantes. Normalmente incluye ejemplos de las mediciones que se podran tomar para determinar la estado y la eficacia de las actividades realizadas. La Verificacin de la implementacin La Verificacin de la implementacin describe los pasos que se deben seguir para asegurar que las actividades se llevan a cabo de acuerdo con el proceso establecido. Tpicamente abarca las revisiones y las auditoras efectuadas por la alta gerencia, los jefes de proyecto y el grupo encargado de la garanta de calidad de software. CMM, Caractersticas comunes Se establece gestin efectiva del proyecto Procedimientos de gestin se documentan y se siguen Hay polticas que guan los proyectos Prcticas exitosas anterioras pueden ser reproducidas Proceso se ve como una serie de cajas negras con hitos bien definidos CMM, Nivel 2 Repetible Kpas de nivel 2 gestin de requerimientos planeacin del proyecto control del proyecto aseguramiento de calidad control de configuracin gestin de subcontratistas El mayor beneficio obtenido de la implementacin del nivel 2 por la empresa en la cual me desempeo actualmente, es la planificacin realista de los proyectos. Antes los cronogramas de proyecto expresaban ms los deseos de la gerencia que la realidad. Este principio (el mismo en la cual se basa la magia) conduca una situacin de buscar culpables y generar excusas, produciendo al mismo tiempo frustracin y desconfianza entre clientes y empleados. Actualmente los cronogramas son cada da ms confiables, y mejora a medida que se acumula ms informacin en las bases de datos de los proyectos pasados. El uso generalizado de mtodos de estimacin permite al personal del proyecto de justificar plazos y recursos. An el "olfato profesional" y la experiencia personal juegan un papel importante en la generacin de planes de proyecto, pero ahora son decisiones informadas en vez de simples adivinanzas como en el pasado. CMM, Nivel 2 Procesos bien definidos y comprendidos permiten control de ellos Roles y responsabilidades bien entendidas Produccin del producto es visible a travs de todo el proceso Proceso potencia a los participantes CMM, Nivel 3 Definido Kpas de nivel 3 n foco en procesos de la organizacin n definicin de procesos de la organizacin n programa de entrenamiento n gestion integrada de software n ingeniera de producto n coordinacin intergrupal n revisin de pares La base de datos que rene estadsticas de los proyectos pasados y en curso, permite planificar y comparar el rendimiento. Existen mecanismos de comunicacin entre proyectos y departamentos, lo que garantiza una visin comn del producto y una rpida accin para enfrentar los problemas. He conocido unas pocas empresas a este nivel y la cosa que ms me resalt fue la satisfaccin del personal. En empresas de nivel 1 habitualmente se escuchan quejas y acusaciones. A nivel 3 los empleados tienen una alta valoracin de los procesos y entienden claramente la manera en que afectan su desempeo habitual. Los gerentes pueden realizar sus verdadera funcin, administrar. El hecho de realizar revisiones tempranas en forma regular mejora visiblemente la calidad de los productos y minimiza las reiteraciones innecesarias. Curiosamente muchas organizaciones de nivel 1 realizan revisiones de pares, pero lo hacen de manera inconsistente y al primer signo de pnico las suspenden CMM, Nivel 3 Se aplican principios de control estadsticoa principales causas de variacin en proceso gestin cuantitativa de proceso y producto decisiones basadas en medidas objetivas desempeo ms predecible CMM, Nivel 4 Administrado Kpas de nivel 4 n gestin cuantitativa del proceso n gestin de calidad del software Se proponen metas cuantitativas para la calidad de los producto y de los procesos de software. Es posible medir la productividad y calidad de los procesos de software a travs de todo el proyecto. Los proyectos pueden controlar la variacin del rendimiento de sus productos y procesos para mantenerla dentro de fronteras cuantitativas aceptables. Es posible discriminar las variaciones significativas en el rendimiento del proceso de la variacin (ruido) al azar, particularmente dentro de lneas de productos establecidas. Es necesario aclarar que el hecho de contar con un sistema de mtricas de software no significa que se est en el nivel 4. He conocido muchas empresas de nivel 1 que miden cuidadosamente el nmero de defectos detectados durante las pruebas o tests (no es casualidad que les interese tanto!). Es una virtual seal de alarma que les dice cun graves son sus problemas, pero la inmadurez de sus procesos no les permite hacer nada efectivo, excepto tal vez abortar el producto para evitar un dao mayor que puede resultar de distribuirlo a los clientes. CMM, Nivel 4 Se identifican y eliminan causas de mal desempeo foco en mejoramiento contnuo Disciplina es el modo de vida CMM, Nivel 5, Optimizado Kpas de nivel 5 n prevencin de defectos n gestin de cambios tecnolgicos n gestion de cambios del proceso La organizacin entera se aboca al mejoramiento continuo del proceso. La corporacin cuenta con los medios para identificar las debilidades y reforzar en forma proactiva el proceso, con objeto de prevenir la ocurrencia de defectos. Los datos relativos a la eficacia del proceso de software se usan para analizar el costo y el beneficio de usar nuevas tecnologas y de implementar cambios al proceso de software. Los proyectos de software analizan los defectos para determinar sus causas. Los proceso de software se evalan para prevenir que los defectos conocidos vuelvan a ocurrir, asimismo las lecciones aprendidas son difundidas a otros proyectos. CMM, Nivel 5 Mejoramiento en la moral de los empleados Mejoramiento de calidad de vida laboral Menos horas extraordinarias Menos rotacin de empleados Mayor satisfaccin de clientes Mejor comunicacin Orgullo por mejoramiento contnuo medido CMM, Algunos beneficios Tcnicas UML en el modelo CMM. Actividades Planificadas: Cada actividad est dotada de un control con los criterios de revisin -> Auditora Estndares aplicables a actividades y productos: Plantillas Informar del estado a los grupos e individuos implicados: Aadir a las entradas de calidad Informes de recursos (tcnicos y financieros) Medidas: Progreso (LOC, NC, Reusabilidad ...) Estabilidad (Tip.de Reusabilidad, ) Adaptabilidad (Costes de Reusabilidad) Modularidad (Impacto de Extensiones) Calidad (Error descubierto, Densidad, Profundidad de Herencia, Reusabilidad) Madurez (Horas de Prueba por fallo) Perfil de Recursos (Plan/Actual)
Nivel 2: Repetible Gestin de Configuracin del Software Plan de Gestin de Configuracin e Integracin Descripcin de la configuracin de control y de su gestin. Identificacin y gestin de los cambios en los productos software Informacin y ayuda en el rastreo de las lneas base a todos los implicados Control de Versiones Modelos de Proceso y Configuracin de Modelos Gestin de Cambios y Versiones Tcnicas RUP en el modelo CMM. Nivel 2: Repetible CMM, limitaciones Su aplicacin resulta compleja (PSP y TSP) Su implementacin en las empresas demora tiempo N1 N2 N3 N4 N5 3 aos 3 aos 1 aos 1 aos