Anda di halaman 1dari 62

Universidad Tecnolgica Nacional Facultad Regional Crdoba Ctedra de Ingeniera de Software Docentes: Judith Meles Daniel Battistelli

Mtricas de Software
1

Sabidura de Einstein

Objetivos

Conocer los conceptos vinculados a las mtricas de software. Comprender las dificultades asociadas a la medicin en el software. Conocer tcnicas para obtencin de mtricas de software Introducir el concepto de mtricas agiles
3

AGENDA
Introduccin Formalizacin de mtricas Mtricas de Software Mtricas giles

Definiciones

Medida

Proporciona una indicacin cuantitativa de la cantidad, dimensiones o tamao de algunos atributos de un producto o proceso

Medicin

Acto de determinar una medida

Mtrica

Es una medida del grado en que un sistema, componente o proceso posee un atributo dado

Indicador
Es una mtrica o una combinacin de mtricas que proporcionan una visin profunda del proceso del software, del proyecto de software, o del producto en s.

MEDIMOS POR UNA NECESIDAD


De De De De De De De

informar motivar comparar entender evaluar predecir mejorar

Unidad

Definicin Una cantidad particular, definida y adoptada por convencin, con la que poder comparar otras cantidades de la misma clase para expresar sus magnitudes respecto a esa cantidad particular [ISO-15939] Relaciones Una unidad sirve para expresar una o varias mtricas cuyo tipo de escala sea intervalo o ratio. Ejemplos Kilmetros, metros, millas. Lneas de cdigo, Pginas, Persona-mes, Nmero de mdulos, Nmero de clases,... Dlares, Horas, das, Meses, Aos,...
8

Mtrica Directa
Definicin Una mtrica de la cual se pueden realizar mediciones sin depender de ninguna otra mtrica y cuya forma de medir es un mtodo de medicin. Relaciones La forma de medir una mtrica directa es un mtodo de medicin. Una mtrica directa puede ser utilizada en funciones de clculo. Ejemplos Lneas de cdigo fuente escritas Horas-programador diarias Costo por hora-programador, en unidades monetarias
9

Mtrica Indirecta
Definicin Una mtrica cuya forma de medir es una funcin de clculo, es decir, las mediciones de dicha mtrica utilizan las medidas obtenidas en mediciones de otras mtricas directas o indirectas. Relaciones La forma de medir una mtrica indirecta es una funcin de clculo. Una mtrica indirecta puede usarse en una funcin de clculo. Ejemplos Horas-programador totales Lneas de cdigo fuente por hora de programador Costo total actual del proyecto, en unidades monetarias Costo por lnea de cdigo fuente
10

Escala
Definicin Un conjunto de valores con propiedades definidas [ISO 14598-1] Relaciones Toda escala es de un cierto Tipo de Escala. Ejemplos Los valores que puede tomar la mtrica lenguaje de Programacin usado en un proyecto: Pascal, C, Java (Nominal). El nivel de madurez CMM: 1, 2, 3, 4, 5 (Ordinal). El tamao de un cdigo software expresado en lneas de cdigo: Conjunto de los nmeros naturales (Ratio). La temperatura expresada en grados centgrados o grados Fahrenheit (Intervalo). Ejemplos de tipo de Escala Nominal, Ordinal, Intervalo, Ratio y Absoluta

11

Escala Nominal

Categora, taxonoma, atributo Ejemplos: Fase del desarrollo Ciclo de vida Tipo de producto

12

Escala Ordinal

Ordinal: Define un orden o ranking No se asume intervalos equidistantes Ejemplo: Impacto de un cambio Sin impacto Leve Medio Alto Muy Alto

13

Escala Intervalo

Intervalo: designa un ordenamiento equidistante (la distancia entre los tems de la escala tiene un significado) Ejemplo: Temperatura

14

Escala Radio

Radio: designa intervalos equivalentes con un punto cero absoluto (i.e., el cero implica la ausencia del objeto de medicin) Ejemplo: lneas de cdigo

15

Confiabilidad (Reliability) y Validez (Validity)

Muestran la calidad de la mtrica Validez Contraparte de exactitud Confiabilidad Contraparte de precisin

16

Validez

Grado en el cual la mtrica refleja el significado real del concepto que se observa.

17

17

Confiabilidad

Objetivo: mtricas sin errores (error-free) Es posible? Consistencia de un nmero de mediciones usando el mismo mtodo sobre el mismo fenmeno. Puede representarse con la desviacin estndar

A menor variacin, ms confiable la mtrica


18

18

Confiabilidad vs. Validez


Mtricas confiables no son necesariamente vlidas, y viceversa! Una analoga:

19

Qu son las Mtricas de Software?


La aplicacin continua de mediciones basadas en tcnicas
para el proceso de desarrollo de software y sus productos para suministrar informacin relevante a tiempo, as el lder de proyecto junto con el empleo de ests tcnicas mejorar el proceso y sus productos Michael [99]

20

Mtricas de software
El dominio de las mtricas del software se divide en:

Mtricas de proceso. Mtricas de proyecto. Mtricas de producto.

Las mtricas del proyecto se consolidan para crear mtricas de proceso que sean pblicas para toda la organizacin del software.
21 21

Clasificacin de mediciones y mtricas


Medidas directas ejemplo: la longitud de un tornillo Medidas indirectas ejemplo: la calidad de los tornillos producidos, medidos contando los artculos defectuosos Medidas directas del proceso: costo, esfuerzo Medidas directas del producto: las lneas de cdigo (LOC) producidas, velocidad de ejecucin, defectos informados.

Medidas indirectas: funcionalidad, calidad, complejidad, eficiencia, fiabilidad, facilidad de mantenimiento

22

Mtricas para un proyecto de software

Mtricas apropiadas para el nivel apropiado


Desarrollador Equipo de desarrollo Organizacin

Mtricas bsicas

Tamao (funcionalidad, LOC, pginas, etc.) Esfuerzo Tiempo (Calendario) Defectos

23

El sueo del pibe

Desarrollador
1. 2. 3. 4. 5.

Equipo de Desarrollo
1. 2.

Esfuerzo Esfuerzo y duracin estimada y actual de una tarea. % de cobertura por el unit test Numero y tipo de defectos encontrados en el unit test. Numero y tipo de defectos encontrados en revisin por pares.

Tamao del producto Duracin estimada y actual entre los hitos ms importantes. Niveles de staffing actuales y estimados. Numero de tareas planificadas y completadas. Distribucin del esfuerzo Status de requerimientos.

3. 4.

5. 6.

Organizacin
1. 2. 3. 4.

7.
8.

Volatilidad de requerimientos.
Numero de defectos encontrados en la integracin y el system testing Nmero de defectos encontrados en peer reviews. Status de distribucin de defectos. % de test ejecutados

Tiempo Calendario Performance actual y planificada de esfuerzo.

9.

Performance actual y planificada de presupuesto


Precisin de estimaciones en Schedule y esfuerzo Defectos en Release
10. 11.

24

5.

Seleccionando Mtricas
Elegir mtricas que provean informacin para ayudar a responder preguntas

Sea prctico, realista, pragmtico Considere el ambiente de ingeniera actual Comience con lo posible

25

Estandarice Definiciones

Selecciones definiciones de la literatura que coincidan con las metas organizacionales Utilcelas como base para la creacin de sus propias definiciones.

Aplquelas consistentemente.
Incluya las definiciones en un apndice de cada reporte de mtricas.

AUTOMATICE tanto del proceso como sea posible.

26

Mantngalo Simple
Si ests a millas de distancia de tu destino no tiene sentido medir en milmetros.

Preguntas:

Nos da ms informacin que la que tenemos ahora? Es esta informacin de beneficio prctico? Nos dice lo que queremos saber?

27

Anlisis de Escenarios
Escenario 1 Schedule: 100% Effort: 75% Features: 80%

Escenario 2 Schedule: 50% Effort: 145% Features: 50%


28

Anlisis de Escenarios
Escenario 3 Schedule: 75% Effort: 75% Features: 75%

Escenario 4 Schedule: 100% Effort: 100% Features: 50%


29

PUNTOS CLAVES

30

Si
Provea feedback
Datos

Mediciones Basadas en objetivos Basili et al.


The GQM Approach http://www.cs.toronto.edu/~sme/CSC444F/han douts/GQM-paper.pdf Proveedores Feedback Metricas

Procesos, Productos & Servicios

Tenga e identifique stakeholders

31

Foco en procesos, productos & servicios

31

No

Mida individuos

Use mtricas cmo un castigo


Use slo una mtrica
Cost Quality Schedule
32

Ignore los datos

Algo ms sobre las mtricas


Necesidades Expectativas

Calidad

Balancear
Alcance

Necesidades

Restricciones

Expectativas

Proceso
33

Mtricas giles
34

Regla de Oro gil sobre Mtricas

La medicin es una salida, no una actividad

Una filosofa minimalista sobre las Mtricas:

Medir la que sea necesario

y nada ms.
35

Para cada involucrado


Toda la informacin que necesitan para tomar decisiones, y no ms. Informacin al nivel de detalle que pueden usar. Informacin con el alcance que les interesa (equipo, proyecto, programa, lnea de negocio, empresa, industria) Informacin pertinente en el marco de tiempo que les interesa (da, iteracin, release, proyecto, estrategia, hito).

36

Factores que ejercen influencia en la eleccin de las mtricas


Estilo general de los procesos giles

Tipo de trabajo que se est haciendo

Cmo est planificado y descompuesto el trabajo


Las opciones de los equipos auto-organizados

Las Caractersticas de la organizacin


Los objetivos de mejora continua del equipo
38

Dos principios giles que guan la eleccin de las Mtricas

Nuestra mayor prioridad es satisfacer al cliente por medio de entregas tempranas y continuas de software valioso."
y El Software trabajando es la principal medida de progreso."
39

Tres clases de mtricas


Informacional informan que es lo que est pasando Diagnstico identifica reas de mejora Motivacional influye en el comportamiento Una mtrica puede funcionar en ms de una categora Ejemplo: Entregar alto valor al los clientes (informacional) puede incrementar la moral del equipo (motivacional). Cuidado con los efectos secundarios no deseados Ejemplo: Premiar a las personas para corregir errores puede resultar en un
aumento en los errores, y a la gente a crear oportunidades para ganar los premios.
40

Running Tested Features (RTF )


Running entregado en un producto Tested pruebas de aceptacin continuas, pasadas Features aspectos dados por el cliente

41

41

Running Tested Features (RTF)


Running Tested Features
12

10

Features

RTF

Iteration

42

Running Tested Features


Principio
Software Funcionando es la mejor medida de progreso.

Informacional
Medida directa de los resultados entregados.

Diagnstico
Si es llano o disminuye en el tiempo, es un indicador de problema.

Motivacional
Los miembros del equipo naturalmente quieren ver un incremento en RTF.
44

Cuando RTF huele mal


Es cero desde el inicio en algunos sprints. Comienza muy rpido y luego cae. Se comporta como un yoyo Cae demasiado rpido

45

Capacidad
Capacidad es...
Una estimacin de cuanto trabajo puede completarse en un perodo de tiempo dado. Basado en la cantidad de tiempo ideal disponible del equipo.

...Se puede medir en... Esfuerzo (horas) Puntos de Historia (Story Points)
46

Capacidad

Horas de Trabajo Disponibles por da (WH) X Das Disponibles Iteracin (DA) = Capacidad WH x DA = Capacidad Ejemplo:

Equipo de 8 miembros 4 miembros disponibles los 2 primeros sprints. 1 miembro se casa en sprints 5 y 6 6 horas de trabajo

47

Capacidad
Sprint Horas Puntos de Historia 1 240 30 2 240 30 3 480 45 4 480 60 5 420 58 6 420 52 7 480 60 Total 2760 335

Capacidad
600 500 400 300 200 100 0 1 2 3 4 5 6 7 240 240 480 480 420 420 480

48

Capacidad: consideraciones

Individuos calculan capacidad realista Aplicar estimaciones honestas a sus tareas Considerar una capacidad mxima de 50%-70% Comprender la capacidad a largo plazo con la velocidad y los puntos de historiaCul es el promedio de finalizacin de un punto de historia para un equipo/individuo?

50

50

Capacidad
Principio
Nuestra mayor prioridad es satisfacer al cliente con entregas tempranas y continuas de software valioso.

Informacional
Observacin emprica de la disponibilidad del equipo en lo que resta de un sprint. til para proyectar la fecha probable de un alcance dado. til para estimar la cantidad de alcance que puede ser entregado para una fecha dada.

Diagnstico
Patrones en las tendencias de la capacidad indican si el equipo podr cumplir con los compromisos.

Motivacional
51

Los miembros del equipo se enorgullecen de alcanzar los compromisos y cumplir con la capacidad proyectada.

Velocidad Velocidad es... Una observacin emprica de la capacidad del equipo para completar el trabajo por iteracin.

52

...y no es... una estimacin un objetivo a alcanzar

Velocidad

Velocidad est... Basada en el tamao de los tems de trabajo propio de cada equipo.
...y no est... basada en estimaciones o tiempo real determinado o impuesto por nadie ms que por los miembros del equipo.

53

Velocidad Velocidad es... Comparable entre iteraciones para un equipo dado y un proyecto dado.

...y no es... comparable entre equipos comparable entre proyectos


54

Unidad de medida de la Velocidad


Cmo planea el equipo Compromiso con las historias Tamao relativo (puntos) Estimacin (horas ideales) Unidad de Medida Historias Puntos de Historia Horas ideales

Qu cuenta para la velocidad? Solo cuenta el trabajo completado para la velocidad


55

Velocidad

56

Velocidad
Principio
Nuestra mayor prioridad es satisfacer al cliente con entregas tempranas y continuas de software valioso.

Informacional
Observacin emprica de la capacidad de trabajo del equipo. til para proyectar la fecha probable de un alcance dado, til para estimar la cantidad de alcance que puede ser entregado para una fecha dada.

Diagnstico
Patrones en las tendencias de la velocidad indican problemas diferentes, proporciona una base para los esfuerzos de mejora continua

Motivacional
58

Los miembros del equipo se enorgullecen de lograr una alta velocidad y mantenerla estable

Poniendo la velocidad a trabajar: Burn Charts


Burn-down chart Cunto trabajo queda para terminar? Burn-up chart Cunto trabajo se ha completado?

Combined burn chart


Cunto trabajo se ha completado y cuanto trabajo queda?
59

Burndown Chart Line Style

60

Burndown Chart Bar Style

61

Burnup and Burndown Chart


Burn-Up and Burn-Down
800

700

600

500
Remaining Story Points Completed Story Points Cumulative Linear Regression for Completed Story Points Cumulative Total Story Points (Scope) Linear Regression for Total Story Points (Scope)

400

300

200

100

0 Iteration 1 Iteration 3 Iteration 5 Iteration 7 Iteration 9 Iteration 11 Iteration 13 Iteration 15 Iteration 0 Iteration 2 Iteration 4 Iteration 6 Iteration 8 Iteration 10 Iteration 12 Iteration 14

62

Burn Charts
Principio
Nuestra mayor prioridad es satisfacer al cliente con entregas tempranas y continuas de software valioso.

Informacional
Medida directo de trabajo restante; fechas de finalizacin proyectada; impacto de cambio de alcance en el cronograma.

Diagnstico
Indica si el cambio de alcance o la performance del equipo es la causa de la variacin en el cronograma.

Motivacional
64

Los miembros del equipo estn motivados para ver claramente cuando es probable que se termine el proyecto y ver la cantidad de trabajo que viene reducindose.

Mediciones Problemticas
No relevantes con los mtodos giles: Diagrama de Gantt Porcentaje Completado

Tiempo de cada miembro del equipo por tarea


Tiempo Real vs. Tiempo Estimado
65

Mejores Prcticas

66

No producir mtricas que nadie quiere. Ser honesto a cerca del uso de las mtricas. No usar mtricas para comparar equipos. Use las mtricas como base para la discusin No desmoralizar al equipo con mtricas. Tomar en cuenta el estado cuando elegs las mtricas. No seleccionar mtricas difciles de obtener. Mtricas diferentes para productos y procesos.

Mejores Prcticas

67

Medir resultados no salidas. Medir resultados no actividades. Medir tems de trabajo hechos, no tiempo gastado por tarea. Seguir tendencias no nmeros. No medir algo slo porque se puede. Utilice slo el conjunto de mtricas suficiente. Use mtricas fciles de recolectar. Comparta mtricas para obtener feedback.

Referencias
Pressman, Roger - INGENIERA DE SOFTWARE, UN ENFOQUE PRCTICO. (Editorial McGraw Hill Ao 2005) http://agile2009.agilealliance.org/files/session_pdfs/Rawsthorne_AgileMetrics_v6d .pdf Towards-Agile-Metrics.pdf http://www.slideshare.net/alimenkou/agile-metrics-2725666 http://www.davenicolette.net/agile http://www.davenicolette.net/taosoft AppropriateAgileMeasurement.pdf

68

Anda mungkin juga menyukai