Está en la página 1de 21

6/17/2005

INACAP Sede Copiapó


Ingeniería en Gestión Informática

Administración de Proyectos
Informáticos
790-3-83
Tema 4
Planificación de Proyectos
Víctor Valenzuela Ruz

INACAP Copiapó Administración de Proyectos Informáticos

Contenido
„ Introducción
„ Concepto de Planeación
„ Objetivos de la Planificación
„ Ámbito del Software
„ Recursos
„ Estimación del Proyecto de Software
„ Modelos de Estimación
„ Herramientas Automáticas de Estimación
Ingeniería en Gestión Informática Víctor A. Valenzuela Ruz 2

1
6/17/2005

INACAP Copiapó Administración de Proyectos Informáticos

Introducción (1/2)

„ El proceso de gestión de proyectos de


software comienza con un conjunto de
actividades que, globalmente, se denominan
Planificación del Proyecto.
„ Lo más importante en la Administración de
Proyectos es la Planificación. Es un factor
crítico de éxito (FCE).
„ Muchas veces, la Planificación es la actividad
sombrilla del proceso de software.
Ingeniería en Gestión Informática Víctor A. Valenzuela Ruz 3

INACAP Copiapó Administración de Proyectos Informáticos

Introducción (2/2)

„ La planificación permite hacer un estimado


de:
„ Recursos (humanos / capital)
„ Costo
„ Agenda
„ Fuentes de información:
„ Cliente
„ Documentación
„ Proyectos similares
Ingeniería en Gestión Informática Víctor A. Valenzuela Ruz 4

2
6/17/2005

INACAP Copiapó Administración de Proyectos Informáticos

Concepto de Planeación (1/3)

„ El analista de sistema debe administrar con


cuidado el proyecto, si desea que este sea de
gran éxito. Esto implica llevar acabo las
importantes tareas de planeación.
„ La planeación es una actividad de la gestión
del proyecto de software que combina las
técnicas de medición y los métodos de
estimación, con el análisis de riesgos, la
planificación temporal y otras actividades de
toma de decisiones.
Ingeniería en Gestión Informática Víctor A. Valenzuela Ruz 5

INACAP Copiapó Administración de Proyectos Informáticos

Concepto de Planeación (2/3)

„ La planeación incluye todas las actividades


que se requieren para la selección del equipo
de análisis de sistema, la estimación del
tiempo que cada tarea requiere para su
ejecución, y la programación del proyecto, de
tal forma que las tareas se concluyan
oportunamente.

Ingeniería en Gestión Informática Víctor A. Valenzuela Ruz 6

3
6/17/2005

INACAP Copiapó Administración de Proyectos Informáticos

Concepto de Planeación (3/3)

„ El planificador aplica técnicas y herramientas


para calcular estimaciones de esfuerzo y de
tiempos, basándose en la comprensión de los
requisitos funcionales del software, en las
características de rendimiento, en las
restricciones del sistema y en los aspectos de
fiabilidad.
„ Pero estas estimaciones sólo nos proporcionan
información útil si están integradas a un marco
de trabajo de planificación más completo.
Ingeniería en Gestión Informática Víctor A. Valenzuela Ruz 7

INACAP Copiapó Administración de Proyectos Informáticos

Objetivos de la Planificación
„ El objetivo de la planificación del proyecto de
software es proporcionar un marco de trabajo que
permita al administrador hacer estimaciones
razonables de recursos, costos y planificación
temporal.
„ Estas estimaciones se hacen dentro de un marco de
tiempo limitado al comienzo de un proyecto de
software, y deberían actualizarse regularmente a
medida que progresa el proyecto.
„ Además, las estimaciones deberían definir los
escenarios del mejor caso y peor caso, de modo que
los resultados del proyecto puedan limitarse.

Ingeniería en Gestión Informática Víctor A. Valenzuela Ruz 8

4
6/17/2005

INACAP Copiapó Administración de Proyectos Informáticos

Ámbito del Software (1/3)

„ Es la primera actividad llevada a cabo en la


planificación del proyecto de software.
„ En esta actividad se debe evaluar la función y
el rendimiento que se le asignaron al
software durante la Ingeniería del Sistema
„ Se debe establecer un ámbito que no sea
ambiguo e incomprensible para directivos y
técnico.

Ingeniería en Gestión Informática Víctor A. Valenzuela Ruz 9

INACAP Copiapó Administración de Proyectos Informáticos

Ámbito del Software (2/3)

„ Describe la función, el rendimiento, las


reacciones, las interfaces y la fiabilidad.
„ Se evalúan las funciones del ámbito y en
algunos casos se refinan para dar más
detalles antes del comienzo de la estimación.
„ Las restricciones de rendimiento abarcan
requisitos de tiempo de respuesta y
procesamiento, identifican los límites del
software originados por el hardware externo,
por la memoria disponible y otros sistemas
existentes.
Ingeniería en Gestión Informática Víctor A. Valenzuela Ruz 10

5
6/17/2005

INACAP Copiapó Administración de Proyectos Informáticos

Ámbito del Software (3/3)

„ El ámbito se define como un pre-requisito


para la estimación y existen algunos
elementos que se deben tomar en cuenta:
“La obtención de la información necesaria
para el software”.
„ Para esto el analista y el cliente se reúnen
sobre las expectativas del proyecto y se
ponen de acuerdo en los puntos de interés
para su desarrollo.
Ingeniería en Gestión Informática Víctor A. Valenzuela Ruz 11

INACAP Copiapó Administración de Proyectos Informáticos

Recursos (1/2)

„ La segunda tarea de la planificación del desarrollo de


software es la estimación de los recursos
requeridos para acometer el esfuerzo de desarrollo.
„ Esto simula a una pirámide donde las Herramientas
(hardware y software) son la base que proporciona la
infraestructura de soporte al esfuerzo de desarrollo.
En segundo nivel, se encuentran los Componentes
Reutilizables. Y en la parte más alta de esta
pirámide, se encuentra el recurso primario, las
personas (el recurso humano)

Ingeniería en Gestión Informática Víctor A. Valenzuela Ruz 12

6
6/17/2005

INACAP Copiapó Administración de Proyectos Informáticos

Recursos (2/2)

„ ¿Porqué es necesario planificar recursos?


„ Tardan tiempo en ser adquiridos
„ Pueden estar disponibles por poco tiempo
„ Restricciones de logística de la organización
„ Cada recurso queda especificado mediante
cuatro características:
„ Descripción del Recurso
„ Informes de Disponibilidad
„ Fecha Cronológica en la que se requiere
„ Tiempo durante el cual será aplicado

Ingeniería en Gestión Informática Víctor A. Valenzuela Ruz 13

INACAP Copiapó Administración de Proyectos Informáticos

Recursos Humanos (1/2)

„ Personas (ingenieros, programadores) que


trabajarán en el proyecto.
„ La cantidad de personas requeridas para el
desarrollo de un proyecto de software sólo
puede ser determinado después de hacer una
estimación de esfuerzo de desarrollo (por
ejemplo, personas-mes o personas-año), y
seleccionar la posición dentro de la
organización y la especialidad que
desempeñará cada profesional.
Ingeniería en Gestión Informática Víctor A. Valenzuela Ruz 14

7
6/17/2005

INACAP Copiapó Administración de Proyectos Informáticos

Recursos Humanos (1/2)

„ Deseamos saber:
„ Cantidad de personas necesarias
„ Basado en estimados de costo (esfuerzo)
„ Destrezas necesarias
„ Basado en características del producto/proceso
„ Producto: qué preparación o experiencia es
necesaria para el tipo de producto a desarrollar.
„ Proceso: qué roles se necesitan (administrador,
programador, analista, ingeniero).

Ingeniería en Gestión Informática Víctor A. Valenzuela Ruz 15

INACAP Copiapó Administración de Proyectos Informáticos

Recursos o Componentes de
Software Reutilizables (1/2)
„ Cualquier estudio sobre recursos de software
estaría incompleto sin estudiar la
reutilización, esto es la creación y la
reutilización de bloques de construcción de
software.
„ Tales bloques se deben establecer en
catálogos para una consulta más rápida,
estandarizarse para una fácil aplicación y
validarse para simplificar su integración.
Ingeniería en Gestión Informática Víctor A. Valenzuela Ruz 16

8
6/17/2005

INACAP Copiapó Administración de Proyectos Informáticos

Recursos o Componentes de
Software Reutilizables (2/2)
„ El autor Bennatan sugiere, cuatro
categorías de recursos de software que se
deberían tener en cuenta a medida que se
avanza con la planificación:
„ Componentes ya desarrollados
„ Componentes ya experimentados
„ Componentes con experiencia parcial
„ Componentes nuevos

Ingeniería en Gestión Informática Víctor A. Valenzuela Ruz 17

INACAP Copiapó Administración de Proyectos Informáticos

Recursos Entorno (1/2)

„ El entorno es donde se apoya el proyecto de


software, llamado a menudo “entorno de
ingeniería de software”, incorpora hardware
y software.
„ El hardware proporciona una plataforma
con las herramientas (software) requeridas
para producir los productos que son el
resultado de la buena práctica de la
ingeniería del software.
Ingeniería en Gestión Informática Víctor A. Valenzuela Ruz 18

9
6/17/2005

INACAP Copiapó Administración de Proyectos Informáticos

Recursos Entorno (2/3)

„ Tipos de recursos de entorno:


„ Usuarios
„ Maquinaria (sensores, controles, etc.)
„ Equipo (hardware)
„ Es necesario conocer el ambiente operacional
del producto
„ Responsabilidad del planificador conocerlos lo
antes posible para planificar su adquisición.

Ingeniería en Gestión Informática Víctor A. Valenzuela Ruz 19

INACAP Copiapó Administración de Proyectos Informáticos

Recursos Entorno (3/3)

„ Un planificador de proyectos debe


determinar la ventana temporal
requerida para el hardware y software y
verificar que estos recursos estén
disponibles.
„ Cada elemento de hardware debe ser
especificado claramente por el
planificador del proyecto de software.
Ingeniería en Gestión Informática Víctor A. Valenzuela Ruz 20

10
6/17/2005

INACAP Copiapó Administración de Proyectos Informáticos

Estimación del Proyecto de


Software (1/5)
„ En el principio el costo del software constituía
un pequeño porcentaje del costo total de los
sistemas basados en computadoras. Hoy en
día, el software es el elemento más caro de la
mayoría de los sistemas informáticos.
„ Un error en la estimación del costo puede ser
que marque la diferencia entre beneficios y
pérdidas.

Ingeniería en Gestión Informática Víctor A. Valenzuela Ruz 21

INACAP Copiapó Administración de Proyectos Informáticos

Estimación del Proyecto de


Software (2/5)
„ Estimación:
„ Actividad en la cual se estiman: tamaño del producto,
esfuerzo, costo, duración, personal necesario, agenda.
„ Esfuerzo:
„ Medida proporcional a la cantidad de personas que trabajan
en un proyecto y al tiempo de duración de dicho trabajo.
„ Es uso y costumbre en Ingeniería de Software medir
el esfuerzo en personas-mes.
„ Ejemplo: 5 personas trabajaron en el proyecto durante 4
meses. El esfuerzo total es de 20 personas–mes.

Ingeniería en Gestión Informática Víctor A. Valenzuela Ruz 22

11
6/17/2005

INACAP Copiapó Administración de Proyectos Informáticos

Estimación del Proyecto de


Software (3/5)
„ La estimación del costo y del esfuerzo del software
nunca será una ciencia exacta, son demasiadas las
variables involucradas (humanas, técnicas, de
entorno, políticas) que pueden afectar el costo final
del software y el esfuerzo aplicado para desarrollarlo.
„ Para realizar estimaciones seguras de costos y
esfuerzos se tienen varias opciones posibles:
„ Dejar la estimación para más adelante
„ Basar las estimaciones en proyectos similares ya
terminados
„ Utilizar técnicas de descomposición
„ Desarrollar un modelo empírico para el cálculo de costos y
esfuerzo del software

Ingeniería en Gestión Informática Víctor A. Valenzuela Ruz 23

INACAP Copiapó Administración de Proyectos Informáticos

Estimación del Proyecto de


Software (4/5)
„ Desgraciadamente, la primera opción,
aunque atractiva, no es práctica.
„ La segunda opción puede funcionar
razonablemente bien si el proyecto actual
es bastante similar a los esfuerzos pasados
y si otras influencias del proyecto son
similares.
„ Las opciones restantes son métodos viables
para la estimación del proyecto de
software.
Ingeniería en Gestión Informática Víctor A. Valenzuela Ruz 24

12
6/17/2005

INACAP Copiapó Administración de Proyectos Informáticos

Estimación del Proyecto de


Software (5/5)
„ Desde el punto de vista ideal, se deben
aplicar conjuntamente las técnicas indicadas
usando cada una de ellas como
comprobación de las otras.
„ Antes de hacer una estimación de costos y
de esfuerzos, el planificador del proyecto
debe comprender muy bien el ámbito del
software a construir y generar una
estimación de su tamaño y complejidad.
Ingeniería en Gestión Informática Víctor A. Valenzuela Ruz 25

INACAP Copiapó Administración de Proyectos Informáticos

Modelos de Estimación (1/9)

„ ¿Cómo estimamos el esfuerzo?


„ Como función del tamaño estimado del
producto (LOC, FP)
„ Estimado puede ser basado en:
„ Experiencia previa de la organización (mejor
alternativa)
„ Modelos empíricos

Ingeniería en Gestión Informática Víctor A. Valenzuela Ruz 26

13
6/17/2005

INACAP Copiapó Administración de Proyectos Informáticos

Modelos de Estimación (2/9)

A. Basado en experiencia previa


„ Promedio de esfuerzo por LOC o por FP
Ejemplos:
„ Tamaño estimado: 300 FP
„ Estudios de proyectos reflejan que el promedio
de FP por personas-mes (pm) es de 6 FP/pm
„ Por lo tanto, el esfuerzo estimado es de 50 pm
„ Tamaño estimado: 150 KLOC
„ Estudios de proyectos reflejan que el promedio
es de 2 KLOC/pm
„ Por tanto, el esfuerzo estimado es 75 pm

Ingeniería en Gestión Informática Víctor A. Valenzuela Ruz 27

INACAP Copiapó Administración de Proyectos Informáticos

Modelos de Estimación (3/9)

B. Modelos Empíricos
„ Basados en estudios hechos
„ Por varios años
„ A varios proyectos
„ En varias organizaciones
„ Donde los datos que soportan la mayoría de los
modelos de estimación obtienen una muestra
limitada de proyectos. Por esta razón, el modelo
de estimación no es adecuado para todas las
clases de software y en todos los entornos de
desarrollo. Por tanto, los resultados obtenidos de
dichos modelos se deben utilizar con prudencia.

Ingeniería en Gestión Informática Víctor A. Valenzuela Ruz 28

14
6/17/2005

INACAP Copiapó Administración de Proyectos Informáticos

Modelos de Estimación (4/9)

„ Basados en KLOC
„ Watson-Felix
„ E= 5.2 x (KLOC)0.91
„ Bailey-Basili
„ E= 5.5 + 0.73 x (KLOC)1.16
„ COCOMO Simple (Boehm)
„ E= 3.2 x (KLOC)1.05
„ Doty
„ E= 5.288 x (KLOC)1.047

Ingeniería en Gestión Informática Víctor A. Valenzuela Ruz 29

INACAP Copiapó Administración de Proyectos Informáticos

Modelos de Estimación (5/9)

„ Basados en FP
„ Albrecht-Gaffney
„ E= -13.39 +0.0545 x FP
„ Keremer
„ E= 60.62x7.728 + 10-8 x (FP)3
„ Matson-Barnett-Mellichamp
„ E= 585.7 + 15.12 x FP

Ingeniería en Gestión Informática Víctor A. Valenzuela Ruz 30

15
6/17/2005

INACAP Copiapó Administración de Proyectos Informáticos

Modelos de Estimación (6/9)

Método Esfuerzo
„ Nótese que todos
Watson-Felix 24.5
los modelos darán
distintos valores de Bailey-Basili 10.8
esfuerzo. COCOMO Simple 19.2

„ Veamos un ejemplo: Doty 31.5


Sistema asistente de Albrecht-Gaffney 6
maestro con Keremer 211.4
KLOC=5.5, FP=356 Matson-Barnet-Mellichamp 814.3

Ingeniería en Gestión Informática Víctor A. Valenzuela Ruz 31

INACAP Copiapó Administración de Proyectos Informáticos

Modelos de Estimación (7/9)

„ ¿Qué hace con tanto valor distinto?


„ Hacer uso del buen juicio
„ Nótese que hay demasiada varianza en los valores
„ Por lo tanto, obtener el promedio no es razonable
„ El juicio nos dice que los modelos Kemerer y M-B-C no
aplican, por que nos da un estimado demasiado alto
para el tipo de proyecto
„ Podemos usar como base los primeros 5 modelos y
obtener un promedio:

Promedio (primeros 5 modelos) = 18.4 pm

Ingeniería en Gestión Informática Víctor A. Valenzuela Ruz 32

16
6/17/2005

INACAP Copiapó Administración de Proyectos Informáticos

Modelos de Estimación (8/9)

„ Hacer uso de la fórmula de valor esperado (ve)

ve = (eo + 4em + ep)/6

donde eo: es el estimado optimista


em: es el estimado más probable
ep: es el estimado pesimista

„ Esto aplica a todo estimado (esfuerzo, tiempo, costo)


„ Asume que todo estimado tiene una probabilidad de éxito
del tipo beta, la cual tiene una densidad centrada
alrededor del valor más probable (por eso tiene peso 4
sobre el total de 6)

Ingeniería en Gestión Informática Víctor A. Valenzuela Ruz 33

INACAP Copiapó Administración de Proyectos Informáticos

Modelos de Estimación (9/9)

„ Se puede usar:
„ El esfuerzo promedio como estimado más
probable
„ El esfuerzo mínimo como valor optimista
„ El esfuerzo máximo como valor pesimista
„ Así, para nuestro ejemplo sería:
ve = (6.0 + 4*18.4 + 31.5) / 6 = 18.5

Ingeniería en Gestión Informática Víctor A. Valenzuela Ruz 34

17
6/17/2005

INACAP Copiapó Administración de Proyectos Informáticos

Estimados de Duración (1/5)

„ Se puede estimar la duración (D) de un


proyecto (en meses o años) basado en
modelos empíricos, como función del
esfuerzo.
„ Algunos modelos empíricos (D está dado
en meses):
„ Watson-Felix
D = 4.1 * E0.36
„ COCOMO
D = 2.5 * E0.38

Ingeniería en Gestión Informática Víctor A. Valenzuela Ruz 35

INACAP Copiapó Administración de Proyectos Informáticos

Estimados de Duración (2/5)

„ Relación entre Personal, Esfuerzo y Duración


„ Esta relación está dada por:
P=E/D (personas meses / meses)

„ Nótese que:
„ Es más razonable estimar E y D primero, entonces P
„ No es realista:
„ Calcular D basado en P y D
„ Asumir que mientras más grande P, menor es D
„ Esto es, añadir más personas a un proyecto no reducirá
su duración.

Ingeniería en Gestión Informática Víctor A. Valenzuela Ruz 36

18
6/17/2005

INACAP Copiapó Administración de Proyectos Informáticos

Estimados de Duración (3/5)

„ Distribución de la Agenda
„ Sabiendo el estimado de duración, nos interesa
saber cómo se distribuye el tiempo a través de
las etapas del ciclo de vida del proyecto.
„ Distribución usual y recomendada del esfuerzo:
„ Planificación: 2 – 3 %
„ Especificación requerimientos: 10 – 25 %
„ Diseño: 20 – 25 %
„ Codificación: 15 – 20 %
„ Pruebas y Depuración: 30 – 40 %
„ Todo debe sumar 100%

Ingeniería en Gestión Informática Víctor A. Valenzuela Ruz 37

INACAP Copiapó Administración de Proyectos Informáticos

Estimados de Duración (4/5)

„ Si se asume el tamaño P (personal) constante,


la distribución de la agenda es igual a la
distribución de esfuerzo.

„ Ejemplo: Sistema Asistente de Maestro

„ E = 18 pm
„ D = 2.5 E0.38 = 7.5 meses ~= 3 personas (usando
COCOMO)
„ P = E / D = 18 / 7.4 = 2.43 ~= 3 personas

Ingeniería en Gestión Informática Víctor A. Valenzuela Ruz 38

19
6/17/2005

INACAP Copiapó Administración de Proyectos Informáticos

Estimados de Duración (5/5)

„ Distribución de la Agenda, asumiendo P constante:

Actividad % D (meses)
Duración Total del Proyecto 100 8.0
Esp. Requerimientos 20 1.6
Diseño 25 2.0
Codificación 25 2.0
Pruebas / Depuración 30 2.4

Ingeniería en Gestión Informática Víctor A. Valenzuela Ruz 39

INACAP Copiapó Administración de Proyectos Informáticos

Herramientas Automáticas de
Estimación (1/3)
„ Las herramientas automáticas de estimación
permiten al planificador estimar costos y
esfuerzos, así como llevar a cabo análisis de
sensibilidad del tipo: qué pasa si, con
importantes variables del proyecto, tales como:
la fecha de entrega o la selección del personal.
„ Aunque existen muchas herramientas
automáticas de estimación, todas exhiben las
mismas características generales y todas
requieren de una o más clases de datos.
Ingeniería en Gestión Informática Víctor A. Valenzuela Ruz 40

20
6/17/2005

INACAP Copiapó Administración de Proyectos Informáticos

Herramientas Automáticas de
Estimación (2/3)
„ A partir de estos datos, el modelo implementado
por la herramienta automática de estimación
proporciona estimaciones del esfuerzo requerido
para llevar a cabo el proyecto, los costos, la carga
de personal, la duración y en algunos casos la
planificación temporal de desarrollo y riesgos
asociados.
„ En resumen, el planificador del proyecto de
software tiene que estimar tres cosas antes que
comience el proyecto: cuánto durará, cuánto
esfuerzo requerirá y cuánta gente estará implicada.
Ingeniería en Gestión Informática Víctor A. Valenzuela Ruz 41

INACAP Copiapó Administración de Proyectos Informáticos

Herramientas Automáticas de
Estimación (3/3)
„ Además, el planificador debe predecir los recursos
de hardware y software que va a requerir y el riesgo
implicado.
„ Para obtener estimaciones exactas para un proyecto,
generalmente se deben comparar y conciliar
estimaciones obtenidas con las diferentes técnicas.
„ La estimación del proyecto de software nunca será
una ciencia exacta, pero la combinación de buenos
datos históricos y técnicas puede mejorar la precisión
de la estimación.

Ingeniería en Gestión Informática Víctor A. Valenzuela Ruz 42

21