20/11/2006
METRICAS DEL SOFTWARE
INDICE Conceptos, Modelos, Aspectos de las Métricas Medición y el Modelo de Madurez de Capacidad (CMMI) Ejemplos de métricas Presentación de un caso Gestión de métricas: Una aproximación practica Precauciones y lecciones aprendidas Métricas para la Gestión de Requisitos en ICM
•
1
20/11/2006
Conceptos Empezar y mantener un esfuerzo de mejora del proceso software con éxito requiere un compromiso a todos los niveles de la empresa, siendo la mayor dificultad para las empresas que comienzan: la definición de medidas (métricas) y la creación de procedimientos para recoger y analizar estos datos
Conceptos ¿Qué deseo saber? Los objetivos de las métricas vienen de los objetivos del negocio La ignorancia es una desgracia voluntaria
¿Porqué medir? Para caracterizar, evaluar, predecir y mejorar
2
20/11/2006
¿Porqué medir? Caracterizar
Comprender el proceso, producto y entorno actual. Proporcionar una línea base para futuras evaluaciones
Evaluar
Determinar el estado, de forma que los proyectos y procesos puedan ser evaluados Evaluar el alcance de los objetivos de calidad Evaluar el impacto de la tecnología sobre los procesos y productos
¿Porqué medir? Predecir
Comprender la relación entre procesos y productos Establecer objetivos alcanzables de calidad, coste y planificación
Mejorar
Identificar causas raíz y oportunidades para mejorar Seguir los cambios en las realizaciones y comparar con la línea base Comunicar razones para mejorar
3
20/11/2006
Necesidades de medida .
Las necesidades de medida pueden ser diversas, desde medir el rendimiento de los proyectos de una empresa, evaluar las inspecciones de código hasta evaluar las actividades de mejora del proceso software
Necesidades de medida (II) La medida es una parte esencial para comprender que afecta a la calidad, oportunidad, utilidad y funcionalidad y en la mejora de los procesos y productos software. Para comprender como aplicar las métricas del software , debemos comprender primero qué significan las medidas y porqué las necesitamos. Las medidas nos permiten cuantificar conceptos o atributos en orden a manipularlos y aprender más sobre ellos
4
20/11/2006
Tipos de Métricas Métricas objetivas (cuantificado y medido)
Métricas subjetivas (clases de respuestas)
Métricas Básicas Métricas calculadas
Métricas adicionales
Métricas Globales/Fases Métricas Globales
Validación
Requisitos
Diseño
Integración
Codificación Métricas de Fase
5
20/11/2006
Medidas existentes no utilizadas Falta de implicación de la gestión
???
???
inexistencia de consensos en la aplicación de medidas
blanco de medidas no bien definidas miedo de evaluación tendencia a recoger demasiados datos
Falta de implantación
inutilidad de medidas no aceptadas
programas de investigación no son un buen modelo para los técnicos
medidas no validadas o no calibradas
Lecciones Aprendidas (I) Empezar con pocas medidas y asegurar que las medidas iniciales son prácticas y de bajo coste. Definir los datos rigurosamente de forma que los datos sean útiles para la toma de decisiones. Tratar de automatizar la recogida y la información para tener el menor impacto sobre el desarrollo software. Descriminalizar errores
6
20/11/2006
Lecciones Aprendidas (II) Asegurar que la medición es parte de algo más amplio. Por ejemplo, un enfoque de la organización hacia la mejora. Enfocar sobre el proceso y la toma de decisión más que recoger medidas y números. Comprender que la adopción requiere esfuerzo. Comprender que el uso efectivo de medidas puede requerir un cambio de actitud o de cultura. Comprender que un programa extenso se construye con tiempo extra Implicar a los apostadores estableciendo expectativas, entrenándoles y logrando su compromiso
Principios de guía La mayoría de las organizaciones no pueden afrontar el esfuerzo e impacto de arrancar recogiendo grandes cantidades de datos a un tiempo. Gestores e ingenieros necesitan ser entrenados en las técnicas de recogida de datos, análisis e información. Datos que no son analizados y sobre los que no se actúa no tienen valor para la organización.
7
20/11/2006
Evolución de un programa de métricas Estado maduro
- Medidas son ampliadas a subprocesos. - Aplicación de medidas se vuelve más sofisticada. - Frecuencia y detalle de las medidas incrementa.
Estado inicial
- Número de tipos/elementos de datos incrementa.
La medición es utilizada para muchos propósitos Línea base del Proceso de Medición • comunicar claramente • usar el proceso consistentemente Gestionar Proyectos - Planificar - Seguir
Describir Productos - Calificar - Clasificar
Mejorar Procesos - Comprender - Controlar
Datos Agregados - Comparación corporación/industria - Decisiones negocio
8
20/11/2006
Visibilidad • coste
Alta dirección
• programacion • calidad • riesgos • recursos • mejora
Cliente Seguimiento
• coste • programación • calidad • riesgos
Planificación/Control • coste • programación • calidad • riesgos • compromiso
Jefe proyecto
Mejora
• calidad • productividad • productos • procesos
Plantilla Proyecto
Programas de medición con éxito enfocan perspectivas de usuario
Medidas diferentes destinos Criterios Exito
Metas
Estrategia para cumplir la meta
Indicadores de análisis 100 80 60 40 20
Tareastopara cumplir la Tasks Accomplish meta goal
Test Cases Complete
Tasks
Functions
Medidas
Task 1 Task 2 Task 3 • • Task n
Indicadores de éxito %
Medidas 1 2 3 4 1 2 3 4 Reporting Periods
Indicadores de progreso Jefe proyecto Actual Planned Reporting Periods
Medidas
Alta dirección 100 80 60 40 20
Actual
Planned Reporting Periods
Medidas
9
20/11/2006
Perspectivas de usuario diferentes Cliente: La desviación es un resultado debido a algún riesgo desconocido.
Progreso Software
1595
2595
3595
4595
Informes Trimestrales Gestor del proyecto: ¿Comprendemos el alcance del trabajo?
1596
2596
actual plan
Gestor Senior (dirección): Son afectados los compromisos de costes globales y/o programación.
Plantilla del proyecto: Están adecuadamente entrenados los profesionales para estimar el tamaño, costes y programación del software?
Cuáles son los costes de no medir Incapacidad para: estimar/planificar de forma realista determinar el progreso evaluar la calidad reconocer las oportunidades de mejora reconocer mejoras
Pérdida de posición competitiva
10
20/11/2006
Precauciones y limitaciones Las medidas no son absolutas, simplemente proporcionan comprensión (conocimiento profundo) del proceso software. Medición no puede identificar, explicar, o predecir todo. La mayoría de los resultados requieren más de una medida para caracterizar y comprender. La medición no tiene valor a menos que se comprenda con la globalidad del proceso software.
Precauciones y Limitaciones Medición implica varios usuarios en diversos niveles por toda la organización. Medición no deberá ser utilizada para evaluar prestaciones individuales; más bien deberá servir como base para resolución interactiva de aspectos del proceso. Dos programas no son iguales: consecuentemente comparación directa de datos de programas deberá evitarse. Evaluaciones basadas en medición son solo tan buenas como la oportunidad, consistencia y precisión de los datos de entrada.
11
20/11/2006
Beneficios de las métricas Medición por si misma no mejora el proceso, pero la visibilidad permite profundizar en la planificación, control, gestión y mejora. Datos históricos ayudan a predecir y planear Datos actuales frente a los planificados ayudan a comunicar el progreso y soportan la toma de decisiones.
Beneficios de las métricas (II) Análisis de tendencias ayuda a enfocar sobre áreas problema La supervisión de las actividades de mejora del proceso ayuda a identificar lo que funciona y lo que no funciona
12
20/11/2006
Beneficios de las Métricas (III) Calidad del producto mejorada. Productividad del equipo de desarrollo incrementada. Estimación y planificación del proyecto mejor. Mejor gestión del proyecto. Cultura de calidad de la compañía mejorada. Satisfacción del cliente mejorada. Visibilidad del proceso software incrementada.
Sumario Organizaciones han reconocido que la medición es un proceso integral para gestionar sus esfuerzos software. La medición por si misma no mejora el proceso, pero la visibilidad permite la toma de decisiones cuantificadas oportunamente. Un programa de medición comprensible debe ser construido con tiempo extra, comenzando con un conjunto de pocas medidas de alto nivel.
13
20/11/2006
Sumario Medidas deben estar identificadas para soportar los objetivos de la organización. Medidas deben estar bien definidas y unidas al proceso software global. El proceso debe ser consistente, repetible y evolucionando continuamente.
Nota final Los japoneses no esperan por un modelo perfecto o una métrica perfecta. Ellos solamente intentan algo, lo analizan, lo mejoran e iteran este proceso.
14