Download - Catedra psp

Transcript
Page 1: Catedra psp
Page 2: Catedra psp
Page 3: Catedra psp

El#reto:#¿Cuál#es#la#dificultad?#

Page 4: Catedra psp
Page 5: Catedra psp
Page 6: Catedra psp
Page 7: Catedra psp
Page 8: Catedra psp
Page 9: Catedra psp
Page 10: Catedra psp
Page 11: Catedra psp
Page 12: Catedra psp

Agile?: Para reflexionar El cliente no siempre tiene el tiempo (reuniones, pruebas…) Liberación de versiones muy frecuentes = percepción de mala calidad Agile está dirigido por lo que el usuario quiere, dejando del lado algunos aspectos no funcionales Es casi imposible de realizar estimados de esfuerzo realistas para hacer un presupuesto Dificiles negociaciones entre comerciales y equipo de desarrollo Algunos omiten diseñar su trabajo de la mejor manera Puede incluir mucho re-trabajo (que tal un defect backlog)

Page 13: Catedra psp
Page 14: Catedra psp
Page 15: Catedra psp
Page 16: Catedra psp
Page 17: Catedra psp
Page 18: Catedra psp

Agile: Nuestro juego Quienes desarrollan los productos de software: el equipo de desarrollo --su disciplina, habilidades y compromiso.

Deberes del equipo:

–  Motivarse a sí mismo –  Negociar compromisos –  Controlar su avance y trabajo –  Producir con alta calidad y excelencia –  Confiar en su capacidad –  Ser disciplinados

Derechos del equipo –  Ser asignados a tareas dignas –  Tener la confianza y el respaldo de la gerencia

Page 19: Catedra psp

PSP no es… •  La solución para todo •  Una aproximación distinta al desarrollo de sw •  Un nuevo lenguaje ó paradigma de programación •  Algo para controlar tiempos •  No es un proceso de dllo Waterfall

PSP es más… •  Un proceso que permite hacer planeación y conocer el status de tus

actividades •  Un vehículo para medir y conocerte •  Una manera de mejorar tu calidad •  Enfocarse en el individuo

Page 20: Catedra psp

PSP: Proceso de Software Personal

Proceso definido para construir productos de alta calidad a tiempo y con el presupuesto establecido

Page 21: Catedra psp
Page 22: Catedra psp

¿de qué vamos a hablar?

•  Fundamentos y Conceptos básicos •  Medición de tamaño y estimación •  Construir y hacer seguimiento a planes de

proyecto •  Planeación y seguimiento a la calidad de

software •  Diseño de software •  Adaptación del proceso

Page 23: Catedra psp

Proceso definido: Definición

secuencia documentada de pasos para hacer un trabajo especifico. •  PSP: Proceso de software personal •  TSP: Team Software Process •  Patrón de proceso – operativo

Page 24: Catedra psp
Page 25: Catedra psp
Page 26: Catedra psp

Planes vs Procesos

Planes incluye pasos del proceso y otros elementos como recursos, roles, calendario,

presupuesto, metas, compromisos, riesgos

Page 27: Catedra psp

Fases del proceso

Page 28: Catedra psp

Elementos#del#

proceso#

Guiones#

Métricas#

Formularios#

Estándares#

Page 29: Catedra psp

Principios de medición

Métrica exacta

Métrica precisa

Page 30: Catedra psp

Para qué se usan las medidas? Evaluar – estimar – predecir

Page 31: Catedra psp

Elementos de estadística

Distribución: Conjunto de valores numéricos generados por un proceso común

I
Page 32: Catedra psp

Elementos de estadística

•  Correlación: Relación entre conjunto de datos •  Significancia: Probalidad de que dos conjuntos de datos tengan un alto grado

de correlación por casualidad •  Regresión lineal: Determina la línea a través de los datos que minimiza la

varianza de los datos con respecto a dicha línea •  Intervalo de predicción: Proporciona un rango alrededor de una estimación

hecha mediante mediante la regresión lineal •  Regresión múltiple: se usa cuando las estimaciones dependen de más de una

variable

Page 33: Catedra psp

Conceptos básicos

Page 34: Catedra psp

Fidelidad: Grado en el que los individuos siguen su propio proceso

Page 35: Catedra psp

Recolección de datos

•  Son recolectados por las personas •  La info debe ser precisa y relevante •  Uso de herramientas automatizadas •  útiles para hacer planes personales y precisos •  conjunto de datos es mejor que nada

Page 36: Catedra psp

Metricas

Page 37: Catedra psp

•  Postmortem •  Metricas de desempeño y combinadas •  Analizar los datos históricos

Page 38: Catedra psp

Analisis de datos: precisión de la estimación de tamaño y esfuerzo

Con qué frecuencia está lo estimado contra lo real dentro del 70% del intervalo de predicción? Hay tendencia a omitir partes del diseño conceptual? Que se puede hacer para mejorar las estimaciones? Se juzgan bien los tamaños? La productividad es estable? por que si y por que no?

Page 39: Catedra psp

Analisis de datos: yields Identificar si existe relación entre el yield y la tasa de revisión para las revisiones de diseño y código Los defectos se encuentran en las fases adecuadas? Se llevan a cabo las revisiones? Que apalancamientos se tienen de eliminación de defectos para las diversas combinaciones de las fases evaluación/falla y cómo se pueden mejorar?

Page 40: Catedra psp

Analisis de datos: defectos inyectados por fase

•  Qué tipos de defectos se encuentran con mayor frecuencia?

•  Qué tipos de defectos tardan más en encontrarse y en corregirse?

•  Analizar tendecnias por fase - densidad de defectos

Page 41: Catedra psp

el costo del retrabajo % del tiempo que tomará hacer una prueba libre de defectos Cuanto tiempo toman las pruebas? Tipos de defectos más costosos por corregir Tipos de defectos más encontrados en compilación y pruebas Tipo de defectos más encontrados en las pruebas y en el producto entregado

Page 42: Catedra psp

Mejora de procesos

•  Metas de mejora del desempeño basados en históricos

•  Registro de PIPs •  Monitorear los resultados del

desempeño evitando el bolstering y el clutching

Page 43: Catedra psp

Medición de tamaño y estimación

Page 44: Catedra psp

Por qué usar las métricas?

Para lograr consistencias, normalizar datos y mejorar estimaciones de tamaño y mejorar

los planes

Page 45: Catedra psp

Tipos de métricas

•  Absolutas o relativas •  Explicitas o derivadas •  Objetivas o subjetivas •  Dinamicas o estáticas •  Predictivas o explicativas

Page 46: Catedra psp

Criteros para la selección de una métrica

Relacionadas con el esfuerzo de desarrollo Contables automáticamente Adecuadas para la planeación temprana Se utilizan estandares de conteo

Page 47: Catedra psp

Conteo de tamaño

Added & Modified

Deleted

Added

Untouched

Modified

New Reusable

New Reusable

Reused

Page 48: Catedra psp

Qué medidas de tamaño podemos usar?

Page 49: Catedra psp

Qué retos obtenemos al estimar el tamaño?

La estimación es incierta Estimar es un proceso de aprendizaje Estimar es una habilidad Estimaciónes están sujetas a error Estimación a detalle

Peor aún… si vamos a estimar con las medidas de tamaño, las tenemos al inicio de la planeación?

Page 50: Catedra psp

Ejemplo: Estime la construcción de su casa

Page 51: Catedra psp

El problema

•  Usted quiere saber cuanto le cuesta •  Su constructor le dice que está relacionado

con el tamaño en metros cuadrados •  Cómo sabría ud el presupuesto?

Page 52: Catedra psp

La solución Su constructor probablemente tenga históricos de otras construcciones de acuerdo a las habitaciones

Sería más fácil para usted ahora?

Tamaños'rela+vos'

Tipo#de#habitacion#

Pequeña# Mediana# Grande#

Dormitorio# 25# 40# 70#

Baño# 5# 10# 15#

Sala# 40# 70# 120#

…#

I
Page 53: Catedra psp

Proxy: Una medida sustituta

•  Usar proxys en lugar de una métrica de tamaño •  La mayoría de las métricas de tamaño no están

disponibles durante la planeación •  Un proxy es una métrica sustituta que relaciona

el tamaño del producto con la funcionalidad planeada

•  El proxy proporciona un medio en la fase de planeación para juzgar el tamaño probable de un producto

Page 54: Catedra psp

Criterios para seleccionar un proxy

•  Correlaciona con el esfuerzo y los costos de desarrollo

•  Se debe poder contar directamente •  Facil de visualizar al inicio del proyecto •  Adaptable a las necesidades de cadad proyecto •  Sensible a las variaciones de implementación que

afectan el costo o el esfuerzo

Page 55: Catedra psp

Uso de tablas de tamaño relativo

•  Se utilizan para organizar los datos de los proxys, para que los datos históricos puedan ser utilizados al estimar el tamaño de partes nuevas semejantes

•  Para construirlas se usan dos metodos: – Método de ordenamiento – Método de la desviación

Page 56: Catedra psp

Procedimiento para estimar el tamaño y esfuerzo : PROBE

1.#Definir#el#diseño#conceptual#

2.#IdenMficar#y#darle#tamaño#a#los#proxies#

3.#EsMmar#los#otros#elementos#

EsMmar#el#tamaño#del#soQware#según#el#método#apropiado#

Calcular#intervalos#de#predicción#

WBS#(Work#Breakdown#Structure)#

Partes#y#tamaños#relaMvos#

Base,#reuMlizadas,#borradas,#A&M#

A# B# C# D#

Page 57: Catedra psp

A tener en cuenta…

•  Datos amontonados o agrupados

•  Puntos de datos extremos •  Productos sin precedentes •  Rango de datos

Page 58: Catedra psp

Práctica PSP0

Page 59: Catedra psp

Recordemos en PSP0…

Page 60: Catedra psp

Construir y dar seguimiento a planes de proyecto

Page 61: Catedra psp

Principios de planeación

Planear antes de comprometerse Deben participar quienes ejecutan

Basarse en historicos Planee y replanee

Page 62: Catedra psp

Típicamente en la planeación hacemos…

•  Un entendimiento de los requisitos •  Estimamos el tamaño •  Estimamos el esfuerzo •  Hacemos una lista de tareas •  Hacemos un calendario

Page 63: Catedra psp

Qué esperamos de un plan PSP?

Define#el#trabajo#(las#partes)#

Es#una#base#para#el#costo,#calendario#y#recursos#a#solicitar#para#un#proyecto#

Es#una#estructura#de#organización#para#el#trabajo#

Marco#para#la#obtención#de#recursos#

Registro#de#lo#que#inicialmente#fue#compromeMdo#

Orientan#a#las#personas#y#les#permite#hacer#seguimiento#a#su#trabajo#

Permiten#hacer#proyecciones#realistas#y#ser#más#producMvos#

Page 64: Catedra psp

Marco de planeación: Componentes de un plan

Tamaño#del#proyecto#y#Mempo#

Estructura:#secuencia#de#tareas#

Estado#del#proyecto:#Poder#medir#el#estado#y#proyectar#su#finalización#

Evaluación:Comparar#datos#reales#versus#lo#

esMmado#

Componentes#de#un#plan#

Page 65: Catedra psp

Marco de planificación

1.#Definir#los#requerimientos#

2.#Generar#un#diseño#conceptual#(Entender)#

3.#Generar#la#esMmación#del#tamaño#del#producto#

4.#Generar#la#esMmación#de#recursos#(Mempo)#

5.#Generar#el#calendario#

Statement#of#work#

WBS#

PROBE#

Page 66: Catedra psp

PROBE#

Page 67: Catedra psp

Recordemos los proxys: medidas sustitutas

Page 68: Catedra psp

Procedimiento para estimar el tamaño y esfuerzo : PROBE

1.#Definir#el#diseño#conceptual#

2.#IdenMficar#y#darle#tamaño#a#los#proxies#

3.#EsMmar#los#otros#elementos#

EsMmar#el#tamaño#del#soQware#según#el#método#apropiado#

Calcular#intervalos#de#predicción#

WBS#(Work#Breakdown#Structure)#

Partes#y#tamaños#relaMvos#

Base,#reuMlizadas,#borradas,#A&M#

A# B# C# D#

Page 69: Catedra psp

Relación entre tamaño y esfuerzo del software para la planificación

•  Correlación de tamaño con esfuerzo: los datos de tamaño son adecuados para la planificación si el valor de r2 > 0.5 y si el area de la cola en el calculo de la significancia es <= 0.05

•  Productividad: Se mide en tamaño x hora, es la relación del tamaño del producto con el tiempo que se toma en desarrollarlo

PROBE utiliza datos históricos y herramientas estadísticas para producir estimados

Tiempo de desarrollo=B0 + B1*Tamaño estimado proxy(E) E=BA+PA+M

Script#

Page 70: Catedra psp
Page 71: Catedra psp
Page 72: Catedra psp

Planeacion de tareas y calendario

Accesible# Claro#

Específico# Preciso#

CaracterísMcas#de#un#plan#de#proyecto#

Page 73: Catedra psp

Planes de calendario PSP

1.#Elija#un#periodo#de#Mempo#adecuado#

2.#Distribuya#el#Mempo#esMmado#disponible#para#tareas#a#lo#largo#de#la#duración#del#calendario#del#proyecto#

3.#Calcule#el#acumulado#de#horas#calendario#planeadas#hasta#el#final#del#periodo#del#

proyecto#

Semana'No.' Horas'planeadas'Horas'Planeadas'acumuladas' Nro'tareas'

1# 15# 15#1,2#

2# 15# 30#3,4,5#

3# 15# 45#6,7#

4# 15# 60#8,9#

5# 15# 75#10,11#

Page 74: Catedra psp

Planes de tareas PSP

1.#EsMmar#el#Mempo#de#tareas#en#horas#

2.#Calcular#la#suma#del#total#de#horas#

planeadas#

3.#Calcular#el#plazo#del#plan#en#que#cada#tarea#planea#ser#

terminada#

3.#Calcular#la#fecha#planeada#de#

finalización#del#proyecto#

Tareas#nro.# Tarea# Hrs#EsMmadas#

Horas#acumuladas#esMmadas# Semana#nro.#

1#Elemento#1#DLD# 8# 8# 1#

2#Elemento#1#DLDR# 4# 12# 1#

3#Elemento#1#CODE# 10# 22# 2#

4#Elemento#1#CR# 5# 27# 2#

5#Elemento#1#UT# 2# 29# 2#

6#Elemento#2#DLD# 9# 38# 3#

7#Elemento#2#DLDR# 4# 42# 3#

8#Elemento#2#Code# 12# 54# 4#

9#Elemento#2#CR# 5# 59# 4#

10#Elemento#2#UT# 3# 62# 5#11#PM# 1# 63# 5#

Page 75: Catedra psp

Seguimiento al calendario

Valor planeado PV: % respecto al total del tiempo planeado para el proyecto Valor ganado EV: PV aportado por una tarea cuando es completada. En ese momento se suma su valor PV al acumulado del EV

Page 76: Catedra psp

Seguimiento al calendario

EV supone que la tasa de finalización de las tareas será aproximadamente la misma que se lleva al momento. Si ese no es el caso, la proyección no será valida EV mide el progreso con respecto al plan, por lo que si el plan no es exacto el EV tampoco lo será EV asume con los recursos del proyecto son uniformes, es decir, no tiene en cuenta las variaciones que pueda traer cambios en el número de personal

Page 77: Catedra psp

Análisis del PV – EV: Herramienta gerencial

•  Si PV está por encima del EV, el proyecto va retrasado

•  Si el PV es igual que el EV el proyecto va a tiempo

•  Si el PV está por debajo del EV, el proyecto está adelantado

•  Se puede estimar la fecha de finalización caluclando el EV promedio y proyectar.

Page 78: Catedra psp

VG#y#VP#al#día#6?#Cuando#se#proyecta#terminaría#el#proyecto?#

Page 79: Catedra psp

Planeación y seguimiento a la calidad

Page 80: Catedra psp

Principios#de#

calidad#

Responsabilidad#personal#

Economía#de#la#calidad#

Calidad#del#producto#

Calidad#del#proceso#

Page 81: Catedra psp

Metricas#de

#calidad#

Yields#(%#defectos#removidos#antes#de#…)#

Fase#

Proceso#

Costo#de#calidad#

De#Fallas#

De#evaluación#

De#prevención#Tasas#de#revisión#

RaMos#fasemMempo#

Densidad#de#defectos#

Indice#de#calidad#del#proceso#

Apalancamiento#de#eliminacion#de#defectos#

Ver#formulas#

Page 82: Catedra psp

Metodos de calidad

Revisiones personales Inspecciones

Walkthroughs

Page 83: Catedra psp

Revisiones de código

Usar#Checklist#de#revisión#de#código:#categorías#más#importantes#y#personales#

Estrategia#de#revisión#de#código:#vaya#subiendo#de#

nivel#por#categoría#

Revisión#contra#un#estándar#de#codificación#

Page 84: Catedra psp

Revisiones de Diseño PSP

Checklist#de#revisión#de#diseño,#se#basa#en#datos#personales#y#lista#las#categorías#

de#defectos#más#importantes#encontrados#por#el#individuo#

Compruebe#que#la#lógica#implementa#correctamente#los#requerimientos##

Revise#asuntos#de#vulnerabilidad#y#seguridad#

Page 85: Catedra psp

Por qué de las revisiones?

Eficiencia:Las revisiones buscan iteraciones y entregables de alta calidad Realizarse antes de cualquier prueba unitaria Objetivo: Reducir el tiempo de pruebas

Page 86: Catedra psp

Diseño de software

Page 87: Catedra psp

Transforma#un#requisito#en#una#especificación#de#producto#realizable#

Maneja#la#complejidad#y#la#interacción#de#componentes#

Base#para#la#evaluación#

Emplear#prácMcas#de#diseño#que#

correspondan#a#las#necesidades#

Principios#del#diseño#

Page 88: Catedra psp

externam#estáMca#(herencia,#estructura#de#

clases)#

externam#dinámica#(servicios,#mensajes)#

internamestáMca#(atributos,#estructura#del#

programa,#lógica)#

internamdinámica#(máquina#de#estado)#

Estructura#de#la#

especificacion#

Page 89: Catedra psp

Estrategias del diseño

•  Progresiva, progressive •  Expansión funcional, functional enhancement •  Camino rápido, fast path •  Simulación, dummy

Page 90: Catedra psp

Calidad del diseño

Completitud Usabilidad

Implementación#

Diseño#detallado#

Diseño#de#alto#nivel#

Diseño#del#sistema#

Especificación#de#requisitos#

Estrategias: •  Progresiva •  Expansión funcional •  Camino rápido

Page 91: Catedra psp

Documentación del diseño: A quién le interesa? –  El individuo: para facilitar

implementación, verificación, prueba del programa

–  Los miembros del equipo: para permitir las inspecciones de diseño y la coordinación de diseño

–  Testers: para permitir la planeación de las pruebas.

–  Ejecutivos: Product Mgmt –  Documentadores y usuarios: para

que otros puedan entender lo que el producto hace y cómo funciona

Page 92: Catedra psp

Plantillas de diseño

planMlla#de#especificación#

operacional#(OST)#y#la#planMlla#de#especificación#funcional#(FST)#

planMlla#de#especificación#funcional#(FST)#

planMlla#de#especificación#de#estados#(SST)#

planMlla#de#especificación#lógica#(LST)#

Externa#

Dinámica#

Interna#

EstáMca#

Page 93: Catedra psp

Verificación del diseño Uso de estándares Metodos de verificación

Verificación con tabla de ejecución verificación con tabla de rastreo Verificación de máquina de estados Verificación de ciclos

Por que? : Mars climate 1998

Page 94: Catedra psp

Extensión y adaptación del proceso

•  Defina un proceso personal adaptado a su realidad

•  Evolucione con el proceso •  Uso de datos para descubrir sus debilidades

y fortalezas. •  Aprenda de otros y enseñe lo que sabe

Page 95: Catedra psp

Extensión y adaptación del proceso

Defina#un#proceso#personal#adaptado#a#su#realidad.#Evolucione#con#el#proceso##Uso#de#datos#para#descubrir#sus#debilidades#y#fortalezas.###Aprenda#de#otros#y#enseñe#lo#que#sabe#

Page 96: Catedra psp

Gracias!! http://about.me/danielfelipegil