Tuesday, July 25, 2006

Critical chain - part 1

Started reading Critical Chain book again --- it deals with the interesting subject of "throughput" - "identifying the critical chain of the project" etc etc - More on the book on later blogs..

I always had troubles in laying out the schedule of the project in GANTT charts. First of all estimation will be bull shit.. and secondly we dont open that estimation document again in the life time..

While scheduling the project.. we have some counts - like 7 days design, 8 days coding, xx module testing etc etc... we always put some number, some buffers in between and do some scheduling.. finally some how we will complete at some time..

My knowlege on this has not increased much despite 9.5 years in service...

In one of our projects -X( 5ys ago) , we had three modules running parallely.. depending on the code size I put Mod1 implementation - 15 days , Mod2 - 7 days, Mod3 - 13ays. Shameer(sr) was working on Mod 1, Shans on Mod 2 and me on Mod 3. It was in parallel path. Our Manager Riyaz asked me to postpone Mod 2 for 5 days as it does not affect the critical path.. That was the time when i first heard ( may be noticed) the critical path concept.. I was angry, but he wanted to use Shans for another important and urgent task.. he was looking at the "global optimisation" of the group.. But i was less concerned.. i am bothered about only my project.. why should i risk ? i was against the late start of the task, which may put me into trouble later on..! i disagreed. But being a theoretical person, he also disagreed. Finally we reached a consensus in the weekly meeting.. I admitted, we may find problems in the module, and based on his advice put 5 more days in that path for module testing.. so he agreed to retain shans.. although that added more cost to my project in terms of planned man-days..

Finally it came like this - Mod2 was delayed further because of the problems found in design review and that caused slight delay in the project also.. anyway that point i dont want to stress..

This incident came to my mind when i started reading "Critical Chain"..

Another practice which i always liked is - of Gopan. He used to do the full schedule in MSProject for scheduling and always review the estimation with schedule in proposal stage itself.
The reviews will be in different views -
=>Will see if the planned deployment matches estimation,
=>Wll see if the estimated days of each task are planned in schedule etc

These things and thoughts are simple, but we dont practice, do we ?

1 comment:

Anonymous said...

I think, the PERT method which you are talking about, will be successful only in cases, you can accurately estimate the tasks involved. That is not possible in software development. Accurately estimating development effort is impossible in software development especially in system software domain.

I think, software project managers could try using the CPM method where the uncertainty is also taken care of.