Documente Academic
Documente Profesional
Documente Cultură
4. Casos de Estudio
Introduccin Visin General de los Procesos de Medicin del Software La Medicin en los Modelos de Madurez y Evaluacin y Mejora de Procesos Software GQM (Goal Question Metric) GQ(I)M y Goal Driven Measurement PSM (Practical Software Measurement) Estndares de Medicin Software
ISO 15939 IEEE 1061:1998
Bsicas
Piattini, M., Garca, F., Garzs, J., Genero, M. (2008). Medicin y Estimacin del Software: Tcnicas y Mtodos para Mejorar la Calidad y Productividad. Ra-Ma. van Solingen, R. y Berghout, E. (1999). The Goal/Question/Metric Method, A Practical Guide for Quality Improvement of Software Development. London, England: McGraw-Hill International (UK), ISBN 007 709553 7, 1999. Estndares:
ISO/IEC. (2002). ISO 15939: Software Engineering - Software Measurement Process. IEEE (1998). IEEE Std 1061-1998 IEEE Standard for a Software Quality Metrics Methodology Disponible en:
http://standards.ieee.org/reading/ieee/std_public/description/se/10611998_desc.html
Complementarias:
McGarry, J., Card, D., Jones, C., Layman, B., Clark, E., Dean, J. y Hall, F. (2002). Practical Software Measurement. Objective Information for Decision Makers. Addison-Wesley. Park, R., Goethert, W., Florac, W. (1996). Goal-Driven Software Measurement - A Guidebook. Handbook CMU/SEI96-HB-002, Software Engineering Institute, Agosto 1996. Goethert, W. y Siviy, J. (2004). Applications of the Indicador Template for Measurement and Analysis. Technical Note CMU/SEI-2004-TN-024. Software Engineering Institute, Septiembre 2004.
UCLM-TSI. Curso Doctorado PSGC. Parte 4a - El Proceso de Medicin Software 4
Introduccin
Visin General de los Procesos de Medicin del Software La Medicin en los Modelos de Madurez y Evaluacin y Mejora de Procesos Software GQM (Goal Question Metric) G(I)QM y Goal Driven Measurement PSM (Practical Software Measurement) Estndares de Medicin Software
ISO 15939 IEEE 1061:1998
UCLM-TSI. Curso Doctorado PSGC. Parte 4a - El Proceso de Medicin Software 5
Introduccin (i)
Una de las razones principales del incremento masivo en el inters en la medicin software ha sido la percepcin de que las mtricas son necesarias para la mejora de la calidad del proceso (Fenton, 2001). Para poder asegurar que un proceso o sus productos resultantes son de calidad o poder compararlos, es necesario asignar valores, descriptores, indicadores o algn otro mecanismo mediante el cual se pueda llevar a cabo dicha comparacin. Para ello, es necesario llevar a cabo un proceso de medicin del software cuyos objetivos fundamentales son (Fenton y Pfleeger, 1997):
ayudarnos a entender que ocurre durante el desarrollo y el mantenimiento permitirnos controlar que es lo que ocurre en nuestros proyectos poder mejorar nuestros procesos y nuestros productos
Introduccin (ii)
Introduccin (iii)
Terminologa:
No hay consenso total entre las diferentes propuestas y estndares (ISO, IEEE, Modelos Madurez, ..) Ontologa de la Medicin del Software:
gua de referencia con los conceptos relacionados
UCLM-TSI. Curso Doctorado PSGC. Parte 4a - El Proceso de Medicin Software 8
Introduccin (iv)
Terminologa:
Ontologa de la Medicin del Software: Sub-Ontologas:
Caracterizacin y Objetivos de la Medicin Software,
con los elementos sobre los que se puede aplicar un proceso de medicin y sus propiedades. Tambin se reflejan los objetivos que se persiguen con la medicin del software.
Accin de Medir
se identifican los conceptos relacionados con la forma en la que se lleva a cabo la medicin software.
Mtricas
se especifica la definicin y caractersticas bsicas de las mtricas software.
Formas de Medir,
se describen las distintas formas de definir mtricas software.
UCLM-TSI. Curso Doctorado PSGC. Parte 4a - El Proceso de Medicin Software 9
Introduccin (v)
Terminologa:
Ontologa de la Medicin del Software:
Todo proceso de medicin del software tiene como objetivo fundamental satisfacer necesidades de informacin. Un proceso de medicin no puede obtener resultados tiles si stos no satisfacen alguna necesidad de informacin detectada en la empresa en la que se lleva a cabo. A partir de las necesidades de informacin se deben identificar las entidades y los atributos de dichas entidades que son candidatos a ser medidos. Una vez identificados los atributos objeto de la medicin se deben definir las mtricas necesarias. En la definicin general de una mtrica se deben especificar aspectos como la unidad en la que se expresa, la escala a la que pertenece, el atributo o atributos para los que se define, etc.
10
Introduccin (y vi)
Terminologa:
Ontologa de la Medicin del Software:
La definicin de las mtricas se debe realizar a distintos niveles o alcances, ya que resultara excesivamente complejo definir de forma directa mtricas a partir de las cuales se satisfagan las necesidades de informacin.
Es fundamental definir en primer lugar mtricas que se aplican directamente sobre las caractersticas de una entidad para evaluar un determinado atributo Mtricas Base A partir de estas mtricas directas se pueden definir Mtricas Derivadas y Finalmente se podran definir Indicadores con el objetivo de proporcionar informacin til para la toma de decisiones, y por lo tanto, ms cercanas a satisfacer las necesidades de informacin.
Finalmente se lleva a cabo el proceso de medicin propiamente dicho, a partir de la definicin de las mtricas y de la caracterizacin de los atributos de las entidades objeto de la medicin, mediante la realizacin de mediciones que como resultado obtienen resultados de medicin.
11
Introduccin Visin General de los Procesos de Medicin del Software La Medicin en los Modelos de Madurez y Evaluacin y Mejora de Procesos Software GQM (Goal Question Metric) GQ(I)M y Goal Driven Measurement PSM (Practical Software Measurement) Estndares de Medicin Software
ISO 15939 IEEE 1061:1998
12
Situacin Actual:
Cada vez mayor coordinacin entre las distintas propuestas y estndares (Jones, 2003):
Practical Software Measurement (PSM)
Estndares ISO/IEC SC7 12207 (revisin- procesos de soporte) 15288 (Conceptos de medicin) 9126 (terminologa coordinada) 14598 (terminologa coordinada) ISO 90003:2004 (objetivos)
13
Situacin Actual:
PSM constituye el documento base a partir del que se ha elaborado el nuevo estndar ISO/IEC 15939 sobre la medicin del software.
PSM proporciona detalles adicionales respecto de las actividades y tareas de ISO 15939.
El objetivo y los resultados del proceso de medicin de ISO 15939 ha sido aadido a la revisin del estndar ISO 12207 dentro de un nuevo proceso de soporte denominado Medicin y a la norma ISO 90003 (aplicacin de la norma ISO 9001:2000 al software).
UCLM-TSI. Curso Doctorado PSGC. Parte 4a - El Proceso de Medicin Software 14
Situacin Actual:
Los conceptos del dominio de la medicin de ISO 15939 han sido aadidos al estndar ISO/IEC 15288 (Procesos de Ciclo de Vida del Sistema). De la misma forma, la nueva terminologa de la medicin ha sido coordinada con las revisiones en los estndares ISO/IEC 9126 (Calidad del Producto Software) e ISO/IEC 14598 (Evaluacin de Productos Software) con el objetivo de que todos los estndares que usen el dominio de la medicin estn basados en una misma terminologa. El rea Medicin y Anlisis de CMMI proporciona una metodologa para evaluar si un programa de medicin de un proyecto es acorde con el estndar ISO 15939, por lo que utiliza este estndar como referencia de entrada.
15
16
Partiendo de un conjunto de que los objetivos de la medicin son conocidos, cada organizacin especfica tiene la libertad de seleccionar mtricas concretas adecuadas para su entorno, industria o cultura
17
18
19
La Medicin en los Modelos de Madurez y Evaluacin y Mejora de Procesos Software (iv) ISO 15504: Prcticas Base Medicin PB 1. Establecer un compromiso de la organizacin para la medicin. PB 2. Desarrollar una estrategia de medicin. PB 3. Identificar las necesidades de informacin de medicin. PB 4. Especificar medidas. PB 5. Recopilar y almacenar datos de la medicin. PB 6. Analizar los datos de la medicin. PB 7. Usar los productos de informacin de medicin para la toma de decisiones. PB 8. Comunicar los resultados de la medicin. PB 9. Evaluar y comunicar las actividades de medicin y productos de informacin a los dueos del proceso.
UCLM-TSI. Curso Doctorado PSGC. Parte 4a - El Proceso de Medicin Software 20
21
ISO 90003:
Gua para la aplicacin organizaciones para la aplicacin de la ISO 9001:2000 a la adquisicin, suministro, desarrollo, operacin y mantenimiento de software y sus servicios relacionados Apartado Medicin, Anlisis y Mejora
22
La Medicin en los Modelos de Madurez y Evaluacin y Mejora de Procesos Software (vii) CMMI (Capability Maturity Model Integration):
Incorpora una nueva rea del proceso denominada Medicin y Anlisis:
Su alcance es mucho ms amplio y ms explcito que el tratamiento de la medicin en el modelo CMM. Proporciona una gestin con el enfoque y la visibilidad que las organizaciones necesitan para guiar el uso de la medicin en sus esfuerzos de mejora Objetivo: Desarrollar y establecer una capacidad de medicin que se pueda usar para dar soporte a las necesidades de informacin de la organizacin Ampliacin de los conceptos incluidos en el modelo CMM. Da soporte al resto de reas de proceso:
Proporciona un marco de trabajo a las organizaciones a la hora de alinear los objetivos y necesidades de medicin con un enfoque de medicin basado en proporcionar resultados objetivos que sean tiles para la toma de decisiones y acciones correctivas. Enfoque consistente con las ideas de Goal-Question-Metric y del estndar ISO 15939.
23
Especificar Medidas
Especificar
Procedimientos
de Anlisis
Personal de Medicin
24
25
Objetivo
Monitorizar y controlar el proceso respecto al plan para la realizacin del proceso y llevar a cabo las acciones correctivas apropiadas. Recoger productos de trabajo, medidas, resultados de la medicin, e informacin de la mejora derivada de la planificacin y realizacin del proceso para dar soporte a su uso futuro y a la mejora de los procesos de la organizacin. Establecer y mantener objetivos cuantitativos sobre la calidad y rendimiento del proceso basados sobre las necesidades de los clientes y los objetivos de negocio. Estabilizar el rendimiento de uno o ms subprocesos del proceso para determinar su habilidad para obtener la calidad establecida de forma cuantitativa y los objetivos de rendimiento del proceso. Asegurar la mejora continua del proceso en la consecucin de objetivos de negocio relevantes de la organizacin.
26
Introduccin Visin General de los Procesos de Medicin del Software La Medicin en los Modelos de Madurez y Evaluacin y Mejora de Procesos Software
Goal-Question-Metric (i)
extendido posteriormente por Rombach (1990) como resultado de muchos aos de experiencia prctica e investigacin acadmica.
28
Goal-Question-Metric (ii)
Goal-Question-Metric (iii)
Fases GQM:
Objetivo Logro de Objetivo Respuesta
Mtrica
Medicin
Definicin
Interpretacin
Datos Recogidos
Planificacin
Recogida de Datos
30
Goal-Question-Metric (iv)
Planificacin:
1. Establecer el Equipo GQM
Cualidades:
independientes del equipo del proyecto no especial inters en los resultados de la medicin suficiente conocimiento previo sobre los objetos de la medicin mentalidad de orientacin a la mejora, incluso sobre s mismos entusiastas para motivar a los miembros del proyecto.
Roles:
Manager: Responsable de la continuidad del programa de medicin Coach: Experto en GQM Support Engineer
Actividades
planificar los programas de medicin (contexto proyectos desarrollo) actividades de definicin de la medicin y desarrollo de los entregables QGM comprobar los datos recogidos por el equipo del proyecto y los datos proceso preparar la interpretacin de los datos de la medicin informar sobre el progreso del equipo de proyecto y de gestin comunicar los resultados.
31
Goal-Question-Metric (v)
Planificacin:
2. Seleccionar las reas de mejora
De productos o procesos Basada en los objetivos de negocio (costes, tiempo, riesgos, calidad)
Goal-Question-Metric (vi)
Planificacin:
5. Formacin y Promocin:
Equipo GQM debe organizar sesiones frecuentes de formacin y promocin en las que se presenten de forma clara los objetivos de medicin propuestos, los beneficios del programa de medicin, el impacto del programa de medicin en las actividades diarias del equipo de proyecto y las experiencias en otros proyectos u organizaciones. El objetivo es motivar y formar a los miembros del equipo del proyecto en la realizacin del programa de medicin.
33
Goal-Question-Metric (vii)
Definicin:
1. Definir los Objetivos de la Medicin
Se consideran los objetivos de mejora del plan del proyecto definidos en la fase anterior. Como resultado se obtiene una definicin bien estructurada de los objetivos:
el objeto bajo medicin entender, controlar, o mejorar el objeto el enfoque de calidad del objeto en el que se centra la medicin las personas que miden el objeto el entorno en el que la medicin tiene lugar
34
Goal-Question-Metric (viii)
Definicin:
2. Revisar o producir los modelos de proceso software.
Soporte a la definicin de las mediciones. Si existen previamente deben ser revisados y mejorados (si procede) Si no existen, los modelos de procesos deben ser definidos por el equipo GQM y aprobados por el equipo del proyecto.
Goal-Question-Metric (ix)
Definicin:
4. Definir Preguntas e Hiptesis.
Con la respuesta a las preguntas planteadas, se debera poder concluir si se cumple un determinado objetivo. Para cada pregunta, las respuestas esperadas son formuladas como hiptesis que son comparadas en la fase de interpretacin con los resultados reales de la medicin.
Goal-Question-Metric (x)
Definicin:
8. Producir el Plan GQM
Objetivos, Preguntas y Mtricas de un determinado programa de medicin para facilitar la interpretacin de los datos y los posteriores planes de medicin y anlisis
Goal-Question-Metric (xi)
Definicin:
Interpretacin
Objetivo
Modelos Implcitos
Preguntas
P1
P2
P3
P4
Mtricas
M1
Definicin
M2
M3
M4
M5
M6
M7
38
Goal-Question-Metric (xii)
Definicin:
Ejemplo Mtricas para BBDD Relacionales: Objetivo GQM Analizar Con el propsito de Con respecto a Desde el punto de vista de En el contexto de Preguntas:
Pregunta 1. Cmo influye la complejidad de las tablas en la mantenibilidad de las bases de datos relacionales? Pregunta 2. Cmo influye la complejidad entre tablas en la mantenibilidad de las bases de datos relacionales?
BBDD Relacionales Asegurar la Mantenibilidad los Diseadores de BBDD Desarrollo y Mantenimiento de BBDD
39
Goal-Question-Metric (xiii)
Definicin:
Ejemplo Mtricas para BBDD Relacionales: Mtricas:
Pregunta 1
NA(T) - NMERO DE ATRIBUTOS DE UNA TABLA NFK(T) - NMERO DE CLAVES AJENAS RFK(T) - RATIO DE CLAVES AJENAS DE UNA TABLA
Pregunta 2
RFK
(T ) =
NFK ( T ) NA ( T )
Goal-Question-Metric (xiv)
Recogida de Datos:
1. Formacin y Arranque de la Recogida de Datos
Periodo Hold Trial, periodo de prueba antes de comenzar la recogida real de datos en el que se definen y prueban los procedimientos de recogida de datos as como las herramientas y formularios Sesin Kick off, se debe llegar a un acuerdo con el equipo del proyecto para el comienzo de la recogida de datos de la medicin y se instruye a sus miembros en los procedimientos de recogida de datos, herramientas y formularios. Recogida de datos, se rellenan los formularios y se entregan de forma frecuente al equipo GQM que los evala
41
Goal-Question-Metric (xv)
Recogida de Datos:
2. Construccin del Sistema de Soporte a la Medicin
Measurement Support System (MSS) Base: Herramientas Genricas (hojas de clculo, herramientas estadsticas, aplicaciones de bases de datos, herramientas de presentacin) Debe dar soporte a todas las actividades de medicin (recogida, almacenamiento, procesamiento, presentacin y empaquetamiento de los datos de medicin) Tres partes bsicas:
Base de Mtricas MSS Hojas de Anlisis MSS Diapositivas de Anlisis MSS
42
Goal-Question-Metric (xvi)
Interpretacin:
1. Preparacin de las Sesiones de Realimentacin
el equipo GQM prepara el material necesario (diapositivas, hojas de anlisis, etc.)
2. Sesiones de Realimentacin
Se debaten los resultados de la medicin (reuniones de 1 hora aprox. cada 6, 8 semanas) Los miembros del equipo del proyecto (como expertos del objeto bajo medicin) deben obtener conclusiones y acciones a realizar
Goal-Question-Metric (y xvii)
Beneficios
Ventas adicionales derivadas de la mejora de calidad Evitar decrecimiento en ventas debido a la mejora de calidad Ahorro de tiempo y esfuerzo en el desarrollo de software debido a un mejor entendimiento de los procesos de desarrollo Ahorro de tiempo debido a una mejor gestin de los recursos
44
Introduccin Visin General de los Procesos de Medicin del Software La Medicin en los Modelos de Madurez y Evaluacin y Mejora de Procesos Software GQM (Goal Question Metric)
GQ(I)M comparte muchas similitudes con la metodologa GQM, salvo en el aspecto de que aade soporte explcito a los indicadores Plantilla de Indicadores
quin, qu, dnde, cundo, porqu y cmo de un indicador alineamiento del indicador con los objetivos de la organizacin. coleccin consistente de mtricas a la hora de construir un indicador elementos adicionales para asegurar una interpretacin consistente del propio indicador
46
47
Identificacin de Objetivos:
Paso 1
Objetivos de Negocio
Qu quiero lograr? recibe
Modelo Mental
El Proceso
consiste en tiene produce
Entidades Entidades
Paso 3 Paso 5
Atributos
Objetivos de Medicin
O1
O2
48
Definicin de Indicadores:
6. Identificar preguntas cuantificables y los indicadores relacionados
a partir de cada uno de los objetivos de medicin planteados. Los indicadores representan los productos obtenidos en las actividades de medicin y son utilizados por los directores de proyectos y profesionales como fuente de informacin de soporte para la toma de decisiones. Aspectos a considerar en el diseo de indicadores:
como la frecuencia de recogida de datos, el tiempo requerido para generar el indicador, la necesidad de datos histricos, etc
Definicin de Indicadores:
Objetivos de Medicin
O1
O2
Paso 6
Objetivos
Negocio- SubObjetivos - Medicin Plantilla de Definicin de Indicadores
Objetivo ______ Preguntas ______
Preguntas
P1
P2
P2 Preguntas
Paso 7
I1
Indicadores
I2
I3
I4 Indicadores
Mtricas
M1
M2
M3
Paso 8
50
Introduccin Visin General de los Procesos de Medicin del Software La Medicin en los Modelos de Madurez y Evaluacin y Mejora de Procesos Software GQM (Goal Question Metric) GQ(I)M y Goal Driven Measurement
Se basa en la experiencia obtenida por las organizaciones para saber cul es la mejor manera de implementar un programa de medicin de software con garantas de xito.
Las prcticas y principios que propone se han llevado a cabo con xito en multitud de proyectos software.
Incluye lneas gua para ajustar los marcos de trabajo de la medicin y las prcticas a la situacin de cada proyecto en cada organizacin Proceso PSM:
Planificacin de la Medicin. Realizacin de la Medicin. Evaluacin de la Medicin
se definen las mtricas necesarias para satisfacer las necesidades de informacin se recogen los datos de las mediciones, se realiza el anlisis y se presentan los resultados tanto el proceso de medicin como las propias mtricas definidas deben evaluarse y mejorarse peridicamente segn sea necesario. se establecen los recursos, formacin y herramientas necesarias para implementar un programa de medicin de forma efectiva
54
Proceso PSM:
Realimentacin de los usuarios
Planificar el proceso
Nuevas Tareas
Acciones de Mejora
Evaluacin
mbito de PSM
55
Atributo
Indicador
56
Introduccin Visin General de los Procesos de Medicin del Software La Medicin en los Modelos de Madurez y Evaluacin y Mejora de Procesos Software GQM (Goal Question Metric) GQ(I)M y Goal Driven Measurement PSM (Practical Software Measurement) Estndares de Medicin Software
ISO 15939
IEEE 1061:1998
UCLM-TSI. Curso Doctorado PSGC. Parte 4a - El Proceso de Medicin Software 57
identificar, definir, seleccionar, aplicar y mejorar de manera exitosa la medicin de software dentro de un proyecto general o de la estructura de medicin de una empresa.
58
Objetivos Medicin:
Ayudar a una gestin efectiva de los procesos y demostrar objetivamente la calidad de los productos:
Se establece y mantiene un acuerdo dentro de la organizacin a la hora de medir. Se identifican las necesidades de informacin de los procesos tcnicos y de gestin. Se identifica y/o define un conjunto apropiado de mtricas en funcin de las necesidades de informacin. Se identifican las actividades de la medicin. Se recogen, almacenan y analizan los datos necesarios y se interpretan los resultados. Se usan productos de informacin para apoyar las decisiones y proporcionar una base objetiva para la comunicacin. Se evalan el proceso de la medida y las propias medidas. Las mejoras se comunican al responsable del proceso de medicin.
59
Productos Informativos
Informacin de planificacin
acciones de mejora
60
Planificar el Proceso de Medicin Definir los procedimientos de recoleccin de datos, anlisis e informes
Definir criterios evaluacin de los productos de informacin y el proceso de medicin Revisar, aprobar y proporcionar recursos para las tareas de medicin Adquirir y utilizar tecnologas de apoyo Integrar los procedimientos
Recoger los datos Analizar los datos y desarrollar productos de informacin Comunicar los resultados
UCLM-TSI. Curso Doctorado PSGC. Parte 4a - El Proceso de Medicin Software Identificar las mejoras potenciales
Evaluar la Medicin
Introduccin Visin General de los Procesos de Medicin del Software La Medicin en los Modelos de Madurez y Evaluacin y Mejora de Procesos Software GQM (Goal Question Metric) GQ(I)M y Goal Driven Measurement PSM (Practical Software Measurement) Estndares de Medicin Software
ISO 15939
IEEE 1061:1998
UCLM-TSI. Curso Doctorado PSGC. Parte 4a - El Proceso de Medicin Software 62
Trata de definir la calidad del software para un sistema mediante una lista de atributos de calidad del software requeridos por el propio sistema.
La calidad del software se puede considerar como el grado en el que el software posee una combinacin claramente definida y deseable de atributos de calidad
El propsito de las mtricas del software es hacer evaluaciones a travs del ciclo de vida del software para comprobar si los requisitos de calidad del software se estn cumpliendo, aunque sin que ello elimine la necesidad de un juicio humano en las evaluaciones de software.
63
Subfactor
Subfactor
Subfactor
Mtrica
Mtrica
Mtrica
65
Metodologa (cont):
4. Anlisis de los Resultados de las Mtricas del Software.
Interpretar los resultados. Identificar la calidad del software. Hacer predicciones de la calidad del software. Garantizar la conformidad con los requisitos.
67