by Pat Weaver
The way CPM (critical path method) schedules were calculated in the 1970s and 80s (prior to the availability of low-cost PC scheduling tools) used a simplification designed to minimise error and speed up a tedious task.
Whilst some of us are old enough to have used this ‘manual’ technique on real schedules, everyone in the modern world recognises Day #1 = Wednesday 1st October and a 3 day duration activity will work on Wednesday, Thursday and Friday to finish on the 3rd October and the fact 1 + 3 = 4 is simply an anomaly in the way integers and ‘elapsed time’ interact that has to be dealt with inside the computers computations to produce accurate date based bar charts and tabulations.
Unfortunately there has been a rash of postings on linked-in over the last week totally confusing everyone with their nonsense about CPM calculations. This blog is designed to correct the message!
To overcome the problem of a 3 day activity starting on the 1st October finishing on the 3rd October, but staring on day 1 and adding a duration of 3 gives you 1 + 3 = 4, the simplified manual calculations assumed the starting point was ‘day zero’ 0 + 3 = 3!
However, the old manual calculations starting from day zero have never been correct – the start day number for every activity in a schedule is always the day before it actually starts. The end dates (day numbers / dates) are correct and the advantage of this option is it only requires one simple calculation per task for both the forward and backward passes and the free float calculations are a simple subtraction.
EF = ES + Duration
LS = LF – Duration …. Easy!!
This simplistic methodology was absolutely essential for manually calculating large PDM (precedence diagram method) schedules. The ‘normal’ scheduling practice through to the mid 1980s when affordable PCs arrived – very few companies could afford the expense of mainframe scheduling tools and those that did wanted to make sure the data was correct before the computer run.
The accurate calculation used in all scheduling software, recognises that a 3 day activity starts at the beginning of day 1 and works on days 1, 2 and 3 to finish at the end of day 3 and its successor (assuming a FS0 link) starts at the beginning of day 4. Unfortunately these ‘real’ calculations require much more complex calculations.
ES = 1, EF = (1 + 3) – 1 to get to the end of day 3.
The zero duration link requires (EF 3 + 0) + 1 = the next activity ES is the start of day 4.
This approach more than doubles the amount of calculation effort and increases the opportunity for error and of course affects free float calculations as well.
Fortunately computer software is not prone to making calculation errors and runs these more complex sums 100% accurately to calculate the date activities start and end accurately when transposed onto a calendar. For more on the actual calculations see the article on basic CPM calculations.
Given no one has used manual calculations to determine a major schedule in the last 20 years (at least) the old simplistic manual approach is redundant and should be consigned to my area of interest, the history of project scheduling.