12. 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)
13.
14.
15.
16.
17.
18. 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
19. 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
20. PSP: Proceso de Software Personal
Proceso definido para construir productos de
alta calidad a tiempo y con el presupuesto
establecido
21.
22. ¿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
23. 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
24.
25.
26. Planes vs Procesos
Planes incluye pasos del proceso y otros
elementos como recursos, roles, calendario,
presupuesto, metas, compromisos, riesgos
32. 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
35. 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
38. 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?
39. 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?
40. 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
41. 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
42. 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
44. Por qué usar las métricas?
Para lograr consistencias, normalizar datos y
mejorar estimaciones de tamaño y mejorar
los planes
45. Tipos de métricas
• Absolutas o relativas
• Explicitas o derivadas
• Objetivas o subjetivas
• Dinamicas o estáticas
• Predictivas o explicativas
46. 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
49. 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?
51. 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?
52. 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
53. 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
54. 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
55. 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
56. 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#
57. A tener en cuenta…
• Datos amontonados o
agrupados
• Puntos de datos extremos
• Productos sin precedentes
• Rango de datos
61. Principios de planeación
Planear antes de comprometerse
Deben participar quienes ejecutan
Basarse en historicos
Planee y replanee
62. 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
63. 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#
64. 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#
68. 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#
69. 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#
70.
71.
72. Planeacion de tareas y calendario
Accesible# Claro#
Específico# Preciso#
CaracterísMcas#de#
un#plan#de#proyecto#
75. 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
76. 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
77. 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.
85. 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
91. 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
93. 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
94. 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
95. 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#