Tuesday, September 15, 2009

GanttProject 2.0.10: create rubber dependencies by default

A small new feature in GanttProject 2.0.10 is an option to set rubber dependencies by default. It sits in "Link" group of Gantt chart settings.

Just in case if you didn't know what rubber dependencies are: when two tasks are linked with, say, Finish-Start dependency, then you have two options of how moving a predecessor task affects a successor task:
  • If your dependency is Strong then successor's start date will always be the same as predecessor's end date, provided that there are no other constraints. When you move the predecessor, no matter backward or forward, the successor will also move in the same direction. You may think that your tasks are linked with a metal pipe.
  • If you have a Rubber dependency then the successor will not move unless it really has to. In particular, it will not move backward in the time if predecessor moves backwards. You may think that this link is a rubber band.
Dependency hardness can be changed in dependency properties (tab "Dependencies" of a successor task properties). GanttProject created strong dependencies by default and many people who preferred rubber links didn't like changing properties of every new one. Now it can be configured just once.