metricas introducción

29
PSP Personal Software Process Métricas de Software I

Upload: vickyjami

Post on 29-Jun-2015

157 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Metricas Introducción

PSP Personal Software Process

Métricas de Software I

Page 2: Metricas Introducción

El mundo del software El mundo actual es ampliamente controlado

por el software. Los sistemas militares mas avanzados Los sistemas bancarios Las fabricas son controladas

por software El pago de los

estacionamientos El celular que utilizamos

a diario

Page 3: Metricas Introducción

Y de quien fue el error ?

Casos: Sonda espacial a Marte

Camionetas

Equipo medico

Error de procesadores Intel

Page 4: Metricas Introducción

Proyectos de Software

Fuente : Standish Group

Mejora continua de proyectos de software

Page 5: Metricas Introducción

Ejemplos de perdidas

Proyecto del Aeropuerto de Denver (1998) $1,000,000 USD por cada día de retraso

Ford Motor Co (2004) Sistema de Compras abandonado cuyo costo fue de $400

millones de USD HP en 2004

Sistema ERP con una perdida de $160 millones de USD Mc Donald’s en 2005

Sistema de compras innovador abandonado despues de invertir $170 millones de dolares.

Fuente : IEEE Spectrum

Page 6: Metricas Introducción

Por que fallan los proyectos?

Los compromisos son irreales

Son difíciles de controlar entre mas grandes sean

La calidad empeora con el tamaño del software

Los equipos de trabajo necesitan tener liderazgo y motivación.

Fuente : IEEE Spectrum

Page 7: Metricas Introducción

Cada vez el software es mas Grande

0

1

10

100

1,000

10,000

100,000

1,000,000

10,000,000

1960

1965

1970

1975

1980

1985

1990

1995

2000

Years

Siz

e in

KL

OC

Ley de Moore.2X en 18 meses10X in 5 años

Space

IBM

NT

TV

Trend

Page 8: Metricas Introducción

Proyectos de Sw

Project Size PeopleTime

(Months)Success

RateLess than $750K 6 6 55%$750K to $1.5M 12 9 33%$1.5M to $3M 25 12 25%$3M to $6M 40 18 15%$6M to $10M +250 +24 8%Over $10M +500 +36 0%

Es un problema de escala: Las practicas artesanales actuales no son utiles.

Fuente : SEI – Carnegie Mellon Univeristy.

Page 10: Metricas Introducción

Ejercicio

Hacer un proceso sencillo para realizar alguna actividad y mejorarlo.

En equipos de dos personas.

Page 11: Metricas Introducción

Soluciones

Metodologias – Ciclos de Vida XP, Agile, Rational (UML), MSF

Administración de Proyectos PMI

Métodos de Estimación FP, Cocomo, CU, LOC, PROBE

Modelos de Calidad para desarrollo CMMI, ISO SPICE, Moprosoft

Modelos para pruebas de software TMM, TPI

Page 12: Metricas Introducción

Soluciones

Ingeniería de Software

La ingeniería de software difiere de la programación

tradicional en que se utilizan técnicas de ingeniería

para especificar, diseñar, instrumentar, validar y

mantener los productos de software dentro de la

calidad, tiempo y presupuesto establecidos.

IEEE - 1990

Page 13: Metricas Introducción

PSP

Personal Process Software

Creada en el SEI (Software Engineering Institute) en Carnegie Mellon University.

Autor : Dr. Watts Humprhey

Page 14: Metricas Introducción

Antecedentes Después de la segunda guerra mundial, la estrategia de calidad en la

mayoría de las organizaciones industriales se basaba casi por completo en las pruebas. Las empresas establecieron departamentos especiales de la calidad para encontrar y arreglar problemas después de la producción de los productos.

No fué sino hasta los años 70 y los años 80 que W. Edwards Deming y J.M. Juran convencieron a la industria estadounidense que se centrara en mejorar la forma en la que la gente hacía sus trabajos y desarrollaban sus procesos. [ DEMING; 82 ], [ JURAN 88]

En los siguientes años, este enfoque a los procesos de trabajo, ha sido responsable de las mejoras importantes en la calidad de automóviles, de la electrónica, o de casi cualquier otra clase de producto.

La estrategia tradicional que había de "prueba-y-arregla" ahora es reconocida como costosa, que desperdicia tiempo y que además es ineficaz para el trabajo de la ingeniería y de la fabricación.

Page 15: Metricas Introducción

Aunque la mayoría de las organizaciones industriales ahora han adoptado principios modernos de calidad, la comunidad del software ha continuado confiando en la prueba como el método principal de la administración de la calidad. Para el software, la primera medida principal en la dirección iniciada por Deming y Juran fué tomada por Michael Fagan cuando en 1976 él introdujo las inspecciones del software [ FAGAN; 86]

Usando inspecciones, las organizaciones han mejorado substancialmente la calidad del software. Otra medida significativa en la mejora de calidad del software fué tomada con la introducción del modelo de capacidad de madurez (CMM) en 1987.

El enfoque principal de CMM estaba en el sistema que administraba la ayuda que se le proporcionaba a los ingenieros de desarrollo. CMM ha tenido un efecto positivo en el funcionamiento de las organizaciones del software [ HERBSLEB; 97]

Otra medida significativa en la mejora de calidad del software fué tomada con la esencia del proceso personal del software (PSP) ya que PSP amplía el proceso de mejora a la gente que realiza el trabajo de desarrollo de software.

Page 16: Metricas Introducción

PSP se concentra en las prácticas de trabajo de los ingenieros en una forma individual. El principio detrás de PSP es ése, sirve para producir software de calidad, cada ingeniero debe trabajar en la necesidad de realizar trabajo de calidad.

PSP se diseñó para ayudar a profesionales del software para que utilicen constantemente prácticas sanas de ingeniería de software.

Asimismo les enseña a cómo planear y darle un seguimiento a su trabajo, a utilizar un proceso bien definido y medido, a establecer metas mesurables, y finalmente a la utilización del rastreo constante para alcanzar dichas metas.

PSP les demuestra a los ingenieros a cómo manejar la calidad desde el principio del trabajo, a cómo analizar los resultados de cada trabajo, y a cómo utilizar los resultados para mejorar el proceso del proyecto siguiente. [SEI; 2000] .

Page 17: Metricas Introducción

Principios de PSP La calidad de un producto de software esta

determinada por su peor componente. La calidad de los componentes de un software

están determinados por el individuo que lo desarrollo.

La calidad de los componentes de un software están determinadas por el proceso que se utilizo para desarrollarlos.

La clave para la calidad esta formada por las habilidades del desarrollador, compromiso y disciplina personal del proceso.

Page 18: Metricas Introducción

Beneficios que proporciona PSP

Un PSP maduro y estable Permite estimar y planear el trabajo

Alcanzar los compromisos establecidos

Justificar el resistir presiones sin razón de compromisos.

Herramientas para entender nuestro desempeño

Procesos para mejorar nuestro trabajo

Page 19: Metricas Introducción

Que es PSPUn proceso personal para el desarrollo de software

(puede ser utilizado para otras actividades). El PSP incluye:

• Pasos definidos• Formas• Estandarés

Proporciona un marco de trabajo de mediciones y análisis para entender y administrar nuestro trabajo personal.

Page 20: Metricas Introducción

Flujo del Proceso de PSP

Page 21: Metricas Introducción

Aprendiendo PSP

PSP 3Desarrollo Cíclico

PSP 3Desarrollo Cíclico

PSP 2Revisión del códigoRevisión del diseño

PSP 2Revisión del códigoRevisión del diseño

PSP 1Estimación del Tamaño

Informe de pruebas

PSP 1Estimación del Tamaño

Informe de pruebas

PSP 0Proceso

PSP 0Proceso

Medición Personal

Planificación Personal

Calidad Personal

Proceso Personal Cíclico

Page 22: Metricas Introducción

Visión general de PSP

PSP0 - estableces una línea base del rendimiento mensurable.

PSP1 - haces planes de tamaño, recursos y calendario.

PSP2 - Practicas gestión de defectos y rendimiento.

PSP3 - Amplias los métodos del PSP a proyecto mayores.

Page 23: Metricas Introducción

Los 7 pasos de PSP

PSP 0 Proceso actual

Registro de tiempo Registro de defectos Estándar de tipos de

defectos

PSP 0 Proceso actual

Registro de tiempo Registro de defectos Estándar de tipos de

defectos

PSP 0.1 Estándar de Codificación

Medición de Tamaño Propuesta de mejora del

proceso

PSP 0.1 Estándar de Codificación

Medición de Tamaño Propuesta de mejora del

proceso

PSP 1 Estimación

de tamaño Reporte de

pruebas

PSP 1 Estimación

de tamaño Reporte de

pruebas

PSP 1.1 Planeación de tareas

Planeación de tiempos de actividades

Estándar de tipos de defectos

PSP 1.1 Planeación de tareas

Planeación de tiempos de actividades

Estándar de tipos de defectos

PSP 2 Revisión de

Código Revisión de

Diseño

PSP 2 Revisión de

Código Revisión de

Diseño

PSP 2.1 Formatos

de Diseño

PSP 2.1 Formatos

de Diseño

PSP 3 Desarrollo

Cíclico

PSP 3 Desarrollo

Cíclico

Proceso de

Medición Personal

Proceso de Planeación

Perso

nal

Administración de Calida

d Perso

nal

Proceso

Personal

Cíclico

Page 24: Metricas Introducción

PSP Nivel 0

PSP0 es un proceso sencillo, definido y personal.Utiliza tus métodos actuales de diseño y desarrollo.Recoge datos sobre tu trabajo:tiempo gastado por fasedefectos encontrados en compilación y pruebasProporciona un informe resumen.

Page 25: Metricas Introducción

El punto de partida

El paso inicial en PSP consiste en establecer una base que incluya mediciones y un formato de reportes. Esto permite medir el progreso y define los cimientos para mejorar. Esencialmente, PSP0 es el proceso habitual con el que los desarrolladores escriben software, mejorado para proveer mediciones.

Page 26: Metricas Introducción

Se pasa a PSP0.1 agregando un estándar de código, mediciones de tamaño y el denominado PIP (Process Improvement Proposal).

El PIP provee una manera estructurada de registrar problemas, experiencias y sugerencias para mejorar.

PSP0.1 también mejora las mediciones para contar separadamente métodos y procedimientos.

Page 27: Metricas Introducción

PSP Nivel 0 Las fases de PSP 0

son :Plan

Design

Code

Compile

Test

Postmortem

Requirements

Program andProject data

Page 28: Metricas Introducción

Resultados de PSP

En más de 30,000 programas escritos en el curso, Fuente : SEI

PSP 0

PSP 1

PSP 2

Effort Estimation Accuracy

100%0%-100%-200% 100%0%-100%-200%0

20

40

0

20

40

100%0%-100%-200% 100%0%-100%-200%0

20

40

0

20

40

100%0%-100%-200% 100%0%-100%-200%0

20

40

0

20

40

La mayoria sub-estiman el esfuerzo = Retraso

Balanceado en la estimación

El error de estimación se acerca a cero.

Page 29: Metricas Introducción

Resultados de PSP

Para 810 Ingenieros de Software, Fuente : SEI

0

5

10

15

20

25

30

35

40

45

50

1 2 3 4 5 6 7 8 9 10

Program Number

Co

mp

ile

and

Tes

t T

ime

as %

of

Dev

elo

pm

ent

Tim

e

Upper

Average

Lower