You are on page 1of 14

7.

PROGRAMACIN TEMPORAL DE PROYECTOS


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 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.

89

PLANIFICACIN DE PROYECTOS INFORMATICOS

TAREAS Especificar Necesidades Diseo Programas Diseo Base de Datos Realizacin Esquema Codificacin Programas Pruebas 0 2 4 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 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.
Especificar Necesidades

3.1. ETAPA 1.
Diseo Base de Datos Diseo Programas Realizacin esquemas Codificacin Programas

Identificar tareas. Se utilizar

90
Desarrollo Contabilidad

Diseo Aplicacin

Codificacin

Pruebas

figura 2

PROGRAMACIN TEMPORAL DE PROYECTOS

las tcnicas vistas en el captulo 3 para la identificacin de tareas. Como ejemplo podemos usar el mostrado en la 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. 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?
Actividad: Diseo Programas

Recursos: 1 Programador Duracin: 3 semanas

figura 3

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.

91

PLANIFICACIN DE PROYECTOS INFORMATICOS

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 92

PROGRAMACIN TEMPORAL DE PROYECTOS

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 una caja similar a la vista en el punto anterior con casi todos los campos 93

PLANIFICACIN DE PROYECTOS INFORMATICOS

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 4) Se obtiene la fecha de finalizacin de proyecto ms tarda. Esta puede 94

PROGRAMACIN TEMPORAL DE PROYECTOS

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. 95

PLANIFICACIN DE PROYECTOS INFORMATICOS

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 A B C D E F G H I J Descripcin Anlisis de Requerimientos Diseo de la Base de Datos Diseo de los Procesos Construccin del Prototipo Desarrollo del Esquema Codificacin Revisin Usuario del Prototipo Revisin del Cdigo con Mejoras Solicitadas Pruebas Instalacin Sistema Esfuerzo 3 meses 1 mes 4 meses 1 mes 0,5 meses 8 meses 0,5 meses 2 meses 2 meses 1 mes Tipo Brooks 1 2 1 2 1 1 2 1 1 1 Recursos 2 Analistas 1 Analista 2 Analistas 1 Programador 1 Analista 4 Programadores 1 Analista 2 Programadores 2 Programadores 2 Programadores Sigu e a: A A C, E B C, E D F, G H I

96

PROGRAMACIN TEMPORAL DE PROYECTOS

Mantenimiento Inicial

2 meses

1 Programador

SOLUCIN: Diagrama de precedencias:


B 1,5 2 1,5
Diseo B.D

A 0 0 1,5

Anlisis

1,5 1,5 1,5 0

1 2,5 3 0,5

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

D 3,5 4 1,5

Construc Prototipo

1 4,5 5 0,5

G 4,5 5 1

Revisin Prototipo

0,5 5 5,5 0,5

C 1,5 1,5 2

Diseo Progrm.

2 3,5 3,5 0

F 3,5 3,5 2

Codifica.

2 5,5 5,5 0

H 5,5 5,5 1

Revisin Cdigo

1 6,5 6,5 0

I 6,5 6,5 1

Pruebas

1 7,5 7,5 0

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 B C D E F G H I J K 1 2 3 4 5 6 7 8 9 10 1A 4P 1A 2P 2P 2P 2 1A 2A 1P

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.


97

PLANIFICACIN DE PROYECTOS INFORMATICOS

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 98

PROGRAMACIN TEMPORAL DE PROYECTOS

personas que se 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 99

PLANIFICACIN DE PROYECTOS INFORMATICOS

esfuerzo como consecuencia de posibles modificaciones a realizar por no 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 100

PROGRAMACIN TEMPORAL DE PROYECTOS

organizacin. tarea. Modificar la cantidad del recurso trabajo asociado a una 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.

101

PLANIFICACIN DE PROYECTOS INFORMATICOS

8. Bibliografa.
1. de Cos Castillo, M. Teora general del proyecto. Editorial Sintesis.1995. 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.

102

You might also like