2014-05-13

MS PROJECT FOR CONSTRUCTION SCHEDULERS

Table of ContentsList of Tables                                ................iiiList of Figures                               ................ivAbstract                                        ................v1. Introduction ................12. MS Project Differences ................23. Tracking a schedule with MS Project ................43.1. Schedule Set-up ................53.2. Setting a Baseline ................83.3. Updating the schedule ................103.3.1. Updating Tasks ................103.3.2. Observing the Status Date ................153.3.2.1. Reschedule Uncompleted Work to Start After ................163.3.2.2. Status Date Calculation Options ................173.4. Comparing Schedules ................223.4.1. Identifying Variances ................223.4.2. Identifying Revisions ................234 Conclusion ................23Bibliography ................25List of TablesTable 1, MSP Calculation Rules ................11List of FiguresFigure 1 Remaining Duration in the Past ................3Figure 2 MSP observes Data Date using constraints ................4Figure 3 Recommended Status Date Selection Setting ................5Figure 4 Schedule Options Tab ................6Figure 5 Calculation Options Tab ................7Figure 6 Set Baseline Screen ................9Figure 7 Sample 10-Day Activity ................11Figure 8 Result of Entering % Complete ................11Figure 9 Result of Adjusting Remaining Duration ................12Figure 10 Update Tasks Form ................12Figure 11 Task Information Form ................13Figure 12 Task Details Form ................13Figure 13 Tracking Table ................14Figure 14 Update Progress Screen ................15Figure 15 Update Date Screen ................16Figure 16 Status Date Screen ................17Figure 17 Sample Schedule with Future Actual Dates ................17Figure 18 Status Date Options ................17Figure 19 Task with incomplete Work in the Past ................19Figure 20 CPM Option to Move Incomplete Work Out of the Past ....19Figure 21 Result of Moving Incomplete Work Out of the Past ...........19Figure 22 Additional CPM Option for Incomplete Work ................19Figure 23 Result of Moving Complete Work to the Status Date .........19Figure 24 Sample Schedule with Complete Work in the Future .........20Figure 25 Future Options ................20Figure 26 Result of moving end of complete work back to status date 20Figure 27 Sample Out of Sequence Progress ................21Figure 28 Retained Logic ................21Figure 29 Effects of Zero Remaining Duration ................21Figure 30 Gantt Chart Wizard ................22AbstractDespite some detractor’s opinions, Microsoft Project (MSP) CPM scheduling software is here tostay as many contracts are now mandating its use. Most people using MSP on constructionprojects find that MSP is fine for planning the work but very difficult to use when maintaining thestatus and forecasting accurate project completion. MSP is also difficult to use when performingdelay analyses. The good news is that you can ‘make’ MSP properly reflect the consequences of anupdate displaying proper Retained Logic. This paper will explain how to best use MSP in place of P6 or other more status-oriented scheduling software.1. IntroductionOver the last two decades Primavera products became the predominant scheduling software of theconstruction industry worldwide. Sadly, nothing lasts forever and many contracts have recentlystarted to specify MS Project (hereinafter referred to as, “MSP”) as the required schedulingsoftware.[1]MSP has its advantages; it costs less than many of its competitors and it is ‘user-friendly’. It is easyto start scheduling activities immediately. MSP easily produces decent default graphics andreports. Another reason for MSP’s popularity is that a majority of US Federal Government PCscome equipped with MSP. It is difficult to justify requesting the authority to purchase anotherscheduling software when you already have one installed on your computer ‘for free’.Most construction contracts for construction projects require periodic schedule updates. Aschedule update is an assessment of the project status and prediction of how and when the projectwill be completed. Proper updating of the work schedule is an integral part of project managementand a critical communication tool between the parties. The schedule update should reflect thecurrent plan to reach project completion and an accurate record of the past performance. Themajor steps in updating a schedule involve:1. Setting a baseline2. Updating the schedule3. Comparing schedule updatesThese steps are common to every software package and considered a regular course of business forconstruction schedulers. MSP has many unique features specifically designed to make using thesoftware simple. However when it comes to updating a schedule using MSP, constructionschedulers often find MSP extremely confusing. This is mainly due to the MSP’s ‘ease of usefeatures’ getting in the way of reflecting the consequences of the current status. It gets even morecomplicated if you ever have to do a forensic delay analysis on a MSP schedule. Cheer up, as all isnot lost. A clear understanding of how MSP calculates a schedule will make it possible to properlyuse MS Project in place of a Primavera product, if needed.This paper documents the complete process of tracking a schedule in MSP as well as the details ofhow to ‘make’ MSP properly handle a typical status update involving out-of-sequence status.2. MS Project DifferencesThere are a few operational differences between MSP and the Primavera products. Because MSP isa Microsoft product, all work is performed in computer memory and you only save any changesmade if you tell the program to perform this operation. With products such as P6, all changes areregistered as soon as you press the Enter key. Because of the computer memory-centric scheme,even in a multi-tasking environment of MSP Server, only one person can view the schedule at atime.MSP calls float values with the term, “Slack” and lists 0 as the value of slack for completedactivities. Finally, MSP only allows for one relationship between any two activities. This preventsusing the Start-to-Start and Finish-to-Finish relationship pairs found in P6 schedules.MSP has unique concepts like Deadlines, and Recurring Tasks. In some cases, familiar schedulingterms work different in MSP. For example “Multiple Critical Paths” in MSP means basically makeopen ends critical. In some areas MSP lacks CPM functionality; for example the designation of alongest path does not exist in MSP. For detailed explanation of MSP features and functionality, abook such as Planning and Scheduling Using Microsoft Office Project 2007 [3] by Paul E. Harris can be consulted.The differences in the internal computational factors are even more significant. It is crucial tounderstand how MSP calculates the schedule before delving into the mechanics of statusing aschedule. Since most construction schedulers are familiar with Primavera, it is easier to compareMSP to Primavera to point out the major differences.Primavera considers every activity in the schedule when computing a CPM, even those that arestatused as complete [2]. Unless overridden by a constraint, all activities without a predecessor arescheduled (with consideration to their calendars) to begin on the current data date (early start) andtheir remaining durations/relationships are used to compute their early finish. This rule even applies to completed activities with a remaining duration of zero. After all CPM calculations are complete, Primavera then goes back to the completed and in-progress activities and overrides the calculated dates with the actual dates. This process allows Primavera to consider the delaying effects of uncompleted work due to out-ofsequence progress under the Retained Logic calculation rule. Consequently, the Primavera DataDate is the starting point and a fundamental piece of information for CPM calculation.In contrast to P6, the default method of calculation for MSP does not require the scheduler to set aStatus Date (Primavera names it Data Date). This is simply, because MSP does not use the StatusDate to calculate the dates in the schedule. Instead MSP starts with the Project Start Date andcalculates the schedule using CPM rules even for the activities with actual dates. If an activity hasactual dates, the calculated CPM dates are ignored and the actual dates are used for calculating thenext activities’ start or finish dates. This is similar (but still different) to the P6 CPM calculationmode, “Actual Dates.”As shown in Figure 1 below, this process creates a potential for inherently flawed schedules withremaining durations in the past or actual dates in the future. Both P6 and MSP suffer from allowingactual dates in the future. P6 and MSP differ from how they handle incomplete work in the past.Common sense and CPM rules require that activities with remaining duration scheduled in the pastmust be ‘moved’ into the future. It defies logic to say “We will complete this work last month”.Figure 1 – Remaining Duration in the PastEven though MSP is not designed to calculate the schedule from the Status Date, there are optionsettings available in MSP to simulate CPM calculations based upon a Data Date. This somewhatcomplicated process involves the use of built-in routines that add activity constraints and adjustssome internal dates.For MSP to simulate the effects of a Data Date, all unstarted tasks are given a Start-no-earlier-thanconstraint date equal to the status date and all started but incomplete tasks have their ResumeDate set to the Status Date. This method delays the incomplete and unstarted tasks to the StatusDate. During this process, tasks with constraints lose their previously set constraints and tasks thatnever had a constraint before now get a constraint. This is not desirable, but unfortunately it is theonly way that MSP observes the Data Date. Figure 2 below displays, the constraints assigned byMSP to observe the Data Date.Figure 2 – MSP observes Data Date using constraints3. Tracking a schedule with MS ProjectThe complete process of tracking a schedule involves setting a baseline, updating schedule statusand comparing the updates to the baseline or previous updates. For brevity, this paper assumesthat the reader is familiar with MSP user interface as well as its basic functionality and deals mainlywith general steps that an experienced construction scheduler would understand or expect.Therefore starting with the schedule set up, we will cover setting a baseline, updating the scheduleand comparing the update to the baseline without detailed step by step instructions.
3.1. Schedule Set-upBefore explaining the details of schedule update process, it is crucial that the correct options areselected and relevant points in time are displayed. MSP was designed to not rely on the Data Date.There is Status Date which deceptively sounds like the Data Date in Primavera, but it is not thesame. Instead MSP relies on the Project Start date for calculation.There is also a MSP Current Date which is the date of the computer when the file is open. If thereis no Status Date set then the Current Date is used for calculating earned value. Neither CurrentDate nor the Status Date is used for calculating schedule dates and neither has any schedulingsignificance. Neither of these dates is shown on the Gantt chart by default unless the user addsthem to the view. To reduce confusion, it is recommended that the Status Date line be displayed inthe Gantt views and Current date should not be displayed.Figure 3 shows the recommended selection setting.It is difficult and confusing to implement changes to the CPM calculation modes after an activity isadded. To prevent errors and confusion, we strongly recommend that you configure your MSPschedule before adding the first activity. The recommended set-up steps are as follows,Under the Tools / Options / Schedule Tab. Figure 4 shows this tab.Figure 4 – Schedule Options TabSplit in-progress tasks: [Checked] This option allows rescheduling of remaining duration and workwhen an in-progress task is running longer than originally planned.Tasks will always honor their constraint dates: [Unchecked] This option tells MSP to schedule tasksaccording to their constraint dates, regardless of logic. Clear the check box to specify that taskconstraint dates with negative slack (float) move according to their relationships with other tasksrather than be solely scheduled according to their constraint dates.Under the Tools / Options / Calculation Tab. Figure 5 shows this tab.Figure 5 – Calculation Options TabUpdating task status updates resource status: [Checked] This option insures that task resourcestatus does not override update status.Move the end of completed parts back to status date: [Unchecked] This option prevents actualdates later than the Status Date (in the future.) It also changes Actual Dates without user input.This is dangerous to do. ‘Bad’ Actual dates should be flagged, but not automatically changed. P6allows actual dates in the future but does note these as warnings in the Schedule Log produced.and move start of remaining parts before the status date forward to status date: [Unchecked]This option ‘recovers’ dangling work left over after moving completed parts back to the status date.This step is unnecessary, as the remaining work will be scheduled after the Status Date.Move the start of remaining parts before the status date forward to the status date: [Checked]This option prevents uncompleted work from being scheduled before the Status Date (in the past.)and move end of completed parts forward to status date: [Unchecked] This option will movecomplete parts of split tasks to the status date and will assign new actual dates.3. Because we are going to be splitting tasks, any tasks created must not be assigned Task DurationType of, “Fixed Duration.”These options may NOT be turned on and off to recalculate all tasks. The options only work on newtasks when they are added to a schedule or when a task is updated by changing the % Complete.This is why we address these settings before you begin adding activities to your MSP schedule.3.2. Setting a BaselineEstablishing a baseline is the first step in monitoring your schedule. The term, “Baseline” can beconfusing here as MSP (and P6) uses this word to mean something slightly different than from itsuniversal use in the construction industry.The construction industry labels a schedule as a Baseline Schedule if it is the first approved,complete schedule on the project. This type of Baseline typically does not have any statusrecorded against it. MSP and P6 calls a baseline schedule any copy of the schedule that is stored‘internally’ in another schedule. This type of baseline is used for comparison purposes. In thispaper, we will call the initial construction schedule a Baseline Schedule (using capitol letters) andthe MSP schedule copy, a baseline schedule (with lower case letters.)When a baseline schedule is made, MSP copies Early Start and Early Finish dates to the baselineStart and Finish Date fields. Original Duration gets copied to baseline Duration. Each Task’s Costsand Work is copied to baseline Costs and Work fields. Nothing else is saved in a baseline schedule.See Figure 6, Set Baseline Screen.MSP treats the baseline as a snapshot of your schedule at the time that you created the baseline.MSP does not store logic, float or constraints for the baseline and as a result, can not recalculateany of the stored information. P6 users familiar with baselines will assume that they can convert(or ‘unattach’) a baseline schedule back into a fully functional schedule. This is not the case withMSP. Due to the fact that MSP baseline schedules do not store complete activity and logicinformation, creating a MSP baseline is a ‘one-way’ process.Baseline information can also be edited manually. Since baseline fields are editable by Users andwill not be recalculated by MSP, users should be cautious if they decide to change any of thebaseline information manually. The fact that it is all together too easy to accidently change thisinformation makes relying on the variance information more risky than with the typicalTarget/Update procedure used with P3.MSP allows for a maximum of 11 baselines. This is barely enough baseline storage for a 12-monthproject without any Change Orders or Time Impact Analyses baselines. Users are stronglyencouraged to keep separate monthly backups in order to maintain and be able to prove paststatus integrity.There is also another MSP feature called, “Interim Plan” which has similar functionality as thecreation of baselines. This feature stores less information than a baseline. The Interim Planfunction only stores the Early Start and Early Finish dates of tasks and not durations, costs, or work.An interim plan can be compared against a baseline plan or current plan to monitor projectprogress or slippage. MSP allows up to 10 Interim Plans.MSP allows Summary Tasks to be added, deleted, and moved around. If a task is added, deleted, ormoved after the baseline is set, the baseline dates for Summary Tasks become invalid. MSP has afeature called Roll Up baselines that would reset the baseline dates for Summary Tasks.Another important issue with the baseline is that the Late Start and Late Finish dates are notstored. All variance measurements are assessed from the early dates. Available floatconsiderations are not taken into account and are not part of the baseline history.3.3. Updating the schedule3.3.1. Updating TasksThe first step in updating the MSP schedule is to understand how durations are calculated. Taskdurations are comprised of four important pieces of information:1. Duration (which is equal to Actual + Remaining Duration)2. Actual Duration3. Remaining Duration4. % Complete (which is equal to Actual Duration / Duration)The calculation of MSP Actual and Remaining durations is confusing to many schedulers, especially for those who are used to Primavera products. First in Primavera, actual duration is calculated based the activity’s actual date and the Data Date (or Actual Finish date if it exists) whereas in MSP, the Status Date is not used in calculating actual durations.Another reason for confusion is because MSP automatically links Duration, Actual Duration,Remaining Duration and % Complete without an option to remove the link. Only any two of theseare independent, and the rest are calculated using the formulas listed above.The scheduler needs to understand how these four pieces of information are calculated in MSP.Table 1 below summarizes the interaction between these 4 duration-related task properties.Table 1 – MSP Calculation RulesTo illustrate how each of these fields is calculated, let’s review a simple activity with 10-dayduration as shown in Figure 7.Figure 7 – Sample 10-Day ActivityEntering 20% complete will automatically assign an Actual Start date and calculate the ActualDuration and Remaining Duration. Actual Start will be set equal to the Start date (for unstartedtasks, MSP Start date field equals to early start date) of the Task as shown in Figure 8.Figure 8 – Result of Entering % Complete Actual duration will be 2 days, which is 20% of the Duration. Remaining Duration will be 8 days which is Duration minus Actual Duration. If we further adjust remaining duration to 10 days, the Duration will become 12 days as shown in Figure 9. This is 10 days remaining plus 2 Days actual. % Complete will be 17%, which is Actual Duration divided by Duration.Figure 9MSP provides 4 different ways to enter actual data for each Task.1) Using the Update Tasks Form as shown in Figure 10 is one way of entering actual data for eachtask. This method is the least preferred method because the form has to be closed after updatingeach task and opened again after selecting the next Task. This makes it very cumbersome toupdate large numbers of tasks.MSP allows you to use this function to update multiple tasks at once but the limitation is that MSPassigns the same value to all. Therefore unless all Tasks have the same update information, thisfunction is not useful.2) Another available update method is using the Task Information form as shown in Figure 11. Thisis also a cumbersome way of updating because the form has to be closed after each update andopened again after selecting the next Task.Figure 11 – Task Information Form3) Using the Task Details Form to update the schedule is a less cumbersome method compared theprevious 2 methods listed above. Task Details (as shown in Figure 12) can be opened by draggingthe divider line and selecting Task Details Form from View, More Views. If a Finish date is enteredwithout task being 100% complete, MSP will automatically add a Finish Constraint to the Task. Forthis reason, this third option is also not recommended.Figure 12 – Task Details Form4) The easiest and most efficient method to enter activity actual date status is by using the TrackingTable in the Gantt Chart or creating your own table as shown in Figure 13. It is recommended thatthe following fields are shown on this custom table.Figure 13 – Tracking TableOnce the detail tasks are updated, the summary tasks inherit status data from their detail tasks.Actual start is assigned to the Summary task when a detail task has been given an actual start andsimilarly Actual Finish is assigned when all detail tasks have been assigned actual dates. ASummary Task’s % Complete is calculated by dividing the sum of all Detail Tasks Actual Durations by the sum of all Detail tasks Durations.MSP has a somewhat unusual feature that allows the scheduler to manually update SummaryTasks. It is unlikely that this feature will be used by construction schedulers. The reason that wesay this is that a manual update of a Summary Task affects all the detail tasks below it. If a %Complete is entered at the Summary level, MSP assigns values for Actual Duration, % Complete,Actual Start and Actual Finish all the children tasks (Summary or Detail). Calculation of thesevalues differs based on the “Updating Task Status Updates Resource Status” setting. If “UpdatingTask Status Updates Resource Status” is checked, the tasks are statused as if they were completedper plan. If not checked, then all of the children tasks get the same % Complete value of theSummary task. This is obviously a dangerous procedure to employ if the accuracy of individualactivity status is desired.MSP has a feature called Update Progress which will automatically update the activity as if itprogressed as planned. This feature automatically sets the Actual Start, Actual Finish, % Completeand Remaining Durations. There are 2 options available under this feature as shown in Figure 14.Figure 14 – Update Progress ScreenSet 0% -100% Complete - Selecting this option will set Actual date to Early Start. Actual Durationand % Complete will calculated based on the date entered in “Update Work As Complete Through”.date is later than Finish date of the Task. Selecting this option will not reset the Status Date.Either of these options can be applied to the selected Tasks or for all Tasks in the schedule.Scheduler must be careful using this feature for various reasons. First, if Set 0% or 100% Completeoption is selected, the “Update Work As Complete Through” date and the Status Date might notmatch. To make things worse, remaining durations will not move to any of these two dates,resulting in remaining durations scheduled to be complete in the past. Similarly, if this feature isapplied only to ‘Selected Tasks’ then there is a possibility that there will be unstarted activities inthe past. Set 0% -100% Complete would produce reliable results only if everything is going perplan. Therefore this feature is very limited in its use and not recommended.3.3.2. Observing the Status DateAs explained above, MSP was not designed to calculate estimated schedule dates using the StatusDate. Forcing MSP to observe the Status Date is very complicated process that requiresunderstanding the calculation options in conjunction with using the “Reschedule UncompletedWork” on the Update Project form.3.3.2.1. Reschedule Uncompleted Work to Start AfterTo properly update a schedule first we need to understand “Reschedule Uncompleted Work toStart After” feature available on the Project Update form shown in Figure 15.Figure 15 – Update Date ScreeenFor this feature to work properly, ‘Split in Progress Tasks’ must be selected under the Tools,Options Schedule tab.When this feature is used, MSP will go through each unstarted task and will assign a Start-No-Earlier-than-Constraint equal to the Update Project Status date. Understand that MSP only allowsone early constraint per task. Because of this, if any of those unstarted tasks had a differentconstraint, the existing constraint will be deleted in favor of adding the new CPM constraint. Tasksthat are in progress will have their Resume Date set to the Update Project date.Another disadvantage to this process surfaces if one is required to destatus the project. To do so,the scheduler has to review each activity and remove the constraints and adjust the task splitsmanually. This makes it very difficult and time-consuming for analysts to perform schedule what-ifanalyses.In addition, MSP does not change the Status Date to the date specified in the Update Projectfeature (Figure 15.) This often results in confusion as the date specified in Update Project screen(Figure 16) is not displayed on the Gantt chart and might end up being a different date than theone that is displayed. To avoid confusion and to display a correct Status Date on Gantt view, theFigure 16Scheduler should set the Status Date same as the date specified during Project Update function asshown in Figure 15.Coordinating the date between the two screens only solves half of the problem because it movesin-progress activities after the Status Date. As shown below in Figure 17,there still can be tasks in the future with actual dates. Unlike with P6, there is no automatic notice in the CPM computations report.3.3.2.2. Status Date Calculation OptionsMSP 2002 [4] and later versions have four CPM Options to force MSP to observe the Status Date. A combination of options under the Calculation tab is shown in Figure 18.These options move tasks around the Status Date, change assign actual dates to automaticallyprevent incomplete work in the past, and complete work in the future. These options based ontheir titles seem self-explanatory but have unexpected consequences for the unwary scheduler.First of all for these options to function properly one must ensure that:• Split in Progress Tasks option must be selected,• Desired options must be selected before tasks are added,• Updating Task Status updates resource status option must be checked,• Task Duration type must be something other than Fixed Duration.These functions are limited because:• The options only work on new tasks.• The options only work if tasks are updated using % Complete. If the task has 0% progress,these options will not apply therefore unstarted tasks in the past will remain in the past unless thescheduler runs project update form “Reschedule Uncompleted Work to Start After” feature• Changing the options will not recalculate the CPM to display the effects of that change.• If a Status date is not defined, MSP will use the Current Date without warning the user.Tasks only reflect the CPM options if the tasks are updated by using % Complete. Changes to task remaining duration will be reflected in the schedule, but not the effects of the changed option rules. Therefore if tasks are updated by using anything other than % Complete, these functions are not implemented, even if later set. This method of update is problematic as AACE Recommended Practice 53R-06 [5], recommends updating an activity’s status by indicating the new remaining duration estimate rather than indicating a new % Complete. Preventing Incomplete Work in the PastLogic tells us that you should not display planned work prior to the Data Date. This inconsistency instatus ‘hides’ work that must still be completed, ignores required resources, and disrupts thecorrect calculation of planned dates for future work.To illustrate how these options work, let’s look at a simple schedule shown below in Figure 19To prevent incomplete work in the past options shown in Figure 20 should be selected.With these options selected, entering a % Complete value would assign an Actual start and moveremaining part of the task after the Status Date as shown in Figure 21.If the following option as shown in Figure 22 is checkedin addition to the one described above.The task split will be removed, actual start date will be changed, and the complete portion of thetask will be moved to the Status Date as shown in Figure 23.Figure 23This option will override any previously assigned actual dates; therefore it is recommended that itremains unchecked. Assigned actual dates should never be automatically deleted.Preventing Complete Work in the FutureTo illustrate how these options work, let’s look at a simple schedule shown below in Figure 24.<img border="0" height="26" src="http://4.bp.blogspot.com/-2b5beN8DDyc/Ugc6bvTkvaI/AAAAAAAAAQU/64L3txPk_CU/s400/24.png" style="-webkit-box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 0px; background-color: transparent; background-position: initial initial; background-repeat: initial initial; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; border: 1px solid transparent; box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 0px; padding: 8p

Show more