Professional Documents
Culture Documents
Bibliografa:
SW Estimation. Demystifying the Black Art. Steve McConnell.
Estimacin
Para poder planificar se debe estimar:
Esfuerzo
Costo
Duracin
Estimacin
Estimacin:
Prediccin de cunto va a durar un proyecto o cunto
va a costar.
Meta:
Un objetivo de negocio deseado.
Compromiso:
Promesa de entregar la funcionalidad definida con un
nivel especfico de calidad en una determinada fecha.
3
Costo /= Precio
La relacin entre el costo real de desarrollo y el precio cobrado al
cliente se ve influenciada por mltiples factores:
econmicos
polticos
del negocio
de la propia organizacin
del proyecto especfico a desarrollar
tales como:
oportunidad de mercado
incertidumbre en las estimaciones
condiciones contractuales
volatilidad de los requisitos del sistema
dificultades financieras
Planificacin:
proceso parcial que procura una meta.
objetivo: un resultado particular
Estimacin =/ Plan
Plan
Consideraciones basadas en estimaciones
precisas:
Buena prediccin?
Proyectos afectados por:
eventos externos imprevistos.
cambio de asumpciones.
El proyecto entregado no es el mismo que fue estimado.
control:
Principio de Incertidumbre de Heisenberg: el observar algo lo
cambia.
Personal no
pronto cuando
planificado
Requisitos
eliminados
Estimacin = 20
meses/persona
Nuevos
requisitos
Personal
asignado a
presentacin
Funcionalidad
inestable
eliminada
Resultado = 20
meses/persona
El Proyecto
Personal menos
experiente que lo
planificado
Personal reasignado
para dar soporte a
proyecto anterior
Nuevos
requisitos
Control
Controlo el proyecto para llegar al compromiso.
Ejemplo de la valija.
Tamao de la brecha:
preparacin extra cuidadosa
apretar cronograma, presupuesto o funcionalidades
cambiar metas
Incertidumbre de la Estimacin
Cono de Incertidumbre
Cuantas ms decisiones tome, menor la
incertidumbre.
Incertidumbre de la Estimacin
Nube de Incertidumbre
Si el proyecto no converge:
proceso catico
requisitos inestables
tecnologa desconocida
negocio desconocido
10
Tamao
Tipo de SW
Factores del personal
Lenguaje de programacin
11
Tamao
Factor ms importante estimar tamao.
Consideraciones:
Economa de escala: Al producir en mayor cantidad
se reducen costos por unidad.
Deseconoma de escala: esfuerzo crece
exponencialmente con tamao:
por incremento en lneas de comunicacin.
en proyectos de diferente tamao no se puede multiplicar
por la misma productividad.
12
Tipo de SW
Productividad vara segn tipo de proyecto:
LOC / Mes persona (promedio)
Tipo de SW
10.000 LOCs 100.000 LOCs 250.000 LOCs
Aviones
200
50
40
Sistemas de Informacin
3.000
600
500
Comando y control
500
100
80
Sistemas embebidos
300
70
60
Sistemas web
1.500
300
200
Intranets
4.000
800
600
Microcdigo
200
40
30
Control de procesos
1.000
300
200
Tiempo real
200
50
40
Sistemas cientficos
1.000
300
200
Paquetes
1.000
200
200
Drivers
600
100
90
Telecomunicaciones
600
100
90
13
14
Lenguaje de Programacin
La experiencia del equipo en el leng. y herramientas 40% de impacto en productividad gral.
Herramientas de soporte y ambiente de programacin
hasta 50% de impacto.
Cantidad de sentencias
comparado con C
Lenguaje
Algunos lenguajes generan ms Assembler
2a1
C
1a1
funcionalidad por LOC.
Cobol
1 a 1,5
Fortran
C#
C++
Java
Visual Basic
Perl
Smalltalk
SQL
1a2
1 a 2,5
1 a 2,5
1 a 2,5
1 a 4,5
1a6
1a6
1 a 10
15
Estimacin
No existe una forma sencilla de estimar el esfuerzo
requerido para desarrollar un sistema de forma precisa:
1. Las estimaciones iniciales parten de la definicin imprecisa de
requisitos por parte del usuario.
2. El software a desarrollar a menudo se ejecutar sobre entornos
desconocidos por el equipo de desarrollo o bien utilizar tecnologa
de punta.
3. Las personas que van a formar parte del proyecto (y sus
habilidades) pueden ser desconocidas.
Ley de Parkinson:
El trabajo se expande hasta llenar el tiempo disponible para que
se termine" .
16
Mtricas de Tamao
Agenda:
Introduccin
Mtricas basadas en salidas:
LOCs
Mtricas de Tamao
Tamao permite:
Estimar esfuerzo y duracin
Medir calidad (defectos / unidad de construccin)
Medir productividad (tamao / unidad de esfuerzo)
Ejemplos:
Casa: metros cuadrados de construccin
Carretera: kilmetros o kilmetros cuadrados
Software: ?
LOCs
Puntos de Funcin
etc.
18
Mtricas de Tamao
Features (caractersticas)
Historias de usuario
Puntos de historia
Requisitos
Casos de Uso
Puntos de Funcin
Pginas Web
Componentes GUI
(ventanas, cuadros de
dilogo, reportes, etc.)
Tablas de la BD
Definiciones de interfaces
Clases
Funciones / subrutinas
Lneas de cdigo
19
Lneas de Cdigo
Presentan varios problemas:
Variabilidad personal:
En tamao (mismo problema, distintas personas distintos LOCs)
En productividad
En qu lenguaje?
Lneas: fsicas? lgicas? En un lenguaje, qu es una lnea
lgica?
Con o sin lneas en blanco?
Con o sin comentarios?
Construidas (pe. scripts de BD, de test unitario, etc.) o libradas
al uso?
se cuenta cdigo open source o de bibliotecas de terceros?
se cuentan interfaces de clases y declaraciones de datos?
20
Lneas de Cdigo
Necesidad de definir criterios de medicin. Pe.
lenguaje
criterios para contar lneas en ese lenguaje (fsicas o lgicas)
con/sin comentarios
construidas o libradas al uso
discriminacin de lneas reusadas
Permite evaluar productividad en programacin:
Si la potencia del lenguaje aumenta, aumenta la productividad = producto
/ unidad de tiempo
Productividad estable en LOC, independiente del lenguaje. (depende
ms del tamao del proyecto y del tipo de sw)
OJO con medir productividad individual!:
Distintos estilos (sinttico o explayado)
Peligro de efecto Cauton
21
Lneas de Cdigo
22
Lneas de Cdigo
Ventajas:
fcil de medir automticamente a partir del cdigo.
permite comparar proyectos y estimar proyectos
futuros basndose en datos de proyectos pasados.
la mayora de las herramientas de estimacin basan
sus estimaciones de esfuerzo y duracin en LOCs.
23
Lneas de Cdigo
Desventajas:
para medir se precisa que el cdigo est construido
sujeto a variaciones personales/grupales y estilos de
programacin.
deseconoma de escala
productividad vara segn tipo de sw.
no pueden usarse para estimar asignaciones de tareas,
porque productividad vara entre programadores.
requisitos, diseo y testing no producen LOCs
depende del lenguaje:
dificultad para medir productos implementados en ms de un
lenguaje.
difcil comparar proyectos en distintos lenguajes.
24
Puntos de Funcin
Agenda:
Visin general
IFPUG
Frontera de la aplicacin
Transacciones
Datos
Datos
Nro.Archivos Int. Lgicos
Nro.Arch. Interfaz Externa
26
No mantenidos
por la aplicacin
Archivos Lgicos
Internos (ILF)
14
Caractersticas
Generales de la
Aplicacin
EQ
EO
Contiene datos
derivados y/o
afecta
comportamiento
Archivos de Interfaz
Externos (EIF)
transacciones
PF =
PFSA
Frontera de la
aplicacin
datos
x
Factor de Ajuste
27
Puntos de Funcin
Primera versin
Segunda versin
B, M, A
Nro. Entradas
Nro. Salidas
Nro. Consultas
x
x
x
Nro. Archivos
x
Nro. Interfaces externas x
4
5
4
10
7
(3,4,6)
(4,5,7)
(3,4,6)
(7,10,15)
(5,7,10)
28
Puntos de Funcin
Normalizado por IFPUG
Ponderadores segn complejidad de c/caracterstica
(A,M,B)
Criterios definidos para asignar complejidad a c/u
Puntos de Funcin sin ajustar+ 14 criterios de ajuste
=(+-)35%
PFA=PFSA * (0,65+ 0,01* ( ponderadores))
Pond=0 a 5
Puntos de Funcin
Ventajas:
Se puede medir sin que exista el cdigo: a partir de documentacin
de requerimientos y/o diseo
Independiente del lenguaje
Desventajas:
aplicacin restringida a sistemas con uso intensivo de datos
persistentes y poco peso de algoritmos (Sist. de Informacin)
Medir PF requiere esfuerzo
Variabilidad en mediciones individuales - Medidores expertos
Criticado por factores de ajustes:
30
Desarrollos ms recientes
IFPUG Manual versin 4.2 (2004)
MK II FFP (en Reino Unido)
1998 Estndar ISO 14143-1 Funct. Size Measurement
31
comunicaciones de datos
procesamiento distribuido
consideraciones de performance
configuracin operacional altamente utilizada
entrada de datos on-line
eficiencia para el usuario final (dilogos interactivos)
actualizacin on-line y respaldo y recuperacin
procesamiento interno complejo
tasa de transacciones
reusabilidad
facilidad de instalacin
facilidad de operacin
uso en mltiples sitios
facilitar el cambio
32
Ventas
Fronteras
definidas a partir
de la visin del
negocio
cmo impactara en
la cuenta total de PF
considerar esta otra
frontera?
35
36
Transacciones
No mantenidos
por la aplicacin
Archivos Lgicos
Internos (ILF)
14
Caractersticas
Generales de la
Aplicacin
EQ
EO
Contiene datos
derivados y/o
afecta
comportamiento
Archivos de Interfaz
Externos (EIF)
transacciones
PF =
PFSA
Frontera de la
aplicacin
datos
x
Factor de Ajuste
38
Contar Transacciones
Pasos:
Identificar transacciones
Asignar a cada una un tipo (EI, EO, EQ)
Identificar la cantidad de DET y FTR
Asignar a cada una un valor de complejidad (Alta,
Media, Baja) en funcin de la cantidad de DET y FTR
Definiciones:
Data Element Type (DET):
es un campo nico (no repetitivo) reconocible por el usuario
39
Tipos de Transacciones
Definiciones:
EI (External Input) - Entrada Externa
Proceso elemental en el que datos cruzan la frontera de la
aplicacin de afuera hacia adentro. La intencin primordial es
mantener uno o ms ILF y/o alterar el comportamiento del
sistema.
40
Proceso Elemental
Definicin:
Es la mnima unidad de actividad que tiene un significado para el
usuario
debe ser autocontenido, no requiere de otra actividad para que
adquiera significado
debe dejar al sistema en un estado consistente
Ejemplo:
Si el usuario desea agregar un empleado, puede requerir incorporar:
nombre
fecha de ingreso
Este proceso
CI
elemental se completa
sueldo
al ingresar todos los
estado civil
datos requeridos
fecha de nacimiento
41
EI EO EQ
IP
NO
IP
NO
IP
IP
IP
NO
42
Proceso en Transacciones
Tipo de Proceso
Acepta datos o inf. de control que entra
Presenta informacin fuera de la frontera
Altera el comportamiento del sistema
Al menos se actualiza un ILF
Frmulas matemticas y clculos
Crea datos derivados
Al menos un ILF o EIF referenciado
Recupera datos o informacin de control
Validaciones
Se convierten valores equivalentes
Seleccin y filtro de datos
Se evalan condiciones
Reordena un conjunto de datos
p=posible
p*=uno por lo menos debe estar presente
EI EO EQ
SI
p
p*
p*
p
p
p
p
p
p
p
p
p
p
SI
p*
p*
p*
p*
p
SI
p
p
p
p
p
p
SI
NO
NO
NO
NO
SI
SI
p
p
p
p
p
43
Transacciones - Unicidad
Se cuenta si se cumple al menos una de:
Para EI:
lgica distinta de otras EI
el conjunto de DET distinto del de otras EI
conjunto de ILF o EIF distinto del de otras EI
44
2 FTR
45
46
nombre
fecha de ingreso
CI
fecha de nacimiento
4 DET
precio unitario
cantidad
importe) (E)
8 DET
47
6 DET
* ( cdigo artculo
cantidad) (E)
precio unitario
cantidad)
48
3 DET
Literales
Ejemplo: Los ttulos (si son fijos) no se cuentan como DET
Variables generadas por el sistema relacionadas con el
paginado o fecha y hora
Ejemplos:
nros. de pgina
informacin de posicionamiento (filas 32 a 56 de 781)
Comandos para paginar (anterior, siguiente, barra de posicionamiento)
Fecha y hora
50
Caracterizacin de la complejidad
1 a 4 DET
5 a 15 DET
0 a 1 FTR
Baja
Baja
Media
2 FTRs
Baja
Media
Alta
3 o ms FTRs
Media
Alta
Alta
Para EO/EQ
1 a 5 DET
6 a 19 DET
0 a 1 FTR
Baja
Baja
Media
2 a 3 FTRs
Baja
Media
Alta
Media
Alta
Alta
Para EI
4 o ms FTRs
16 o ms DET
20 o ms DET
51
Contribucin de Transacciones
\ Complejidad
Tipo de Transaccin
Baja
Media
Alta
External Input
(EI)
52
Contribucin de Transacciones
Ejemplo -
Tipo
Nivel Complejidad
Cuenta
Alta Cliente
EI
Baja
Listado Clientes
EQ
Baja
EO
Baja
Cantidad Clientes
10
53
Menes de aplicacin
Empleado:
Nuevo
Modificar
Listar
Al elegir Nuevo aparece un formulario vaco
para ingresar datos.
Consulta de Empleados
Sistema de RRHH
Empleado Tareas Asignaciones Informes Ayuda
Lista de Empleados
Apellido
Nombre
CI
Sueldo
Prez
Juan
1.234.567-8
10.000
Martnez
Pedro
2.345.678-9
20.000
Fernndez
Mara
3.456.789-0
30.000
Gimnez
Ana
4.567.890-1
40.000
Detalle
Ncleo Familiar
Cancelar
55
Consulta de Empleados
Archivo Empleados: (CI, apellido, nombre, sueldo)
EQ
1 FTR
DET:
Complejidad: Baja
Contribucin: 3 PF
56
GUI
Radio buttons 1 DET el grupo
Check boxes 1 DET cada opcin
Command buttons La posibilidad de
especificar una accin cuenta como un DET
Combo box 1 DET (adems es una EQ)
Desplegar imagen 1 DET
Barra de desplazamiento no cuenta
57
Cmo se cuenta?
Consulta Implcita
La modificacin de datos del empleado es
incmoda si no parte de los datos que existen.
El usuario no pidi una consulta de los datos, sin
embargo la espera.
Cmo considerarla?
EQ
60
Datos
No mantenidos
por la aplicacin
Archivos Lgicos
Internos (ILF)
14
Caractersticas
Generales de la
Aplicacin
EQ
EO
Contiene datos
derivados y/o
afecta
comportamiento
PF =
Archivos de Interfaz
Externos (EIF)
transacciones
PFSA
Frontera de la
aplicacin
datos
x
Factor de Ajuste
62
Contar Datos
Pasos:
Identificar Archivos
Asignar a cada uno un tipo (ILF, EIF)
Identificar la cantidad de RET y DET
Asignar a cada uno un valor de complejidad (Alta, Media, Baja) en
funcin de la cantidad de RET y DET
Definiciones cortas:
Data Element Type (DET):
es un campo nico (no repetido) reconocible por el usuario (ya lo
habamos visto al contar funciones)
63
Tipos de Archivos
Internal Logical File (ILF)
Es un grupo de datos o de informacin de control,
lgicamente relacionado, identificable por el usuario y
mantenido dentro de la frontera de la aplicacin.
External Interface File (EIF)
Es un grupo de datos o de informacin de control,
lgicamente relacionado, identificable por el usuario,
referenciado por la aplicacin, pero mantenido fuera de la
frontera de la aplicacin.
Nota: Un EIF para una aplicacin tiene que ser un ILF para
alguna otra.
64
Ejemplos:
Nmero de cuenta que se almacena en varios campos
cuenta como 1 (un) DET
Imagen previa y posterior de un archivo con 10 campos,
para auditora, cuenta como 2 DET (uno por la previa y
otro por la posterior)
El registro de fecha y hora de alta/modificacin en un
archivo, cuenta como un DET si fue requerido por el
usuario
66
Caracterizacin de la complejidad
Para ILF/EIF
1 a 19 DET
20 a 50 DET
51 o ms DET
1 RET
Baja
Baja
Media
2 a 5 RET
Baja
Media
Alta
Media
Alta
Alta
6 o ms RET
Contribucin de datos
\ Complejidad
Tipo de Archivo
Baja
Media
Alta
10
15
Ext.Interface File(EIF)
10
67
Contribucin de Datos
Ejemplo -
Tipo
Nivel Complejidad
Cuenta
Empleado
ILF
Baja
Tarea
ILF
Baja
14
68
Usuario
Definicin:
Un usuario es cualquier persona que especifica
Requerimientos Funcionales de Usuario y/o cualquier
persona o cosa que se comunica o interacta con el
software
Ejemplos:
Para la aplicacin de RRHH incluye al personal del
departamento de RRHH que interactan con la
aplicacin y a la aplicacin contable que interacta para
recibir la informacin de los asientos contables
correspondientes a la liquidacin de sueldos
69
70
71
72
Empleado
- en RRHH:
1 ILF, 1 RET, 4 DET
- en Seguridad: 1 ILF, 1 RET, 4 DET
74
La aplicacin Postal:
mantiene los cdigos de edificio y
genera un listado con cant. de empleados en cada piso
de cada edificio, para evaluar el proceso ms efectivo
para distribuir el correo.
Empleado: - en RRHH
- en Postal
75
Ejercicio de PF
Calcular la contribucin de los datos y de las
transacciones del ejercicio planteado.
76
Puntos de Caracterstica
PF diseados originalmente para sistemas de informacin.
Variante para sistemas con complejidad algortmica alta
(aplicaciones de tipo cientfico, de tiempo real y de
sistemas): Puntos de caracterstica
Se considera el nmero de algoritmos que resuelven un
problema complejo determinado.
Se utiliza como multiplicador un nico peso.
Cuenta
Peso
Nro. Entradas
x
Nro. Salidas
x
Nro. Consultas
x
Nro. Archivos
x
Nro. Interfaces externas
Nro. de algoritmos x
4
5
4
10
x
3
=
=
=
=
7
77
Puntos Objeto
Son una medida indirecta de software que se calcula teniendo en cuenta el total de:
Sencillas
Moderadamente
complejas
Complejas
1 PO
2 PO
3 PO
informes
2 PO
5 PO
8 PO
78
Tcnicas de Estimacin
Experto: 335
Carlos: 11 * 7. Plan: 5 personas por mesa = 385
Luca: Lmite: 485. Lleno al 70-80%. 340-388. Prom=364
335, 385, 364. Tomar medio 365?
Cuenta de tickets = 407
80
Contar
Tamao es factor ms importante. Buscar mtrica
significativa del tamao, dependiendo del ambiente.
Buscar lo que se pueda contar lo ms temprano posible:
desarrollo temprano: caractersticas, CU, historias...
medio: reqs detallados, PF, solicitudes de cambio, pginas web,
reportes, pantallas, tablas...
desarrollo tardo: cdigo, defectos reportados, clases, tareas...
Calcular
Recoger datos histricos para poder calcular
una estimacin a partir de una cuenta.
Ejemplos:
cuento cant. defectos abiertos / pginas web
calculo a partir de:
tiempo promedio que llev corregir defectos
tiempo promedio para disear, implementar y testear
pginas web
Datos de la Industria
Productividad entre distintas organizaciones
vara por un factor de 10. (Pe. entre 25 y 250
meses-persona). Uso promedio?
Juicio de expertos son mejores que modelos de
la industria.
Datos histricos son igual o mejores que juicio
de expertos.
83
Datos Histricos
Tamao (LOCs)
Esfuerzo (meses-persona)
Duracin (meses calendario)
Defectos (clasificados por severidad)
84
Tcnicas de Estimacin
85
Enfoques de Estimacin
Estimacin global (visin de las diferentes reas)
Desv.: pasar por alto dificultades tcnicas asociadas a
componentes.
86
Fuzzy Logic
Componentes Estndar
Puntos de historia
T-Shirt Sizing
88
Fuzzy Logic
Clasificar caractersticas en MP, P, M, G, MG.
Datos histricos: LOCs promedio por
caracterstica.
Calcular
Tamao caracterstica
Muy pequeo
Pequeo
Mediano
Grande
Muy grande
Total
Cant. caractersticas
22
15
10
30
27
104
LOCs estimadas
2794
3795
5000
30420
53946
95955
Componentes Estndar
Si desarrollamos muchos programas que son similares
en arquitectura.
Pasos:
Identificar componentes estndar (pginas web, archivos,
tablas, reglas de negocio, grficos, pantallas, reportes, etc.)
Calcular LOCs promedio por componente en datos
histricos.
Estimar la cant. de componentes estndar.
Ms
Comp. estndar
LOCs por componente Mn probable
Mx Nro. estimado LOCs estimadas
Pg. web dinmicas
487 11
25 50
26,8
13052
Pg. web estticas
58 20
35 40
33,3
1931
Tablas BD
2437 12
15 20
15,3
37286
Reportes
288
8
12 20
12,7
3658
Reglas de negocio
8327
1
1
8327
TOTAL
64.254
90
Juicio de Expertos
La estimacin se realiza valindose de la
experiencia y de la opinin de expertos como
nica gua.
Aplicable a Tamao, Esfuerzo, Costo, Duracin
Estimaciones iniciales en gral. subestimamos
Humphrey multiplicar x 2
91
Juicio de Expertos
Tcnica Delphi (formal)
Consulta a varios expertos
C/experto estima por separado
Valor medio se distribuye y se pide ajuste de estimacin
Variantes con discusin previa o justificaciones
distribuidas
Normalmente los resultados convergen rpidamente
92
Tipo
Control
I/O
Pre/post proces.
Algoritmo
Manejo de Datos
Tiempo crtico
Dificultad
OE OM OD
21 27 30
17 24 27
16 23 26
15 20 22
24 31 35
75 75 75
94
Modelo subjetivo:
Difcil determinar similitudes. Pe. Maratn
Difcil determinar cmo diferencias afectan costo
95
Mtodos Algortmicos
Modelos que reflejan relacin entre esfuerzo factores que lo
influencian (experiencia, tamao, tipo de aplicacin).
Elaborados a partir de una gran muestra de proyectos de
diverso tamao y complejidad, tomados de diversas
organizaciones.
Sirve como base, cuando no se dispone de base histrica
propia.
En gral. de la forma: E=(a+b*Sc) m (X)
donde a, b y c son constantes (dependen de la org)
S es el tamao estimado del producto Tamao es factor ms
influyente
c gral. est entre 1 y 1.5. Refleja que el esfuerzo no crece linealmente
con el tamao, sino que es mayor por manejo de la complejidad.
(Productividad decrece)
m es un multiplicador de ajuste que depende del vector X de factores
de ajuste
96
Mtodos Algortmicos
Ejemplo: Walston-Felix (1977): E=5.25 S0.91
Inters histrico.
Exponente menor que 1 E crece, pero crece menos
la productividad crece con el tamao.
97
COCOMO II
3 modelos con distinto nivel de complejidad
composicin de aplicaciones (tamao en Object Points)
diseo temprano (tamao en PF)
post-arquitectura (tamao en LOCs)
E= b Sc(y) m(X)
y: Elementos de escala para ajustar el exponente
x: Multiplicadores de esfuerzo
Herramientas que soportan los 2 ltimos modelos
Calibrada con base de datos de proyectos
Estima esfuerzo, duracin (y cantidad promedio de gente)
de desarrollo, SIN contar Requerimientos
Esfuerzo en Meses-Persona (152 horas-Persona)
98
99
COCOMO II
Atributos de la plataforma
Relativos a los req. de HW y SW del sistema
TIME
-> Carga de Procesadores
STOR
-> Restricciones de Memoria
PVOL
-> Volatilidad de la Plataforma
100
COCOMO II
Multiplicadores de Esfuerzo (Post-Arq.)
Atributos del personal
Relativos a la experiencia y capacidades del equipo de desarrollo
ACAP
-> Capacidad de Analistas
AEXP
-> Experiencia de Analistas en dominio del proy.
PCAP
-> Capacidad de Programadores
PEXP
-> Experiencia de Programadores en el dominio del proy.
LTEX
-> Experiencia en Lenguaje y Herramientas
PCON -> Continuidad del personal
101
Aprendizaje Automtico
Aprender de proyectos pasados
Predecir el costo (esfuerzo, duracin)
Tcnicas de Data Mining:
Construir un modelo (Redes Neuronales, Modelos
Estadsticos) consistente con datos histricos
usar el modelo para generar una prediccin
(estimacin) del futuro
102
Gestin de RR.HH.
Def.?
Gestin pobre de RRHH causa de fracaso del
proyecto.
Factores crticos:
Consistencia
Respeto
Inclusin
Honestidad
105
106
107
108
INTUITIVO
INTUITIVO
INTUITIVO
INTROVERTIDO:
EXTROVERTIDO:
Pregunta al resto
Informa al resto
Reconoce
Reconoce sentimientos
sentimientos
RACIONAL
INTROVERTIDO:
Pregunta al resto
Decide
lgicamente
RACIONAL
EXTROVERTIDO:
Informa al resto
Decide lgicamente
EXTROVERTIDO
INTROVERTIDO
Estilos de Trabajo
RACIONAL
de tcnicos son introvertidos (vs. 1/3 de la poblacin)
109
Motivacin
Maslow 54
Necesidad
de realizacin
Necesidades
de estima
Necesidades sociales
Necesidades de seguridad
Necesidades fisiolgicas
110
Motivacin
En orgs. de desarrollo de SW, satisfacer:
Necesidades sociales:
tiempo y lugares de encuentro, interaccin entre los miembros
Necesidades de estima:
reconocimiento pblico de sus logros
pago acorde a habilidades y experiencia
Necesidades de realizacin:
hacerlos responsables por su trabajo
asignarles tareas demandantes pero no imposibles
proveer programa de capacitacin
Ser miembro de un grupo cohesivo es altamente motivador Motivar al grupo como tal.
111
Trabajo en Grupo
Composicin del grupo:
Balance de habilidades, experiencia y
personalidades
Cohesin:
Equipo y no personas trabajando juntas
Comunicaciones:
Comunicacin efectiva
Organizacin:
Todos satisfechos con su rol y valorados
112
113
El jefe de proyecto
Es el responsable de coordinar las distintas tareas y
grupos de personas que constituyen el equipo de
desarrollo.
Tiene que:
Demostrar lealtad al grupo.
Demostrar coherencia al tomar decisiones
Exigir la aceptacin universal de las decisiones una vez
tomadas
Proteger al grupo como entidad frente al exterior.
Ventajas:
se puede establecer un estndar de calidad
trabajo conjunto entre integrantes
todos conocen el trabajo de todos. Hay continuidad si
uno se va
responsabilidad del sw compartida (egoless
programming)
116
Problemas:
Resistencia irracional al cambio de lder
Pensamiento grupal Habilidades erosionadas por
lealtad
117
Trabajo en grupo
118
Comunicaciones
Dentro del equipo de desarrollo las comunicaciones son
necesarias e inevitables para que el grupo trabaje con
eficiencia.
Pero tambin son improductivas ya que mientras dura la
comunicacin el individuo no est realizando su funcin.
Por tanto, intentar minimizar y acortar las reuniones de
comunicacin.
Qu factores afectan a la comunicacin en grupo?
Tamao del grupo
Estructura del grupo
Composicin del grupo - Personalidades implicadas y su
categora profesional
Ambiente fsico de trabajo
119
Comunicaciones
Dos personas
1 lnea de comunicaci
Tres personas
3 lneas de comunicaci
Cuatro personas
6 lneas de comunicaci
Cinco personas
10 lneas de comunicaci
:
n(n-1)/2 lneas d
comunicacin
:
n personas
120
Comunicaciones
Cuanto mayor es el grupo mayor es el nmero de
enlaces de comunicacin entre sus miembros. Para
disminuirlas:
Estructurar las comunicaciones de manera que todas pasen por
un coordinador central dentro de cada grupo de trabajo.
Establecer grupos de comunicacin y el mnimo de
comunicaciones entre grupos.
121
Senior
programmers
Librarian
Administration
Test team
Junior
programmers
123
124
125
Equipo Democrtico
Todos los miembros del equipo participan en las decisiones
(democrtico).
Todos los miembros cooperan conjuntamente para
desarrollar cada una de las tareas. Todos igualmente
responsables.
En cada equipo se elige un portavoz, que informa del
estado de las tareas asignadas, al jefe de proyecto y que
comunica a los miembros del equipo de las decisiones y
comentarios realizados por aqul.
El software es producto de un equipo ms que de personas
individuales. No hay identificacin personal con el software.
Para eso, las crticas se hacen al producto o resultado, no a
las personas.
126
Equipos Jerrquicos
Jefes de grupo
Enlaces de comunicacin
127
Comparacin de Estructuras
Organizativas
Muy Estructuradas
Certidumbre
Repeticin
Proyectos Grandes
Poco Estructuradas
Incertidumbre
Nuevas Tcnicas o Tecnologa
Proyectos Pequeos
Creatividad
128
129
Integracin
Tormenta
Aceptacin
Etapa productiva
Desintegracin
130
Reuniones (Problemas)
Reuniones (Soluciones)
Definir objetivo, agenda y duracin
Los participantes deben conocerlos con
antelacin suficiente
Definir quines deben (y no deben) participar
Asignar el rol de coordinador o moderador para
ceirse a la agenda
Asignar el rol de secretario, responsable por el
acta, la que se debe distribuir a los participantes
132
Manejo de Conflictos
Qu opinar de un proyecto en el que no
aparece ningn conflicto?
Conflicto: no siempre es malo
Puede ser estimulante
Promueven la creatividad
133
Nivel de Eficacia
Evitarlo
No lo resuelve (reaparece)
Suavizarlo
Solucin de compromiso
Forzar la resolucin
Enfrentarlo/buscar
solucin al problema
Evaluacin de Factibilidad
137
Jurdica
Institucional:
Contribuye el sistema a los objetivos globales de la organizacin?
138
Clientes
139
140
3,15%
$ 50.000
Ingresos
20.000
22.000
25.000
25.000
25.000
ANUAL
Egresos
6.000
7.500
6.000
6.000
6.000
Flujo Caja
(50.000)
14.000
14.500
19.000
19.000
19.000
Reintegro
(50.000)
(36.000)
(21.500)
(2.500)
16.500
1,56%
$ 81.417,89
$ 31.417,89
19,60%
$ 111.515,30
$ 30.097,41
370,51%
PROYECTO 2
Semestres
0
1
2
3
4
5
Tasa Dto. Semestral
Actualizacin de FF
VAN
TIR
Actualizacin Ingresos
Actualizacin Egresos
Indice Rentabilidad
TIR Anualizada
Ingresos
15.000
16.000
18.000
18.000
18.000
Egresos
3.000
3.200
3.500
3.800
4.000
Flujo Caja
(50.000)
12.000
12.800
14.500
14.200
14.000
Reintegro
(50.000)
(38.000)
(25.200)
(10.700)
3.500
PROYECTO 3
Semestres
0
1
2
3
4
5
Tasa Dto. Semestral
Actualizacin de FF
VAN
TIR
Actualizacin Ingresos
Actualizacin Egresos
Indice Rentabilidad
1,56%
$ 64.366,84
$ 14.366,84
10,59%
$ 81.036,90
$ 16.670,05
486,12%
22,29%
TIR Anualizada
Ingresos
17.000
17.000
17.000
17.000
17.000
Reintegro
(50.000)
(35.700)
(21.400)
(7.100)
7.200
1,56%
$ 68.266,34
$ 18.266,34
13,24%
$ 81.155,79
$ 12.889,45
629,63%
28,24%
43,04%
$ 30.000
$ 25.000
VAN
TIR Anualizada
Proyecto 1
$ 20.000
Proyecto 2
$ 15.000
Proyecto 3
$ 10.000
$ 5.000
$0
0,00%
5,00%
10,00%
15,00%
20,00%
25,00%
Tasa
142
Gestin de Riesgos
Definicin de Riesgo
Un riesgo es un evento o condicin inciertos,
que, si se produce, tiene un efecto positivo o
negativo sobre al menos un objetivo del proyecto.
Objetivo de la Gestin de Riesgos:
aumentar la probabilidad y el impacto de los
eventos positivos, y disminuir los de los adversos.
Gestin proactiva y consistente durante todo el
proyecto.
144
145
Planificacin de la
Gestin de Riesgos
Identificacin
Anlisis
Planificacin
de la Respuesta
Seguimiento
y Control
Plan de
Gestin de
riesgos
Lista de
riesgos
Lista de
riesgos
priorizados
Planes de
reduccin y
contingencia
Evaluacin
de los
riesgo
Registro de Riesgos
146
Planificacin
de la Gestin de Riesgos
Proceso de decidir cmo abordar y llevar a cabo
las actividades de gestin de riesgos.
En fase temprana.
Salida: Plan de Gestin de Riesgos (parte del
Plan de Gestin del Proyecto):
Metodologa
Roles y responsabilidades
Preparacin del presupuesto
Periodicidad
Categoras de riesgos
Definiciones de niveles probabilidad e impacto
(relativas, numricas).
147
Identificacin de Riesgos
Determina qu riesgos pueden afectar al proyecto y documenta
sus caractersticas.
Participa todo el personal (sentido de pertenencia y
responsabilidad)
Proceso iterativo.
Identificar:
Factores internos (lo que puedo controlar o influenciar).
Factores externos (fuera de mi alcance). Pe. Quiebra la tablita
Genricos: comunes a todo proyecto de software.
Especficos: vulnerabilidades especficas de un proyecto dado.
148
Externo
Requisitos
Tecnologa
Complejidad
e interfaces
Rendimiento
y fiabilidad
Calidad
de la
organizacin
Direccin de
proyectos
Subcontratistas
y proveedores
Dependencias
del proyecto
Regulatorio
Recursos
Planificacin
Mercado
Financiacin
Control
Cliente
Priorizacin
Estimacin
Comunicacin
Condiciones
climticas
149
del proyecto
del producto
del negocio
Problemas presupuesto
de:
agenda
personal
recursos
del cliente y
sus requisitos
tamao
complejidad del
proyecto
diseo
interfaz
incertidumbre
tcnica
obsolescencia o
de utilizacin de
tecnologa de punta
cambio en la
direccin
cambios de
estrategia de
negocio
cambios en el
mercado
prdidas en la
empresa
Afectan:
la calidad del sw
resultante.
al equipo de
desarrollo y a
la realizacin del
proyecto en s.
el costo y
la duracin del
proyecto.
150
Riesgo
Tipo
Descripcin
Proyecto
Cambios de gerencia
Proyecto
HW no disponible
Proyecto
Proyecto y
producto
Retrasos en la especificacin
Proyecto y
producto
Tamao subestimado
Proyecto y
prod.
Herramientas CASE no
performantes
Producto
Cambios de tecnologa
Negocio
Producto de la competencia
Negocio
151
Tcnicos
(tecnologas utilizadas (sw y hw))
De personal
(equipo de desarrollo)
Organizacionales
(del ambiente organizacional de
desarrollo y del cliente)
(Sommerville)
Ejemplos
De herramientas
De requerimientos
De estimacin
152
1995
1. Limitaciones de Personal
1. Limitaciones de Personal
2. Calendario, Presupuesto, Procesos
3. COTS, componentes externos
4. Requerimientos inadecuados
5. Interfaz de usuario inadecuada
6. Arquitectura, desempeo, calidad
7. Cambios en Requisitos
8. Software Heredado
9. Tareas externas
10. Forzar ciencia de computacin
2. Calendario y Presupuesto
3. Funciones equivocadas
4. Interfaz de usuario no
adecuada
5. Gold plating (preciosismo)
6. Cambios en Requisitos
7. Suministros externos
8. Tareas externas
9. Desempeo de Tiempo Real
10. Forzar ciencia de
computacin
153
154
Anlisis de sensibilidad
Anlisis del valor monetario esperado
Anlisis mediante rbol de decisiones
Modelado y simulacin
155
Nodo de decisin
Nodo de posibilidad
Decisin a tomar
E: Prob. de escenarios,
Recompensa si ocurre
S: Valor monet. esp.(EMV)
Beneficios - costos
Construir
nueva planta
Construir
o mejorar?
Fuerte demanda
F
-$120
Poca demanda
EMV de la decisin = $
49 M
Fuerte demanda
Mejorar planta
existente
V
-$50
65%
$80M
$200
35%
-$30M
$90
65%
$70M
$120
Poca demanda
35%
$60
$10M
156
Aceptar:
decisin de no cambiar plan de gestin del proyecto o no se
pudo identificar estrategia de respuesta adecuada.
Pasivamente:
Aceptar consecuencias
Si pasa veo qu hago
Activamente Establecer reserva para contingencias (t, $,
RRHH).
157
Mitigar:
Personal enfermo Reorganizar el equipo para que haya
ms de una persona en puestos clave.
Prdida de informacin Mitigacin: Backup
Plan de contingencia:
Problemas financieros Preparar un informe para la
gerencia marcando contribuciones del proyecto al
negocio.
Si se va Fulano de la empresa, Sultano se hace cargo.
158
159
160
Lista de Comprobacin
Descomposicin
Anlisis de Supuestos
Anlisis de Procs. de
Decisin de Sistemas
Dinmica
Modelos de Desempeo
Modelos de Costo
Anlisis de Redes
Anlisis de Decisiones
Factores de Riesgo en Calid
Identificar Riesgos
Evaluar Riesgos Analizar Riesgos
Priorizar Riesgos
No se pueden
atender todos
Gestin de Riesgos
Impacto y/o
Probabilidad
Severidad de Riesgos
Reduccin Compuesta
Reducir
Incertidumbre
Reducir Riesgos
Control de Riesgos
Obtener Informacin
Evitar un Riesgo
Transferirlo
Evaluar Nivel de Reducci
Desarrollar el Proceso
162
Gestin de la Calidad
Gestin de la Calidad
Planear la calidad:
identificar estndares de calidad relevantes al proyecto y cmo
satisfacerlas
Asegurar la calidad:
asegurar que los estndares se cumplieron
detectar de desviaciones durante el proceso de produccin
para aumentar la confianza en la obtencin de los objetivos de
calidad
Controlar la calidad:
control de productos obtenidos
Gestin de la Calidad
Gestin de la
Calidad
Planear la
Calidad
Asegurar la
Calidad
Responsabilidades
Estndares
Procedimientos
Puntos de Control
Revisiones
Verificar
Auditoras
Validar
Mtricas de Q
Checklists
Controlar la
Calidad
WBS
165
Plan de Calidad
Plan de Calidad:
Descripcin del producto, mercado y calidad esperada.
Planes del producto: fechas de liberacin de versiones,
responsables del producto, planes de distribucin del producto.
Desc. de procesos para el desarrollo y la gestin del producto.
Los atributos de calidad ms importantes del producto:
166
Gestin de la Calidad
Relacin entre calidad del proceso y calidad del
producto:
es claro en procesos de manufactura, porque el
proceso se puede estandarizar y monitorear
fcilmente.
el SW no es manufacturado sino diseado difcil
predecir cmo cambios en proceso afecta Q del
producto. Pero experiencia muestra relacin.
167
Gestin de la Configuracin
Gestin de la Configuracin
Gestin de los componentes de un producto:
Registro y control de los cambios de un producto y
de sus componentes
Coordinacin fuente-ejecutable
WBS
169
171
WBS
172
organizacin
estimaciones de costo y duracin
calendario de actividades e hitos del proyecto
la gestin y el anlisis de riesgos
174
176
medir
analizar
predecir
informar el desempeo en costos y cronograma
178
Dependen de:
importancia (significance) impacto del fracaso o xito.
Factores que la afectan:
financieros
polticos
ambientales
incertidumbre probabilidad de fracaso o xito.
Factores que contribuyen:
tamao
complejidad
duracin
179
Actividades empezadas
Cmo considerar actividades a medias?
180
Tcnicas de Medicin
Seleccin de la tcnica en base a:
Tangiblidad del producto
Duracin del esfuerzo
181
Tcnicas de medicin
Productos Tangibles (I)
182
Tcnicas de medicin
Productos Tangibles (II)
Porcentaje de completitud:
Es la tcnica ms subjetiva, si no hay indicadores
objetivos (pe. # unidades del producto completas)
En cada perodo de medicin, el responsable de la tarea
estima el % de trabajo completado.
Riesgo del Sndrome del 90%
183
Tcnicas de medicin
Productos Intangibles
Esfuerzo repartido
si la tarea B tiene una relacin directa de soporte con
otra A. Pe. (QA, inspecciones)
El VG para cada perodo de medicin es directamente
proporcional al de la tarea A.
Nivel de esfuerzo
tareas que no producen resultados tangibles que
puedan ser medidos objetivamente. Pe. adm. del
proyecto
se asigna un valor a cada perodo de medicin y se
acredita al finalizar el mismo.
184
Tcnicas
Gantt
Diagrama de Evolucin de Gastos
Enfoque del Valor Ganado
185
187
Diagrama de
Planificado
Evolucin
Real
de Gastos
Acumulados
189
$
Planificado
Costo Planificado
Final (CPF)
t1
t0
Fin Planificado
(FP)
Fin de acuerdo
a tendencia (FT)
190
-Cunto?
191
192
Guas prcticas
cambios en el alcance
desempeo pasado pobre y la LBD ya no sirve para medir
194
Tcnicas
1.50/50
2. Hitos con peso
3. 25/75
4. 0/100
5. Hitos con peso
6. 50/50
195
Guas prcticas
196
197
Ejercicio
Calcular SV, TV, SPI, FT
Calcular VC, CPI, CFT
198
Relevamiento
10
Diseo
80% - 100%
20
Desarrollo
70% - 80%
40
199
Recursos
70
60
VP
VG
CA
50
40
30
20
10
0
1
Tiempo
200
201