Critical Path Analysis in Practice by Gail Thornley