
En principio, no existe ninguna razón por la que no debamos fiarnos de los resultados que ofrecen los paquetes de software para el cálculo del camino crítico y las holguras del proyecto. Ni tampoco existe ninguna razón por la que tengamos que hacerlo a mano, ya que nuestra labor no es divertirnos con ello, sino llevar un proyecto. Ahora bien, todo profesional de los proyectos debería haber hecho, al menos, un cálculo a mano en su vida, aunque sólo sea para aprehender los conceptos y mecanismos que hay por detrás, saber sus condiciones de uso y aplicación, y juzgar cuándo y cómo deber ser utilizado. Así que el problema lanzado por nuestro comentarista anónimo es una buena excusa para hacer uno aquí.


El siguiente paso consiste en hallar los tiempos de inicio y finalización tempranos, lo que se conoce como el forward-pass. Para ello comenzamos con la primera actividad de la red, a la que asignamos la bandera de salida, que consiste en adjudicarle el instante cero como tiempo de inicio más temprano. A partir de ahí se calcula su tiempo de finalización más temprano como el de inicio más temprano mas la duración de la tarea. Cuando pasamos de una tarea a su sucesora, el tiempo de inicio más temprano de esta última coincidirá con el de finalización más temprano de su predecesora, sumando o restando el decalaje que lleve la relación de precedencia. Veamos algunos ejemplos:
- La relación lógica entre la t1 y t2 indica que t2 no puede comenzar hasta 5 días antes de que haya finalizado t1. Por tanto, si el tiempo de finalización más temprano de t1 es 15 (ver figura 2), el de inicio más temprano de t2 será 10.
- La relación lógica entre t2 y t4 indica que t4 no puede comenzar antes de que hayan transcurrido 10 días depuse de haber comenzado t2. Por tanto, si el tiempo de inicio más temprano de t2 es 10, el de inicio más temprano de t4 será 20.

Una vez hallados los tiempos de inicio y finalización más tempranos, estamos en disposición de hallar los tiempos de inicio y finalización más tardíos, lo que se conoce como el backward-pass. Es decir, ahora recorremos la red en sentido inverso, hacia atrás. Y para ello, comenzamos con la última actividad de la red, la que tiene la bandera de meta. Obviamente, el tiempo de finalización más tardío del proyecto debe coincidir con el de inicio más tardío, el proyecto debe tener un plazo único. Por lo tanto, el tiempo de finalización más tardío de t10 será 144. Y de ahí, su tiempo de inicio más tardío será igual al de finalización más tardío menos su duración, igual a 114. Cuando pasamos a sus predecesoras, éstas deberán finalizar como muy tarde cuando su sucesora comience como muy tarde. Es decir, el tiempo de finalización más tardío de t7, t8 y t9 será 114. Nuevamente, como en un caso parecido en el paso anterior, esto funciona bien cuando una tarea sólo tiene una sucesora. Cuando tiene más de una sucesora, como el caso de la tarea t6, el cálculo es algo más, sólo algo, complejo. El resultado para t6 se muestra en la figura 3.

Vemos que t6 tiene como sucesoras a t7, t8 y t9, cuyos tiempos de inicio más tardíos son 89, 99 y 96, respectivamente. El tiempo de finalización más tardío de t6 se ha calculado en 94. ¿Cómo sale este número? Bueno, antes que nada es importante remarcar que, si las relaciones lógicas hubieran sido del tipo más común de fin a comienzo sin decalaje, el resultado hubiera sido el menor de todos –es decir, 89- ya que como muy tarde debe finalizar para cuando, como muy tarde, vaya a comenzar la que antes vaya a comenzar de todas sus sucesoras –esto parece un trabalenguas, pero es lo que hay, mil palabras valen menos que una imagen, y en algunos casos incluso menos que la tinta que se emplea en imprimirlas, pobrecito Wittgenstein. Pero en el caso que nos ocupa, las relaciones lógicas son algo más, un poquito más que algo, complejas. Lo que quiero decir es que el cálculo no es directo como en el caso en que hubieran sido del tipo fin a comienzo sin decalaje. Veamos los cálculos:
- Relación t7-t6: es una del tipo comienzo a comienzo con un decalaje de 20 días. Eso quiere decir que t6 debe comenzar como muy tarde 20 días antes del comienzo tardío de t7, esto es en el día 76. Como su duración es de 38 días, su tiempo de finalización más tardío es de 114.
- Relación t8-t6: es una del tipo fin a comienzo con un decalaje de 5 días. Eso quiere decir que t6 debe finalizar como muy tarde 5 días antes del comienzo tardío de t8, esto es el día 94.
- Relación t9-t6: es una del tipo fin a comienzo con un decalaje de -5 días. Eso quiere decir que t6 debe finalizar como muy tarde 5 días después del comienzo tardío de t9, esto es el día 94.

Aquí tenemos:
- Relación t3-t2: es una del tipo fin a comienzo sin decalaje. Eso quiere decir que t2 debe finalizar como muy tarde en el comienzo tardío de t3, esto es el día 30.
- Relación t4-t2: es una del tipo comienzo a comienzo con un decalaje de 10 días. Eso quiere decir que t2 debe comenzar como muy tarde 10 días antes del comienzo tardío de t4, esto es el día 13. Por tanto su tiempo de finalización más tardío será 33.

Una comprobación que podemos hacer de que hay un error, es que el tiempo de inicio más tardío de la primera actividad no coincida con el de inicio más temprano, que deben ser igual a cero. Que coincidan no asegura que no haya algún error, aunque si no coinciden es un indicio claro de que algo está mal.
Ahora, tan sólo nos resta calcular las holguras totales. Recordemos que la holgura total viene dada por la diferencia entre los tiempos tardíos y tempranos, tanto de inicio como de finalización. Así pues, cada tiempo en color rojo de la caja-nodo de tarea menos su respectivo tiempo en color verde, y vecino superior, nos debe dar la holgura -otra forma de testar posibles errores es que ambas restas no coincidan. El resultado se muestra en la figura 6.

Y aquí acaba nuestro Sudoku. Toda esta mascletà fallera que se ha disparado hasta aquí es lo que los paquetes de software hacen en un visto y no visto, tanto para diez tareas como para diez mil. Si a nuestro comentarista anónimo se le estuviera pasando por la cabeza lanzar un Sudoku de estos con diez mil tareas, ni tan siquiera dos órdenes de magnitud menos, con la carne de gallina y los pelos de punta que se me ponen, le rogaría que no lo hiciera, no me gustaría cerrar el blog antes de hora ;-)
Ahora, para finalizar, me gustaría extraer una moraleja de todo esto. Huelga decir que, aunque hacer un cálculo de estos a mano es algo que debería hacerse una vez en la vida, nadie se pone a hacerlo cuando se arrastra por la trinchera bajo la lluvia de cascotes del proyecto. Para eso está el software. Además, a pesar de la multitud de posibilidades que ofrecen los tipos de relaciones lógicas y los decalajes, y que el software lo soporte todo, no hay que complicarse la vida. Cuanto más simple sea la red de actividades, mejor, más intuitiva será y más fácil realizar el seguimiento del proyecto. Cualquier aspecto técnico de estos puede llegar a distraer la atención del objetivo último de un director de proyecto, que es el de alcanzar los objetivos del proyecto que se trae entre manos. Así que ojo con ello. Por otro lado, hay que tener en cuenta la naturaleza determinista del método del camino crítico debido a la unicidad de las estimaciones. Un camino crítico es crítico hasta que deja de ser crítico, y las holguras pueden bailar al ritmo de una tarantella. Los escépticos pueden encontrar más opiniones desmitificadoras aquí, y en sus referencias. Otra cosa es lo que el jefe de proyecto haga en su tiempo libre. Si se ha cansado ya de los Sudokus, las sopas de letras y los crucigramas, puede pasar el rato resolviendo problemas como el que hemos tratado en este anuncio. De hecho ahí va una idea para emprendedores, el FLOATFINDER, que consiste en un puzzle como el de la figura 1 que hay que resolver hasta llegar a la solución de la figura 6.