Está en la página 1de 15

PROGRAMACIN TEMPORAL DE PROYECTOS

7. PROGRAMACIN
TEMPORAL DE PROYECTOS
1. INTRODUCCIN.........................................................................................................
2. HERRAMIENTAS BSICAS USADAS EN LA PLANIFICACIN Y
SEGUIMIENTO......................................................................................................................
3. APLICACIN DE LA TCNICA CPM.....................................................................
3.1. ETAPA 1............................................................................................................
3.2. ETAPA 2............................................................................................................
3.3. ETAPA 3............................................................................................................
3.4. ETAPA 4. CLCULO DEL CAMINO CRTICO..........................................................
3.4.1. CALCULAREMOS LAS FECHAS...................................................................
2.4.1. OBTENCIN DEL CAMINO CRTICO.........................................................
4. EJEMPLO DE PROGRAMACIN DE PROYECTOS Y OBTENCIN DE
CALENDARIOS.....................................................................................................................
5. DIFERENCIA FUNDAMENTAL ENTRE EL CPM Y EL PERT............................
6. USO DE APLICACIONES PARA LA PLANIFICACIN Y CONTROL DE
PROYECTOS..........................................................................................................................
7. MODIFICACIN DE LA DURACIN DEL PROYECTO.....................................
8. BIBLIOGRAFA...........................................................................................................

1. INTRODUCCIN.
En este tema vamos a tratar el tema de la creacin de calendarios para los
proyectos. Partiendo de las tareas, recursos asignados a cada una y las
precedencias entre las tareas, obtendremos una programacin temporal.
Dado que ya sabemos modificar la duracin de las tareas, asignando ms
recursos (captulo 4), veremos cmo modificar la duracin global del
proyecto e incluso cambiar el camino crtico, pudiendo ofrecer, de este
89

PLANIFICACIN DE PROYECTOS INFORMATICOS

modo, diferentes programaciones alternativas.

2. HERRAMIENTAS BSICAS USADAS EN LA


PLANIFICACIN Y SEGUIMIENTO.
Aunque desde la antigedad se han realizado proyectos de gran
envergadura como por ejemplo la construccin de edificios pblicos, guerras,
viajes, etc., no es hasta principios de este siglo cuando aparece el conocido
diagrama de Gantt en el que se refleja de forma esquemtica las tareas, su
duracin y las fechas en que se debern realizar. Trabajando sobre este
diagrama el director de proyecto realizaba planificaciones y seguimiento de
un proyecto. Ver la figura 1.
TAREAS
Especificar Necesidades
Diseo Programas
Diseo Base de Datos
Realizacin Esquema
Codificacin Programas
Pruebas
0

6
8
10
SEMANAS

12

14

16

figura 1
Dada la evolucin tecnolgica los seres humanos cada vez abordamos
proyectos ms complejos, pero por otra parte creamos tcnicas ms
evolucionadas, completas y automticas para gestionar estos proyectos. La
construccin del misil Polaris, as como la solucin de los problemas en la
gestin de la produccin de Dunlop llevaron al desarrollo de las tcnicas
conocidas como PERT (Tcnica para la Evaluacin y Revisin de
Programas) y CPM (Mtodo del Camino Crtico) que aportan a la
programacin de proyectos tcnicas matemticas.
Estas tcnicas surgieron de la necesidad de obtener algoritmos
90

PROGRAMACIN TEMPORAL DE PROYECTOS

automatizables que ayudasen a los gestores de proyectos complejos en la


construccin de calendarios (programas). En el siguiente punto veremos
mediante un ejemplo como se aplica en el CPM.

3. APLICACIN DE LA TCNICA CPM.


El CPM se realiza sobre un proyecto en cuatro etapas, a continuacin se
describe cada una de ellas.
3.1. ETAPA 1.
Especificar
Necesidades

Diseo
Aplicacin
Desarrollo
Contabilidad
Codificacin

Diseo Base
de Datos
Diseo
Programas

Identificar tareas. Se utilizar


las tcnicas vistas en el captulo
3 para la identificacin de tareas.
Como ejemplo podemos usar el
mostrado en la figura 2.

Realizacin
esquemas
Codificacin
Programas

Pruebas

figura 2

Si queremos realizar el proceso de forma manual, rellenaremos una ficha


por cada actividad identificada. El formato de la ficha ser el que se muestra
en la figura 3.
Actividad:

Diseo Programas

Recursos: 1 Programador
Duracin:

3 semanas

91
figura 3

PLANIFICACIN DE PROYECTOS INFORMATICOS

3.2. ETAPA 2.
Aadir recursos y tiempos. A cada actividad se le asignarn recursos como
se vio en el tema 4 (personas, material, equipos, etc.) y tiempo estimado para
su realizacin, completando la ficha.
3.3. ETAPA 3.
Ordenar las tareas. En esta etapa se tienen que organizar las tareas en base
al orden tcnico de ejecucin. As sabemos que hay que hacer las
especificaciones antes de disear el programa. Nos podemos plantear las
siguientes preguntas para ordenar las tareas:

Qu se puede hacer ahora?


Qu debe haberse hecho antes de esto?
Qu podra hacerse a la vez?
Qu debe seguir a lo que hacemos ahora?

Si se trata de calcular el Camino Crtico de forma manual ser interesante


el pinchar todas las tareas en un tablero de corcho, sealando mediante
cuerdas la ordenacin de las tareas, ver figura 4. Esta representacin es
conocida como red de precedencia, aunque su apariencia es diferente al
grfico PERT en algunos programas informticos se describe errneamente
con este nombre.

92

PROGRAMACIN TEMPORAL DE PROYECTOS

figura 4
Si tenemos un diagrama complejo, y queremos realizar los clculos de
forma manual se puede utilizar el mtodo que se describe a continuacin.
Este diagrama se compone de nodos y arcos, similares a las pegatinas
comentadas anteriormente. Los nodos representan a las tareas y la
informacin necesaria para calcular sus fechas de realizacin. Los arcos
indican las precedencias entre tareas.
Vamos a representar cada nodo (tarea) como se ve en la figura 5.
Etiqueta actividad
Duracin
Inicio temprano
DESCRIPCIN DE LA ACTIVIDAD
Inicio tardo
Mximo tiempo disponible
Holgura

Final temprano
Final tardo

figura 5
Donde:

DESCRIPCIN DE LA ACTIVIDAD es el nombre que le hemos dado


a la actividad. Por ejemplo: Codificacin Programa A
93

PLANIFICACIN DE PROYECTOS INFORMATICOS

Etiqueta actividad es un nmero arbitrario y que identifica


unvocamente a cada actividad.

Duracin es el tiempo que calculamos que se tardar en completar la


tarea, teniendo en cuenta el esfuerzo y los recursos asignados a la
tarea. Por ejemplo una tarea que estimamos requerir seis das-hombre
de esfuerzo, si se realiza entre tres personas podra tener una duracin
de dos das (ver captulo 4 punto 4.3).

Inicio temprano es la fecha en que se podr comenzar la tarea si no se


retrasa ninguna otra. Ms adelante veremos como calcularla.

Final temprano es, en el caso de iniciarse la tarea en el inicio


temprano, lo antes que puede finalizar, respetando su duracin.

Inicio tardo es la fecha ms retrasada en la que puede comenzar la


tarea para que se pueda completar el proyecto en la fecha marcada
como final del proyecto.

Final tardo es la fecha ms retrasada en la que puede terminar la


tarea para que se pueda completar el proyecto en la fecha marcada
como final del proyecto.

Mximo tiempo disponible el tiempo mximo que puede durar una


tarea en caso de comenzar en su Inicio temprano y concluir en su
Final tardo.

Holgura es la diferencia entre el Mximo tiempo disponible y su


Duracin

3.4. ETAPA 4. Clculo del camino crtico


3.4.1. CALCULAREMOS LAS FECHAS.
Una vez tenemos todas las tareas con sus respectivas duraciones y las
precedencias pasamos a dibujar una red en la que aparezca para cada tarea
94

PROGRAMACIN TEMPORAL DE PROYECTOS

una caja similar a la vista en el punto anterior con casi todos los campos
vacos. Entre ellas aparecern los arcos indicando precedencias. tendremos
algo similar a la figura 6.
Ahora calculamos las fechas tempranas. Para esto seguimos los siguientes
pasos:
1) En aquellas tareas que no tienen ningn predecesor se le asigna a
Inicio temprano el valor cero.
2) Si la tarea tiene predecesoras y todas estas tienen calculado su Final
temprano se toma como Inicio temprano el mximo de todos ellos.
3) El Final temprano de cada tarea se calcula como el Inicio temprano
ms la Duracin.
Repetiremos estos pasos hasta que todas las tareas tengan sus
fechas tempranas.
Para calcular las fechas tardas procederemos con los pasos que se
describen a continuacin.

figura 6
95

PLANIFICACIN DE PROYECTOS INFORMATICOS

4) Se obtiene la fecha de finalizacin de proyecto ms tarda. Esta puede


venir dada por algn tipo de razones externas o puede que se nos pida
que el proyecto termine lo antes posible, en este caso la fecha de
finalizacin ms tarda ser el mximo de los "Final temprano" de
todas las tareas.
5) A aquellas tareas que no sean predecesoras de ninguna otra se les
asigna como Final tardo la fecha de finalizacin mas tarda del punto
4.
6) El Inicio tardo se calcula restando al Final tardo la Duracin.
7) En aquellas tareas que son predecesoras de otras se calcula el Final
tardo como el mnimo de los Inicio tardo de las tareas de que es
predecesora.
Los otros dos campos de cada tarea: Mximo tiempo disponible y
Holgura se calculan mediante las siguientes frmulas:
Mximo tiempo disponible = Final tardo - Inicio temprano
Holgura = Mximo tiempo disponible - Duracin
2.4.1. OBTENCIN DEL CAMINO CRTICO.
Llamamos camino crtico de una planificacin al conjunto de tareas que
tienen Holgura cero. Siempre que se solicita que el proyecto tenga la
duracin mnima tendremos un camino crtico.
Se le llama camino crtico porque suele ser un camino que parte de una
tarea que no tiene predecesoras y atraviesa el grafo por tareas con holgura
cero hasta terminar en una tarea que no es predecesora de ninguna otra.
Puede darse el caso de que con el "camino crtico" se puedan construir varias
secuencias, partiendo de tareas sin predecesoras y se alcancen tareas sin
sucesoras.
A las tareas del camino crtico se les llama tareas criticas y esto se debe a
que un retraso en cualquiera de ellas lleva a un retraso del final del proyecto.
96

PROGRAMACIN TEMPORAL DE PROYECTOS

4. Ejemplo de programacin de proyectos y obtencin


de calendarios.
Comenzaremos por crear un calendario, que ilustraremos con el siguiente
problema:
Se ha evaluado el desarrollo de una aplicacin, obtenindose que el
esfuerzo necesario para realizarla es de 25 meses/hombre. Tras el estudio de
las tareas a realizar y los recursos disponibles se han determinado las tareas,
recursos y precedencias, que se muestran en la tabla siguiente.
Se ha de tener en cuenta que la empresa puede asignar tantos Analistas y
Programadores al proyecto, como sea necesario, respetando los datos de la
tabla.
Se desea conocer el tiempo mnimo, necesario, para el desarrollo del
proyecto as como el Camino Crtico.
Tambin se desea disponer de los diagramas de precedencia y Gantt.
Tarea

Descripcin

Esfuerzo

Recursos

3 meses

Tipo
Brooks
1

Anlisis
de
Requerimientos
Diseo de la Base de Datos
Diseo de los Procesos
Construccin del Prototipo
Desarrollo del Esquema
Codificacin

1 mes
4 meses
1 mes
0,5 meses
8 meses

2
1
2
1
1

A
A
C, E
B
C, E

0,5 meses

2 meses

2 meses

Instalacin Sistema

1 mes

2
Programadores
2
Programadores
2
Programadores

F, G

Revisin
Usuario
del
Prototipo
Revisin del Cdigo con
Mejoras Solicitadas
Pruebas

1 Analista
2 Analistas
1 Programador
1 Analista
4
Programadores
1 Analista

B
C
D
E
F
G
H

2 Analistas

Sigu
e a:
-

H
I

97

PLANIFICACIN DE PROYECTOS INFORMATICOS

Mantenimiento Inicial

2 meses

1 Programador

SOLUCIN:
Diagrama de precedencias:

A
0
0
1,5

Anlisis

1,5
1,5
1,5
0

B
1,5
2
1,5

C
1,5
1,5
2

Diseo
B.D

Diseo
Progrm.

1
2,5
3
0,5

E
0,5
2,5 Desarrollo 3
3 Esquema 3,5
1
0,5

2
3,5
3,5
0

F
3,5
3,5
2

H
5,5
5,5
1

Revisin
Cdigo

1
6,5
6,5
0

D
3,5
4
1,5

Codifica.

I
6,5
6,5
1

Construc
Prototipo

1
4,5
5
0,5

G
4,5
5
1

Revisin
Prototipo

0,5
5
5,5
0,5

2
5,5
5,5
0

1
7,5
7,5
0

Pruebas

J
7,5
7,5
0,5

Instalaci.

0,5
8
8
0

K
8
8
2

Manten.
Inicial

2
10
10
0

Diagrama de Gantt:
A

1A

2A

1P

1A

4P

1A

2P

2P

2P

K
1

10

La duracin mnima es de 10 meses, siendo el camino crtico A-C-F-H-IJ-K

5. DIFERENCIA FUNDAMENTAL ENTRE EL CPM


Y EL PERT.
98

PROGRAMACIN TEMPORAL DE PROYECTOS

Aunque en principio son similares los algoritmos de ambos mtodos, la


asignacin de duraciones de las tareas en el PERT es algo mas elaborada. En
lugar de realizarse una sola estimacin se realizan tres estimaciones:
"tm" tiempo medio que se estima para la actividad,
"to" tiempo optimista, el que resultara de ir todo muy bien, y el
"tp" el tiempo pesimista, el que resultara si todo fuese mal en esta tarea.
A la tarea se le asigna como duracin el resultado de:
duracin = ( to + 4 tm + tp) / 6
Por otra parte el grafo se construye de forma dual a la vista. Los arcos
modelan las actividades o tareas, mientras que los nodos modelan la relacin
de precedencia de las tareas. As un nodo indica que los arcos que llegan a l
anteceden a los que salen de l.

6. USO DE APLICACIONES PARA LA


PLANIFICACIN Y CONTROL DE PROYECTOS.
Como hemos indicado estos algoritmos se hicieron pensando en el uso de
sistemas de cmputo automtico, as que no es de extraar que existan
muchas aplicaciones que den soporte a stos. Entre las ms conocidas que
funcionan sobre PC estn el CA-SuperProject y el MICROSOFT Project.

7. MODIFICACIN DE LA DURACIN DEL


PROYECTO.
Al realizar la primera planificacin del desarrollo de una aplicacin
informtica nos solemos concentrar en los aspectos ms tcnicos del
desarrollo. Como es normal, la planificacin tendra un calendario diferente
de haber sido otras las personas implicadas. Esto se debe a varios factores
como la experiencia por ejemplo, que llevan a realizar ciertas suposiciones
implcitas o explcitas sobre las necesidades de los usuarios, la productividad
que se obtiene con ciertas herramientas, la cantidad de personas que se
99

PLANIFICACIN DE PROYECTOS INFORMATICOS

implicarn en el proyecto y los niveles de destreza que estos dispongan sobre


las herramientas, as como su experiencia y conocimientos sobre el tema de
la aplicacin a desarrollar.
Por otra parte, los clientes tienen una visin diferente de sus necesidades,
de modo que les resultar ms atractivo el pagar ms a cambio de disponer
antes de la aplicacin. En otros casos puede ocurrir lo contrario, que
hayamos planificado el proyecto con fuertes restricciones en cuanto al
tiempo de entrega, pero que el cliente realmente deseara pagar menos
aunque se prolongara el plazo de entrega.
Un ejemplo que puede ilustrar lo anterior es el desarrollo de una
aplicacin que de soporte al alquiler de esqus para una estacin de los
Pirineos. Si planificamos su finalizacin para el mes de Enero, es normal que
el cliente est dispuesto a pagar ms si puede disponer de esta aplicacin en
el mes de Noviembre. Por otra parte si nuestra planificacin resulta que
termina en el mes de Julio, seguro que al cliente le dar igual disponer de ella
dos o tres meses ms tarde, si con ello puede ahorrarse algo de dinero.
Esto se debe a que hay un coste de oportunidad asociado a la disposicin
o no del subsistema informtico. As en la temporada de invierno el cliente
puede estar dispuesto a pagar 100.000 ptas. Por cada mes que se anticipe la
entrega de la aplicacin, mientras que en la temporada de verano le ser
prcticamente indiferente el disponer de esta aplicacin un mes antes o
despus.
Si queremos actuar sobre la duracin del proyecto deberemos
concentrarnos en las tareas del camino crtico tratando de aumentar la
concurrencia entre algunas de ellas o reducir la duracin de stas.
Con el objetivo de reducir la duracin del camino crtico podremos
aumentar el paralelismo entre las tareas de ste. Para ello haremos que
algunas tareas que se relacionan mediante una secuencia de fin-inicio pasen a
una secuencia inicio-inicio, aunque sea con cierta demora. As las tareas C y
F las podramos relacionar de modo que transcurrido un mes del comienzo
del Diseo de los Procesos se comenzasen a codificar aquellos procesos
que se puedan dar por buenos, aunque esto pueda suponer un mayor
esfuerzo como consecuencia de posibles modificaciones a realizar por no
100

PROGRAMACIN TEMPORAL DE PROYECTOS

habernos esperado a que estuviera diseado todo el sistema.


Por otra parte tambin podemos reducir la duracin del camino crtico,
actuando exclusivamente sobre una de sus tareas. A modo de ejemplo
estudiar lo que ocurrira si redujramos la duracin de la tarea A, del ejemplo
anterior, a un mes. Como se ve en este caso cualquier reduccin de la tarea
se propaga a todo el proyecto. Por otra parte si redujramos la duracin de
la tarea F, Codificacin, de dos meses a uno, slo obtendramos una
reduccin de la duracin del proyecto de medio mes, haciendo que adems
cambiase el camino crtico.
Los factores que ms pueden influir en la duracin de una tarea y por
tanto del proyecto, si se trata de una tarea del camino crtico, los podemos
clasificar en tres grandes grupos:

Modificar las tcnicas y herramientas en las que se basa la duracin de


la tarea o su propia existencia.

Si existe un software que puede dar soporte a una tarea o


conjunto de tareas que por su precio no ha parecido oportuno
considerarlo, a la vista de los costes de oportunidad del cliente
puede resultar atractivo el utilizarlo, reduciendo as los plazos
del proyecto (tener en cuenta la curva de aprendizaje).

Otra situacin sera la existencia de tareas de formacin sobre


un nuevo sistema de gestin de Bases de Datos, del que
realmente no era obligatoria su utilizacin. As que podramos
optar por otro conocido, si el cliente no tiene preferencias,
eliminando las tareas de formacin.

Modificar la productividad y calidad del recurso trabajo asociado a


una tarea. Aunque sea parcial, Sackman en un estudio sobre, la
diferencia de productividad entre los programadores detecta una
oscilacin de 1 a 25. Tanto Tom DeMarco, como M. Page-Jones
comentan el artculo y dan su punto de vista, dejando claro que
relaciones de uno a tres son muy usuales dentro de una misma
organizacin.
101

PLANIFICACIN DE PROYECTOS INFORMATICOS

Modificar la cantidad del recurso trabajo asociado a una tarea.


Podemos planificar el desarrollo suponiendo que los
desarrolladores realizarn horas extra. Esto en principio puede
suponer un coste adicional o no. Page-Jones recomienda hacer
uso de las horas extra slo en casos muy puntuales y como
consecuencia de una desviacin en la programacin, durante el
desarrollo. Parece poco razonable pensar en este recurso en la
fase de planificacin.

Podemos asignar ms personas al proyecto, de modo que en


las tareas crticas se puedan incluir ms personas. Hay que
tener en cuenta dos cosas que remarca Brooks en su libro el
mtico hombre-mes:

Los diferentes tipos de tareas que hay, en funcin de la


cantidad de personas que asignemos (captulo 4).

El aadir ms personal a un proyecto en marcha puede


retrasar la finalizacin del proyecto. Esto en principio
se debe a que el personal que no se ha involucrado
desde el principio debe ser formado, lo que puede
suponer un coste en tiempo considerable para las
personas ms productivas, porque ya saben de que va
el proyecto, teniendo que dejar sus tareas para aclarar
las dudas de los nuevos.

Como ejemplo de lo anterior reducir la duracin del proyecto que hemos


visto al comienzo del tema. Se ha de tener en cuenta que podremos disponer
de un Analista y dos programadores ms durante la duracin del proyecto.
Dado que estos profesionales son contratados externos y con un coste
superior a los ya asignados, slo se debern asignar en aquellas situaciones
en las que realmente aporten un beneficio al proyecto.

8. Bibliografa.
1. de Cos Castillo, M. Teora general del proyecto. Editorial Sintesis.1995.
102

PROGRAMACIN TEMPORAL DE PROYECTOS

2. Cotterell, M, Hughes,B. Software project management. ITP (Thomson


Publishing Inc.) 1995.
3. Lock, D. Gestin de proyectos. Paraninfo, 1990.
4. Microsoft Press. Microsoft Project para windows 95 paso a paso.
McGraw-Hill 1995.
5. Page-Jones, M. Practical Projec Management. Dorset House, 1985.
6. DeMarco, Tom, Lister, Peopleware. Dorset House, 1987.

103

También podría gustarte