domingo, 12 de junio de 2011

Proceso de Software y Métricas de Proyectos

Objetivo


n    Cómo medir el progreso de un proyecto de software

Introducción

n    La existencia de medidas numéricas facilita el conocimiento de un fenómeno
n    Las métricas del software ayudan en el proyecto:
n   En la estimación, control de calidad, evaluación de productividad y control de proyectos
n   En la evaluación de la calidad de los productos y trabajos técnicos
n   En la toma de decisiones tácticas según avanza el proyecto
n    Las métricas del software permiten mejorar el proceso


n    Hay cuatro razones para medir:
n   Caracterizar
Para comprender mejor los procesos, los recursos, los entornos y establecer las líneas base para comparaciones con evaluaciones futuras
n   Evaluar
Para determinar el estado con respecto al diseño
Para valorar la consecución de objetivos de calidad
Para evaluar el impacto de la tecnología y las mejoras del proceso
n   Predecir
Para poder planificar
Para la extrapolación de tendencias
n   Mejorar
La calidad del producto
El rendimiento del proceso

Medidas, métricas e indicadores

n    Una medida proporciona una indicación cuantitativa de la extensión, cantidad, dimensiones, capacidad o tamaño de algunos atributos de un proceso o producto
n   Ejemplo: un programa tiene 10.000 líneas de código (LDC)


n    Medición es el acto de determinar una medida
n   Ejemplo: Ana será la encargada de medir las LDC de cada módulo del sistema


n    Una métrica es una medida cuantitativa del grado en que un sistema, componente o proceso posee un atributo dado n   Una métrica relaciona medidas individuales sobre algún
aspecto
n   Ejemplo: la productividad de este proyecto fue de 500 (LDC/persona-mes)

n    Las medidas no sirven para comparar, necesitamos métricas
n   En el país A ganan 1000 ($/pm), y en el país B ganan 1500 ($/pm)
¿viven mejor en el país B que en el país A?
n   Un bocata cuesta 3$ en el país A, y en el país B cuesta 5$.
Echemos cuentas:
País A: 1000($/pm)/3($/BM) = 333,33 (BM/pm)
País B: 1500($/pm)/5($BM) = 250 (BM/pm)
n   Conclusión: no sabemos donde se vive mejor, pero en el país A una persona durante un mes puede comer un 33% s de bocatas que en el país B

Medidas, métricas e indicadores


n    Es decir,
n   La medida captura una característica individual
n   La medición permite capturar dicha característica
n   La métrica permite relacionar y comparar mediciones

Medidas, métricas e indicadores

n    Las métricas son el fundamento de los indicadores
n    Un indicador es una métrica o combinación de métricas que proporcionan una visión profunda del proceso del software, del proyecto de software o del producto en
n   Ejemplo: en el país A, no han aumentado los sueldos en los últimos tres años, pero el índice Bocatas se ha duplicado en ese periodo
n   Ejemplo: la productividad media de nuestra empresa es de
500(LDC/pm) y en el último proyecto ha sido de
250(LDC/pm)


n    Un indicador permite al gestor ajustar el producto, el proyecto o el proceso para mejorar
n   Ejemplo: en 4 equipos de proyecto software, el de menor productividad no usa una técnica que usan los otros. Se deduce que puede ser recomendable utilizar esa técnica en ese equipo

Métricas de proyecto y de proceso


n    Nuestros objetivos son establecer:
n   Métricas del proyecto à indicadores del proyecto
n   Métricas del proceso à indicadores del proceso
n    Los indicadores del proyecto permiten al gestor:
n   Evaluar el estado del proyecto en curso
n   Seguir la pista de riesgos potenciales
n   Detectar áreas problemáticas antes de que se conviertan en críticas
n   Ajustar el flujo y las tareas de trabajo
n   Evaluar la habilidad del equipo del proyecto en controlar la calidad de los productos de trabajo de la IS
n    Los indicadores del proceso permiten:
n   Al gestor, evaluar lo que funciona y lo que no
n   A la organización, tener una visión profunda de la eficacia de un proceso ya existente

Técnicamente no existe gran diferencia entre las métricas del proyecto y del proceso
n    Podemos concebir las métricas del proceso como recopilaciones de métricas del proyecto

Métricas de proyecto y de proceso


n    Métricas del proceso à indicadores del proceso à mejora en el proceso


n    Cuestiones:
n   Si la gestión se basa en el personal, problema y proceso,
¿por qué nos centramos en mejorar el proceso?
n   ¿Por qué el proceso es un factor clave y controlable para mejorar la calidad del software y el rendimiento de la organización?

Métricas del proceso


n    ¿Cómo medir el proceso?
n   Las métricas del proceso se extraen de las métricas del proyecto
n   En cualquier caso hay métricas privadas y otras públicas
Métricas privadas (de uso individual):
 Índices de defectos (individual, por módulo)
 Errores encontrados durante el desarrollo
Públicas para el equipo:
 Índices de defectos
 Errores encontrados en revisiones técnicas del proyecto
 LDC
 Puntos de función por módulo y función

Métricas del proceso


n    Las métricas del proceso pueden ser muy útiles, pero hay que saber interpretarlas
n    Normas básicas de interpretación:
n   Utilizar el sentido común al interpretar los datos de métricas
n   Proporcionar una realimentación regular a particulares y equipos
n   No utilizar métricas para evaluar a particulares
n   Establecer métricas claras y objetivos para alcanzarlas
n   No utilizar métricas para amenazar a particulares o equipos
n   Si una métrica identifica un área problemática no se debería considerar como negativa
Considerarlos como un indicador de mejora de proceso
n   Hay que interpretar todas las métricas en su conjunto, y no primar una en particular
No obsesionarse con una sola métrica, excluyendo otras importantes

Métricas del proceso y mejora del proceso


n    La utilización de métricas e indicadores fiables da lugar a una mejora estadística del proceso del software (MEPS)
n    Esta mejora se basa en un análisis de fallos que identifica la causa y origen de errores y defectos para varios proyectos de software
n   Error: fallo en un producto generado durante el proceso de
IS que es detectado antes de la entrega al cliente
n   Defecto: fallo detectado después de la entrega al cliente.

Métricas del proceso y mejora del proceso


n     Análisis de fallos:
1.   Se categorizan por origen todos los errores y defectos de varios proyectos
2.   Se registra el coste de corregir cada error y defecto
3.   Los errores y defectos de cada categoría se cuentan y se ordenan de mayor a menor coste
4.   Se computa el coste global de errores y defectos de cada categoría
5.   Los datos resultantes se analizan para detectar las categorías que producen el coste s alto para la organización
6.   Se desarrollan planes para modificar el proceso con el propósito de eliminar (o reducir la frecuencia de apariciones de) la clase de errores y defectos que sean s costosos

Métricas del proyecto


n    Las métricas del proceso son estratégicas:
n   Determinan el curso del proceso de producción de software
n    Las métricas del proyecto son tácticas:
n   Permiten adaptar el flujo de trabajo del proyecto actual y las actividades técnicas


n    La primera aplicación de las métricas del proyecto ocurre durante la estimación
n   Se realiza a partir de datos históricos
n   A medida que avanza el proyecto, las medidas del esfuerzo y el tiempo se comparan con las de planificación
n   El gestor utiliza estos datos para supervisar y controlar el avance
Utilización de las métricas del proyecto:
n   Para minimizar la planificación del desarrollo
Haciendo los ajustes necesarios que eviten retrasos y mitiguen problemas y riesgos potenciales
n   Evaluar la calidad de los productos en el momento actual
Modificando el enfoque técnico para mejorar la calidad, si es necesario

n    Mejor calidad ->
Menos defectos -> Menos trabajo -> Menor coste

Métricas del software


n    Como el contexto de uso identifica al tipo de métrica, nos referiremos a las métricas del producto y del proceso como métricas del software