The GANTT Procedure

Example 8.11 Comparing Progress Against a Baseline Schedule

Suppose that the widget manufacturing project is currently in progress and you want to measure its performance by comparing it with a baseline schedule. For example, the baseline schedule may be the originally planned schedule, a target schedule that you would like to achieve, or an existing schedule that you intend to improve on. The data for this example come from Example 4.13, which was used to illustrate the options available in PROC CPM. Prior to the beginning of the project, the predicted early schedule is saved by PROC CPM as the baseline schedule. Progress information for the project as of December 19, 2003, is saved in the ACTUAL data set. The variables SDATE and FDATE represent the actual start and actual finish times, respectively. The variables PCTC and RDUR represent the percent of work completed and the remaining days of work for each activity, respectively. PROC CPM is then invoked using the baseline and project progress information with TIMENOW set to December 19, 2003. The scheduling is carried out with the AUTOPUPDT option in order to automatically update progress information. The Schedule data set WIDGUPDT produced by PROC CPM is shown in Output 8.11.1. Notice that the development of a marketing strategy (activity 5: 'Mkt. Strategy') and the building of the prototype (activity 6: 'Prototype') have a specified value for A_START and a missing value for A_FINISH, indicating that they are currently in progress at TIMENOW.

PROC GANTT is next invoked with the data set WIDGUPDT. This data set contains the actual schedule variables A_START and A_FINISH and the baseline schedule variables B_START and B_FINISH. The Gantt chart is drawn with three schedule bars per activity. The first bar represents the predicted early/late schedule based on the actual data specified, the second bar represents the actual schedule, and the third bar represents the baseline schedule. The TIMENOW= option is specified in the CHART statement to draw a timenow line on December 19, 2003. Actual schedule bars for 'Mkt. Strategy' and 'Prototype' are drawn up to TIMENOW to indicate that they are currently in progress. You can use the CTNOW=, LTNOW=, and WTNOW= options to change the color, style, and width of the timenow line, respectively. To suppress the timenow label displayed at the bottom of the axis, specify the NOTNLABEL in the CHART statement.

title h=1.2 'Gantt Example 11';
* estimate schedule based on actual data;
proc cpm data=widgact holidata=holidays
         out=widgupdt date='1dec03'd;
   activity task;
   succ     succ1 succ2 succ3;
   duration days;
   holiday  holiday / holifin=(holifin);
   baseline / compare=early;
   actual / as=sdate af=fdate timenow='19dec03'd
            remdur=rdur pctcomp=pctc
            autoupdt;
   run;

* sort the data;
proc sort; 
   by e_start;
   run;

* print the data;  
title2 'Progress Data';

proc print;
   var task e_: l_: a_start a_finish b_: ;
   run;
title2 'Comparing Project Progress against a Baseline Schedule';

* plot the actual and baseline schedules using proc gantt;
proc gantt data=widgupdt holidata=holidays;
   chart / holiday=(holiday) holifin=(holifin)
           timenow='19dec03'd dur=days
           scale=2 height=1.6 
           pcompress;
   id task;
   run;

Output 8.11.1: Schedule Data Set WIDGUPDT

Gantt Example 11
Progress Data

Obs task E_START E_FINISH L_START L_FINISH A_START A_FINISH B_START B_FINISH
1 Approve Plan 01DEC03 05DEC03 01DEC03 05DEC03 01DEC03 05DEC03 01DEC03 05DEC03
2 Study Market 05DEC03 09DEC03 05DEC03 09DEC03 05DEC03 09DEC03 06DEC03 10DEC03
3 Drawings 06DEC03 16DEC03 06DEC03 16DEC03 06DEC03 16DEC03 06DEC03 15DEC03
4 Write Specs 07DEC03 12DEC03 07DEC03 12DEC03 07DEC03 12DEC03 06DEC03 10DEC03
5 Mkt. Strat. 10DEC03 21DEC03 10DEC03 21DEC03 10DEC03 . 11DEC03 20DEC03
6 Prototype 17DEC03 04JAN04 17DEC03 04JAN04 17DEC03 . 16DEC03 03JAN04
7 Materials 05JAN04 14JAN04 05JAN04 14JAN04 . . 04JAN04 13JAN04
8 Facility 05JAN04 14JAN04 05JAN04 14JAN04 . . 04JAN04 13JAN04
9 Init. Prod. 15JAN04 24JAN04 15JAN04 24JAN04 . . 14JAN04 23JAN04
10 Evaluate 25JAN04 03FEB04 30JAN04 08FEB04 . . 24JAN04 02FEB04
11 Test Market 25JAN04 08FEB04 25JAN04 08FEB04 . . 24JAN04 07FEB04
12 Marketing 25JAN04 25JAN04 14FEB04 14FEB04 . . 24JAN04 24JAN04
13 Changes 09FEB04 13FEB04 09FEB04 13FEB04 . . 08FEB04 12FEB04
14 Production 14FEB04 14FEB04 14FEB04 14FEB04 . . 13FEB04 13FEB04


Output 8.11.2: Comparing Project Progress Against a Baseline Schedule

Comparing Project Progress Against a Baseline Schedule