Clase19 GQMYMetricas IMP

33
Ingeniería de Software II Primer Cuatrimestre de 2009 Buenos Aires, 8 de Junio de 2009 Clase 19 Métricas de Software y GQM 1 © Cátedra de Ingeniería de Software II FCEN UBA, 2009

description

.

Transcript of Clase19 GQMYMetricas IMP

  • Ingeniera de Software II

    Primer Cuatrimestre de 2009

    Buenos Aires, 8 de Junio de 2009

    Clase 19 Mtricas de Software y GQM

    1

    Ctedra de Ingeniera de Software II FCEN UBA, 2009

  • Ctedra de Ingeniera de Software II FCEN UBA, 2009

    El problema

    La toma de decisiones en proyectos de software requiere de informacin objetiva.

    Lo usual:Qu tan grande es el sistema?

    Rta: enorme!

    Cunto falta para terminar?

    Rta: ya casi terminamos

    Cul es nuestra productividad?

    Rta: muy alta

    Debemos cuantificar nuestro conocimiento para mejorar nuestra gestin de productos y procesos

    Deming: In god we trust, all others must bring data

    De Marco: You cant control what you cant measure

    2

  • Ctedra de Ingeniera de Software II FCEN UBA, 2009

    Ms problemas

    3

  • Ctedra de Ingeniera de Software II FCEN UBA, 2009

    Fenton: Es el proceso por el cual nmeros o smbolos son asignados a atributos de entidadesdel mundo real de modo de poder describirlos acorde a reglas claramente definidas.

    Debo poder identificar los objetos del dominio y especificar su comportamiento

    Medicin

    El objetivo debe estar previamente establecido.

    Debo definir una escala...

    Establecer una relacin entre dicha escala y los atributos de los objetos establecidos.

    4

  • Ctedra de Ingeniera de Software II FCEN UBA, 2009

    Mediciones (medidas) y Mtricas

    Una medicin es una cantidad o proporcin que asigna un valor a una entidad.

    Cantidad: En este sprint completamos 5 User Stories

    Proporcin: En este sprint la velocidad fue 10% mayor que en el sprint anterior

    Una mtrica es una medida cuantitativa sobre si un sistema, componente o proceso posee una determinada caracterstica (IEEE)

    Ejemplo: Cantidad de defectos encontrados por hora de revisin de cdigo (mtrica de eficiencia de una actividad de calidad)

    5

  • Ctedra de Ingeniera de Software II FCEN UBA, 2009

    Tipos de Mtricas

    Hay muchas formas de clasificar mtricas:

    Segn el objeto que miden, pueden ser:De producto: resultados explcitos de actividades de

    desarrollo. Se refieren a entregables y productos.

    De procesos: se refieren a las actividades del desarrollo

    De recursos: los inputs a las actividades

    Y a su vez pueden ser:Directas (atributos internos como LOC) vs. Indirectas

    (externos como confiabilidad)

    Bsicas vs derivadas (combinan ms de una medicin)

    6

  • Ctedra de Ingeniera de Software II FCEN UBA, 2009

    Otra clasificacin de mtricas

    De Informacin (Informational): nos dicen lo que pasa

    De Diagnstico: Identifican reas de mejora

    Motivacionales: influencian el comportamiento

    Una mtrica puede pertenecer a varias categoras

    7

  • Ctedra de Ingeniera de Software II FCEN UBA, 2009

    Para qu sirven las Mtricas en Software?

    Entender y Modelar Procesos de Ingeniera de Software y

    Productos

    Asistencia en la Administracin de Proyectos de Software.

    Estimar mejor, tomar mejores decisiones en general

    Guiar mejoras en Procesos de Ingeniera de Software

    Ayuda a las actividades de verificacin

    8

  • Ctedra de Ingeniera de Software II FCEN UBA, 2009

    Riesgos de las mtricas

    Cuidado: las mtricas pueden producir efectos secundarios no deseados. Por ejemplo, premiar por bugencontrado o corregido.

    Hawthorne Effect:Trmino acuado en 1955 referido a un estudio

    realizado en la fbrica Hawthorne Works entre 1924 y 1932, liderado inicialmente por Elton Mayo

    El objetivo inicial era medir el efectos de cambios en la iluminacin en una lnea de produccin de esta fbrica de Western Electric

    Tanto el aumento como la disminucin de luz mejoraron la productividad, que decay notablemente cuando el estudio termin

    En muchos casos, tomar mediciones afectar los procesos a los que se aplique

    9

  • Ctedra de Ingeniera de Software II FCEN UBA, 2009

    Mtricas y stakeholders

    Cada stakeholder necesita: Las mtricas que lo ayuden a tomar mejores

    decisiones, y no ms

    Informacin en un nivel de detalle que pueda usar

    Informacin con el alcance que pueda abarcar (mdulo, proyecto, rea, toda la empresa)

    Informacin en el perodo de tiempo que es de inters

    10

  • Ctedra de Ingeniera de Software II FCEN UBA, 2009

    Ejemplo: evidencia de la zona imposible

    11

  • Ctedra de Ingeniera de Software II FCEN UBA, 2009

    Otros ejemplos de mtricas

    Distribucin del

    Esfuerzo (horas)

    SEL - NASA

    200 aos-staff sobre

    25 proyectos

    Especfico del

    Dominio

    Se puede utilizar

    como estimador

    durante la

    Preparacin

    12

  • Ctedra de Ingeniera de Software II FCEN UBA, 2009

    Mtricas Ejemplo 2

    Distribucin de

    Defectos (Tipo de

    defecto)

    SEL - NASA

    10000 defectos sobre 5

    aos de operacin

    Especfico del Dominio

    Se conserva a lo largo

    de los proyectos

    13

  • Ctedra de Ingeniera de Software II FCEN UBA, 2009

    Mtricas Ejemplo 3

    Distribucin de

    Defectos (fase de

    introduccin)

    SEL - NASA

    10000 defectos sobre 5

    aos de operacin

    Especfico del Dominio

    Se conserva a lo largo

    de los proyectos

    14

  • Ctedra de Ingeniera de Software II FCEN UBA, 2009

    Mtricas Ejemplo 4

    Actividad de Cambio (#

    SLOCs)

    SEL - NASA

    Basado en 20 proyectos bajo

    ciclo de vida Waterfall

    Establecer una base para la

    actividad de cambio en SCM

    15

  • Ctedra de Ingeniera de Software II FCEN UBA, 2009

    Ejemplo como ayuda a Administracin de Proyectos

    16

  • Ctedra de Ingeniera de Software II FCEN UBA, 2009

    Algunos Atributos y Mtricas - Producto

    17

  • Ctedra de Ingeniera de Software II FCEN UBA, 2009

    Algunos Atributos y Mtricas - Proyecto

    18

  • Ctedra de Ingeniera de Software II FCEN UBA, 2009

    Algunos Atributos y Mtricas - Proceso

    19

  • Ctedra de Ingeniera de Software II FCEN UBA, 2009

    Ejemplo de Mtricas tcnicas Cont.

    20

  • Ctedra de Ingeniera de Software II FCEN UBA, 2009

    Todo proceso de ingeniera requiere retroalimentacin y

    evaluacin.

    La construccin de software es una actividad de

    Ingeniera y como tal debe poseer disciplinas de

    medicin.

    La medicin debe poseer foco basado en modelos y

    objetivos (goals).

    Debemos entonces establecer objetivos medibles y

    dirigidos por el modelo apropiado.

    GQM

    21

  • Ctedra de Ingeniera de Software II FCEN UBA, 2009

    Existe una variedad de perspectivas que pueden definir un

    objetivo: El cliente, la corporacin e incluso el proyecto

    Ejemplos

    Objetivo del cliente: Satisfaccin del usuario.

    Objetivo del Proyecto: Entrega en trmino.

    Objetivo de la Corporacin: Continua mejora del

    proceso de desarrollo. (CMMI Nivel x)

    GQM - Objetivos

    22

  • Ctedra de Ingeniera de Software II FCEN UBA, 2009

    Definir objetivos

    corporativos y de proyecto

    Rastrear qu datos

    hablan de ese objetivo

    Proveer un marco de trabajo

    para interpretar los datos y entender

    el enfoque sobre los objetivos

    El Paradigma de GQM

    23

  • Ctedra de Ingeniera de Software II FCEN UBA, 2009

    Goal 1

    Question 1 Question 2

    Question 3

    M1M2 M3

    GQM - Proceso

    24

  • Ctedra de Ingeniera de Software II FCEN UBA, 2009

    GQM Ejemplo

    Objetivo: mejorar el cumplimiento de las fechas de comprometidas de fin de proyecto

    Pregunta: Cul es la exactitud de las estimaciones del calendario de nuestros proyectos?

    Mtrica: exactitud en la estimacin del Calendario

    EEC = Duracin real del proyecto / duracin estimada del proyecto

    25

  • Ctedra de Ingeniera de Software II FCEN UBA, 2009

    Mtricas Agiles

    El concepto de GQM se puede aplicar a la identificacin de mtricas para proyectos giles:

    Nuestra prioridad ms alta es satisfacer al cliente a travs de la entrega temprana y continua de software que le agregue valor

    El software funcionando es la medicin primaria de progreso

    Mtrica: RTF (Running Tested Features), una medicin directa de los resultados entregados

    Qu me dice?

    Qu diagnstico puedo hacer?

    26

  • Ctedra de Ingeniera de Software II FCEN UBA, 2009

    Earned Business Value

    Mide el Business Value de las stories o funcionalidades ya entregadas y aceptadas

    Puede medirse en valores absolutos o relativos a las otras funcionalidades

    Conviene usarla cuando se tiene una idea del valor total del backlog (el alcance es conocido y estimable)

    27

  • Ctedra de Ingeniera de Software II FCEN UBA, 2009

    Velocidad

    Una observacin emprica de la capacidad de un equipo para completar trabajo en una iteracin

    Basada en estimaciones del equipo (no de otro)

    Comparable en iteraciones de un mismo equipo en un mismo proyecto (no de distintos equipos o en distintos proyectos)

    28

  • Ctedra de Ingeniera de Software II FCEN UBA, 2009

    Burndowns (Story Points, Horas, Release)

    29

    0

    100

    200

    300

    400

    500

    600

    700

    04/06/2007

    06/06/2007

    08/06/2007

    10/06/2007

    12/06/2007

    14/06/2007

    16/06/2007

    18/06/2007

    20/06/2007

    22/06/2007

    24/06/2007

    26/06/2007

    28/06/2007

  • Ctedra de Ingeniera de Software II FCEN UBA, 2009

    Mtricas y CMMI

    30

  • Ctedra de Ingeniera de Software II FCEN UBA, 2009

    Ejemplos de un plan de mtricas real

    DesvosEn horas

    En das

    Organizacional

    QA y Peer ReviewsPorcentaje de no conformidades de SQA

    Tiempo de vida de no conformidades

    Eficiencia de las Revisiones por Pares

    TcnicasDas de integracin fallida

    Retrabajo

    Densidad de defectos

    Distribucin de bugs por severidad

    31

  • Ctedra de Ingeniera de Software II FCEN UBA, 2009

    Ejemplos de un plan de mtricas real (cont.)

    OrganizacionalesUso de la Metodologa (adherencia)

    Esfuerzo dedicado a mejora de procesos

    AgilesPorcentaje de sprints abortados

    Porcentaje de Stories aprobadas

    Desvo gil

    32

  • Ctedra de Ingeniera de Software II FCEN UBA, 2009

    Cundo fallan los esfuerzos de medicin?

    Se pretende medir demasiados indicadores de entrada

    Se miden indicadores incorrectos o irrelevantes

    Se utilizan los resultados de las mediciones para premio o castigo

    Se pretenden resultados de corto plazo

    No se hace homogneo el esfuerzo de medicin

    No se usa el resultado de las mediciones

    No se sostiene el esfuerzo de medicin

    33