27
MS Project Hacks Selected posts from The Practicing IT Project Manager blog By David A. Gordon

MS Project Hacks - The Practicing IT Project Managerblog.practicingitpm.com/download/ms-project-hacks/MS-Project-Hacks.pdf · Many project managers use Microsoft Project to make plans,

  • Upload
    others

  • View
    31

  • Download
    0

Embed Size (px)

Citation preview

Page 1: MS Project Hacks - The Practicing IT Project Managerblog.practicingitpm.com/download/ms-project-hacks/MS-Project-Hacks.pdf · Many project managers use Microsoft Project to make plans,

MS Project Hacks

Selected posts from The Practicing IT Project Manager blog

By David A. Gordon

Page 2: MS Project Hacks - The Practicing IT Project Managerblog.practicingitpm.com/download/ms-project-hacks/MS-Project-Hacks.pdf · Many project managers use Microsoft Project to make plans,

The Practicing IT Project Manager e-Press

MS Project Hacks: Selected posts from The Practicing IT Project Manager Blog

David A. Gordon

Text and images copyright © 2014 by David A. Gordon

All Rights Reserved. This book was self-published by the author, David A. Gordon under The

Practicing IT Project Manager LLC. No part of this book may be reproduced in any form by any

means without the express permission of the author. This includes reprints, excerpts,

photocopying, recording, or any future means of reproducing text.

If you would like to do any of the above, please seek permission first by contacting me at

[email protected]

Published in the United States by Practicing IT Project Manager LLC

Version 1.0

Page 3: MS Project Hacks - The Practicing IT Project Managerblog.practicingitpm.com/download/ms-project-hacks/MS-Project-Hacks.pdf · Many project managers use Microsoft Project to make plans,

Table of Contents About the Author ............................................................................................................................4

Preface ............................................................................................................................................. 5

1. Add Holidays to the MS Project Calendar .............................................................................. 6

Change Working Time in MS Project ......................................................................................... 6

Commonly Observed National and Religious Holidays 2015 ..................................................... 7

2. Crafting Formulas for Calculated Fields ................................................................................. 8

Parentheses and Brackets .......................................................................................................... 8

Passing Arguments to Functions ............................................................................................... 8

3. Adding a Current Tasks Flag .................................................................................................. 10

Inserting the Flag ...................................................................................................................... 10

Modifications ............................................................................................................................. 11

4. Add a Status Indicator to Detail Tasks .................................................................................. 12

Adding the Stoplight Indicator.................................................................................................. 12

Variation 1 .................................................................................................................................. 15

Variation 2 ................................................................................................................................. 15

Final Thoughts ........................................................................................................................... 16

5. Add a Negative Total Slack Flag ............................................................................................ 17

Finish No Later Than ................................................................................................................ 17

Inserting the Flag ...................................................................................................................... 18

6. Track Qualitative Risk ........................................................................................................... 20

How It Looks ............................................................................................................................ 20

How to Implement It ................................................................................................................. 21

Risk Response Strategies.......................................................................................................... 23

7. Add a Cutover Weekend Calendar ........................................................................................ 24

Creating a Custom Calendar .................................................................................................... 24

Using the Custom Calendar....................................................................................................... 25

Other Variations ....................................................................................................................... 26

8. Additional Resources ............................................................................................................. 27

Page 4: MS Project Hacks - The Practicing IT Project Managerblog.practicingitpm.com/download/ms-project-hacks/MS-Project-Hacks.pdf · Many project managers use Microsoft Project to make plans,

About the Author

Dave Gordon is an experienced portfolio, program, and project manager. Most recently, he has

been managing Software-as-a-Service (SaaS) implementation projects of Workday HCM. Over

the last 30 years, he has worked in nearly every IT discipline, for a variety of organizations. He

has managed software development projects, SaaS, ERP and other packaged software

implementations, and business process outsourcing projects in over twenty states, four

Canadian provinces, Spain, and the UK.

Dave holds a BS in Business and an MS in Information Technology, specializing in Project

Management. He also holds the Project Management Professional (PMP) credential, the Senior

Professional in Human Resources (SPHR) credential, the Global Professional in Human

Resources (GPHR) credential, and the Certified Employee Benefits Specialist (CEBS)

credential.

In his spare time, Dave enjoys wildlife and landscape photography, and plays guitar, mandolin,

and several other musical instruments. Dave and his wife, Lien, an accomplished watercolor

artist, live in Las Vegas, Nevada.

Dave says:

I use Microsoft Project to schedule the tasks in my work breakdown structure. Then I flesh out

the task list with things like external events, define milestones and summary roll-ups, identify

dependencies, and assign resources. During execution, I use it to track progress on completion

of tasks, in support of everything from communicating and managing team activities to status

reporting and change management, to risk management. I use several different views, flag

fields, and filters to highlight the information I want to extract, and then print to a PDF file or

Powerpoint slide for distribution. It’s not perfect, but it’s effective.

Since 2010, I have been blogging about project management at The Practicing IT Project

Manager web site. In response to various requests from readers, colleagues, customers, and

project teams for better ways to manage the information available in Microsoft Project, I

created a number of blog posts over several years. These articles were “how-to” use the

delivered features in Project to accomplish useful tasks, and included screen shots and detailed

instructions. The target audience was experienced project managers, and I received welcome

feedback from several of them. I’ve incorporated that feedback into this e-book.

Thanks to all the folks who’ve stopped by, read my articles, commented on them, and passed

them along. This e-book, and the blog, are for you. Peace be with you.

Page 5: MS Project Hacks - The Practicing IT Project Managerblog.practicingitpm.com/download/ms-project-hacks/MS-Project-Hacks.pdf · Many project managers use Microsoft Project to make plans,

Preface

Many project managers use Microsoft Project to make plans, manage their schedule, track

progress, and otherwise collect and update project information. Typically, the project manager

will need to extract and share this information with people who aren’t project managers, from

their project team to the project sponsor, to other stakeholders. While Microsoft includes a

number of useful reports in Project, it can be useful to organize the information in other ways.

The purpose of this e-book is to provide instructions for using the standard features of

Microsoft Project to do a few useful things. The target audience is project managers. The

chapters originated as blog posts, as noted above, but I’ve updated and fine-tuned them. Along

with this PDF file, there is a Microsoft Project file available for download, including examples

of all of the techniques described here. Here are the chapters:

1. Add Holidays to the MS Project Calendar – Start by accounting for all of your

non-working days. It’s embarrassing when someone points out that a key task is

scheduled to complete on a national holiday.

2. Crafting Formulas for Calculated Fields – You use Excel because you can

calculate values from what is in other cells. Project is useful in the same way.

3. Add a Current Tasks Flag – I originally created this to be able to extract a list of

tasks in progress or about to begin, for review at team meetings. It has since proven to

be incredibly useful.

4. Add a Status Indicator to Detail Tasks – Show a calculated Red / Yellow / Green

indicator on tasks in progress. This is by any measure the most popular article I’ve ever

written.

5. Add a Negative Total Slack Flag – If you have a task with a fixed end date, you

probably need this in order to debug your critical path.

6. Track Qualitative Risk – Most risks are retired during the course of a project. This

approach incorporates elements of your risk register into your schedule.

7. Add a Cutover Weekend Calendar - Is your team performing one or two tasks over

a weekend? Here’s how to represent it in Project without distorting the schedule for

tasks that follow.

8. Additional Resources

After you read the first two chapters, you’ll have the background needed to skip to whatever

other chapters interest you.

Page 6: MS Project Hacks - The Practicing IT Project Managerblog.practicingitpm.com/download/ms-project-hacks/MS-Project-Hacks.pdf · Many project managers use Microsoft Project to make plans,

1. Add Holidays to the MS Project Calendar

As the end of the year approaches, it’s time to look at your project plans that extend into the

coming year. Have you accounted for all of the holidays your project will observe? As I

recently pointed out to another project manager, there aren’t four work weeks in November, or

December. Fortunately, if you’re using Microsoft Project, you can define non-working days, in

order to prevent the embarrassment of a deliverable coming due on Thanksgiving Day. And as

a special bonus, I’m going to include a table with some of the most commonly observed

national and religious holidays you and your global team might need to plan for in 2015.

Change Working Time in MS Project

Navigation depends on which version of project you are using. In Microsoft Project 2007,

under the Tools menu, select Change Working Time. In Project 2010 and later, on the Project

tab, select Change Working Time. You can then enter the holidays under the Exceptions tab.

Note that Exception days appear in the calendar in blue; however, if you have selected one of

the exception dates, as shown in the example below, the date will appear in red. Scheduled

non-working days appear in gray. Note that you can also make an exception of a scheduled

non-working day, so that it appears to be a working day. Use this feature carefully – having

some of the team working over a weekend can easily throw off the scheduled for the entire

team. See Chapter 7 for this special case.

Page 7: MS Project Hacks - The Practicing IT Project Managerblog.practicingitpm.com/download/ms-project-hacks/MS-Project-Hacks.pdf · Many project managers use Microsoft Project to make plans,

Commonly Observed National and Religious Holidays 2015

Holiday Weekday Celebrated New Year’s Day Thursday January 1 Martin Luther King’s Birthday (US) Monday January 19 Republic Day (India) Monday January 26 Chinese / Vietnamese New Year Thursday February 19 President’s Day (US) Monday February 16 Ash Wednesday Wednesday February 18 Beginning of Passover Saturday April 4 Good Friday Friday April 3 Easter Monday (UK) Monday April 6 May Day (China) Friday May 1 Early May Bank Holiday (UK) Monday May 4 Victoria Day (Canada) Monday May 18 Memorial Day (US) Monday May 25 Spring Bank Holiday (UK) Monday May 25 Shauvot Monday May 25 First day of Ramadan Thursday June 18 Canada Day Wednesday July 1 Independence Day (US) Saturday July 4 Independence Day (India) Saturday August 15 Summer Bank Holiday (UK) Monday August 31 Labor Day (US and Canada) Monday September 7 Rosh Hashanah Monday September 14 National Day (China) Thursday October 1 Mahatma Gandhi’s Birthday (India) Friday October 2 Yom Kippur Wednesday September 23 Eid al-Adha / Festival of Sacrifice Thursday September 24 Sukkot Monday September 28 Columbus Day (US) Monday October 12 Thanksgiving (Canada) Monday October 12 Diwali (India) Wednesday November 11 Veteran’s Day (US) / Remembrance Day (Canada) Wednesday November 11 Thanksgiving Day (US) Thursday November 26 Day after Thanksgiving (US) Friday November 27 First day of Chanukah Monday December 7 Christmas Eve Thursday December 24 Christmas Day Friday December 25 Boxing Day (UK, Canada) Saturday December 26

In the next chapter, we’ll look at the basics of using calculated values in the custom fields of

Project.

Page 8: MS Project Hacks - The Practicing IT Project Managerblog.practicingitpm.com/download/ms-project-hacks/MS-Project-Hacks.pdf · Many project managers use Microsoft Project to make plans,

2. Crafting Formulas for Calculated Fields

I’ve published several posts over the last couple of years on using custom fields in MS Project.

I’ve been gratified to see a number of folks adapt them to their specific needs, with

modifications to the calculation formulas and other refinements. But not all project managers

are former programmers, and some folks have had trouble getting their refinements to work

the way they want them to. So I figured I’d share a few tips on crafting your own formulas.

Parentheses and Brackets

Project uses parentheses in formulas to pass arguments to a function, and to group items in a

calculation, much as you would in Algebra. You can “nest” parentheses, meaning you are

allowed to do things like this:

IIf(Finish>Now(), IIf(Start>Now(),1,3),4)

In most programming languages (Lisp is the only exception I can think of), you must have an

equal number of left and right parentheses; otherwise, the program interpreting the formula

won’t understand what you’re trying to tell it. Project will tell you when you try to save a

formula if it doesn’t understand, but its objections tend to be sketchy.

In some applications, single or double quotes support the use of field names that include a

space character; Project uses square brackets. To use Scheduled Start and Finish, you would

write the example above like this:

IIf([Scheduled Finish]>Now(), IIf([Scheduled Start]>Now(),1,3),4)

To help me get things matched up, I use a programmer’s editor that highlights the parenthesis

and its mate when I place my cursor on it. No highlight means there is no mate, so I know to

look for a problem before I paste it into the calculation field in MS Project. Note that brackets

are not nested; they should only appear at the beginning and end of a field name.

Passing Arguments to Functions

A function in a programming language receives zero or more arguments, separated by commas

and enclosed in parentheses, and returns a value of some type, such as a date or numeric value.

Some of these arguments may be optional; check the Function Reference to be sure. In our

example, the Now function doesn’t need arguments, so the list is empty; it merely returns

today’s date. The IIF function, however, has three arguments. The first argument should be an

equation that will evaluate to True or False. If True, it will evaluate whatever is in the second

argument and return the value; if False, it will evaluate and return whatever is in the third

argument. In this case, evaluating could be to return the correct numeric constant, or to return

the value returned by the nested IIF function. Note that the equation needs to compare two

values of the same type; if you want to compare a date value with a text string, you’ll need to

use a conversion function to make them compatible.

Page 9: MS Project Hacks - The Practicing IT Project Managerblog.practicingitpm.com/download/ms-project-hacks/MS-Project-Hacks.pdf · Many project managers use Microsoft Project to make plans,

If you wanted to explain our example to someone, you might say, “If the scheduled finish date

is not after today, return a 4. Otherwise, check to see if the scheduled start date is after today;

if it is, return a 1, and if not, return a 3.”

Arguments are documented for every available function in a programming language. Typically,

the function assumes a default value for a non-specified argument, if it isn’t required. MS

Project requires all three arguments for the IIf function. However, other functions have

different requirements. The Switch and Choose functions, for example, can have as many

arguments as needed. Microsoft’s documentation on the available functions for custom fields

in Project is available here.

I hope this quick introduction is useful to you. If you don’t already use one, Wikipedia has a

high-level comparison of commonly available programmer’s editors. If you have other

questions or want to correct an error, please leave me a comment at the Book page on The

Practicing IT Project Manager blog, where you downloaded this e-Book.

In the next few chapters, we will use these techniques to create custom fields.

Page 10: MS Project Hacks - The Practicing IT Project Managerblog.practicingitpm.com/download/ms-project-hacks/MS-Project-Hacks.pdf · Many project managers use Microsoft Project to make plans,

3. Adding a Current Tasks Flag

If you want to send out a weekly update to your project team, showing which tasks are active

but incomplete, or scheduled to start in the next week, it would help to have a flag that

identifies those tasks for you. Here’s how to add it to your MS Project plan.

Inserting the Flag

Right click on the column where you want to insert the status indicator. Click “Insert Column”

and then select Flag 1. Right click on the newly inserted column and select “Custom Fields.”

From here, you can rename the field (I chose “Act” to keep it brief). Then under custom

attributes, click on the radio button for Formula. You’ll get a warning message; that’s fine,

because you really do want to calculate the values.

Then click on the Formula button, and past in the following:

IIf([Scheduled Start]<ProjDateAdd(Now(),5) And [% Complete]<>100,True,False)

Page 11: MS Project Hacks - The Practicing IT Project Managerblog.practicingitpm.com/download/ms-project-hacks/MS-Project-Hacks.pdf · Many project managers use Microsoft Project to make plans,

Click OK, and then click on the Graphical Indicators button. This is where you choose the flag

to display.

Then click OK. Your project plan should look like this:

On September 30, Task 2 and Task 3 are flagged because they are already started, and Child

Task A is flagged because its start date is within the next week. Note that the calculation uses

the project calendar, so it only uses working days. If you have a holiday coming up, it takes

that into account.

Modifications

The 5 in the formula is the part that specifies five working days. For two weeks, use 10. If you

want to use a different reference point, change Scheduled Start to a different date field.

Page 12: MS Project Hacks - The Practicing IT Project Managerblog.practicingitpm.com/download/ms-project-hacks/MS-Project-Hacks.pdf · Many project managers use Microsoft Project to make plans,

4. Add a Status Indicator to Detail Tasks

While Project includes a Status field, it’s not exactly what I want. I use a numeric field to

calculate the status of tasks in the project plan, and display stoplights – Green, Yellow, and Red

– and found it adds some immediacy to project status meetings. I posted an explanation of

how to create that “stop light” status indicator using calculated fields in MS Project, and it

became the most widely read, referenced, and commented on post I’ve ever made. So, based

on some of those comments and a request from Marlene Robertson, I posted an update. For

this e-Book, I’ve also included variations in response to requests from several other readers.

Here’s what it does:

For zero duration tasks (milestones)

o If % Complete = 100, return Blue

o If the scheduled finish is at least seven days away, return Clear

o Otherwise, if % Complete is < 80, return Red

o If % Complete is between 80 and 99, return Yellow

For non-zero duration tasks

o If % Complete = 100, return Blue

o If it's not scheduled to start yet, return Clear

o If past the scheduled finish date and % Complete is less than 100%, return Red

o If % complete >= the prorated expected completion, return Green

o Otherwise, return Yellow.

That “prorated expected completion” is calculated using the project calendar. If the percent

complete is less than the number of days since the task was scheduled to begin, divided by the

task duration, it will be Yellow; otherwise, it will be Green. Keep this in mind for later, when

we’ll talk about summary tasks.

Adding the Stoplight Indicator

To add this to your project schedule, right click on the column where you want to insert the

status indicator. Click “Insert Column” and then select Number 1. Right click on the newly

inserted column and select “Custom Fields.” From here, you can rename the field (I chose “St”

to keep it brief). Under custom attributes, click on the radio button for Formula. You’ll get a

warning message; that’s fine, because you really do want to calculate the values.

Page 13: MS Project Hacks - The Practicing IT Project Managerblog.practicingitpm.com/download/ms-project-hacks/MS-Project-Hacks.pdf · Many project managers use Microsoft Project to make plans,

Then click on the Formula button, and past in the following formula:

IIf([Scheduled Duration]=0,(IIf([% Complete]=100,5,IIf([Scheduled Finish]<Now()+7

And [% Complete]<100 And [% Complete]>=80,3,IIf([Scheduled Finish]<Now()+7 And [%

Complete]<80,4,1)))),IIf([% Complete]=100,5,IIf([%

Complete]>=100*(Abs(ProjDateDiff([Scheduled Start],Now())/ProjDateDiff([Scheduled

Start],[Scheduled Finish]))),2,(IIf([Scheduled Finish]>Now(),IIf([Scheduled

Start]>Now(),1,3),4)))))

Note the brackets around the fields.

Click OK.

Page 14: MS Project Hacks - The Practicing IT Project Managerblog.practicingitpm.com/download/ms-project-hacks/MS-Project-Hacks.pdf · Many project managers use Microsoft Project to make plans,

Now click on the Graphical Indicators button. This is where you choose the colors to display.

In each row, under “Test for” select “equals.” Associate 5 with Blue, 4 with Red, 3 with Yellow,

2 with Green, and 1 with Clear. Note that you only want these indicators to appear for non-

summary rows, since the % Complete field isn’t accurate for summary rows.

Then click OK. Your project plan should look like this:

On August 25, Task 1 is Blue because it’s complete. Task 2 is Yellow because it’s two days past

the start date, it’s a three day task, and it’s only 50% complete. Task 3 is Green because two

days have passed, the task was scheduled for five days, and it’s 75% complete. If the task were

less than 40%, it would be Yellow. Task 6 is Red because it’s incomplete, and past the Finish

date. The start date for Child Task C is in the future, so it’s Clear. Note that “days” is defined

using the project calendar, so it only uses working days.

You’ll see that no indicator is shown for Task 5, which is the summary task for Child Tasks A,

B, and C. For automatically scheduled summary tasks, MS Project shows the Start date as the

earliest Start date among its children, and Finish date as the latest Finish date. It calculates

Duration for its child tasks as the difference between the two. In the simple example above, the

Page 15: MS Project Hacks - The Practicing IT Project Managerblog.practicingitpm.com/download/ms-project-hacks/MS-Project-Hacks.pdf · Many project managers use Microsoft Project to make plans,

child tasks are scheduled in the sequence A, B, C so that the summary task duration actually

reflects the sum of the durations of the individual tasks, ten days. Task A is scheduled for two

days, and is 25% complete; Tasks B and C are not started. Based on this, summary Task 5

calculates 5% complete, which is accurate.

Now consider if Task A and Task B were scheduled to start on the same date. The Duration for

Task 5 would be calculated as eight days, although it still represents ten work days of effort.

After two days, you would expect Task A to be complete, Task B to be at 50%, and Task C to not

yet have begun, for a total of four days of effort. Thus, anything less than 40% complete for the

summary task should appear Yellow, but the formula will show Green at 25%. So rather than

display a potentially inaccurate result, we simply don’t show stop lights for the summary tasks.

Variation 1

Several project managers asked for different versions of this formula, to meet their specific

needs. Ken asked for milestones, if 100% complete, to return 5 (Blue); otherwise, return 1

(Clear). For non-zero duration tasks:

If 100% complete, return 5 (Blue);

Otherwise,

o If Today < Start date and % complete = 0% (not started, future event), return 1

(Clear)

o If Today <= Finish date and % complete = 0% (scheduled but waiting to start),

return 3 (Yellow); otherwise, return 2 (Green)

Otherwise, the task is incomplete and past Finish date, so return 4 (Red)

Here is the formula that does that:

IIf([Scheduled Duration]=0,IIf([% Complete]=100,5,1),IIf([%

Complete]=100,5,IIf([Scheduled Start]>Now() And [% Complete]=0,1,IIf([Scheduled

Finish]>=Now(),IIf([% Complete]=0,3,2),4))))

Variation 2

Rishi asked for a bit more variation on the milestones:

If 100% Complete, return 5 (Blue)

Otherwise, if Finish is less than 7 days away and Complete is between 80% and 99%,

return 3 (Yellow)

If Finish is less than 7 days away and Complete is less than 80%, return 4 (Red)

Otherwise, return 1 (Clear).

For non-zero duration tasks:

If Complete = 100%, return 5 (Blue)

Otherwise, if Prorated Complete > scheduled complete, return 2 (Green)

Page 16: MS Project Hacks - The Practicing IT Project Managerblog.practicingitpm.com/download/ms-project-hacks/MS-Project-Hacks.pdf · Many project managers use Microsoft Project to make plans,

o Otherwise, if Finish > Today

If Start > Today, return 1 (Clear)

Else return 3 (Yellow) o Otherwise, return 4 (Red)

Here is the formula that does that:

IIf([Scheduled Duration]=0,(IIf([% Complete]=100,5,IIf([Scheduled Finish]<Now()+7

And [% Complete]<100 And [% Complete]>=80,3,IIf([Scheduled Finish]<Now()+7 And [%

Complete]<80,4,1)))),IIf([% Complete]=100,5,IIf([%

Complete]>=100*(Abs(ProjDateDiff([Start],Now())/ProjDateDiff([Scheduled

Start],[Scheduled Finish]))),2,(IIf([Scheduled Finish]>Now(),IIf([Scheduled

Start]>Now(),1,3),4)))))

Final Thoughts

As you can see, these formulas can get rather complex, depending on how you want to classify

the status of your detail tasks. The calculations will only be meaningful if the % Complete

information it’s based on is maintained on a consistent basis. Set some standards for the values

you enter. For example:

Milestone tasks: Enter either 0% or 100%, depending on whether all predecessor tasks

are complete. Alternatively, enter 0%, 25%, 50%, 75%, and 100% as predecessor tasks

are completed.

Detail tasks: Enter 0%, 25%, 50%, 75%, and 100%, as the task is worked. Alternatively,

enter other values, appropriate to the task and the performing team members.

Whatever standard you choose, communicate it to the project team and use it consistently.

Don’t fall into the trap of starting a task at 90% and then spending the next few weeks waiting

for the performer to report 100%! Define “inch pebbles” that can be reported at the task level.

If necessary, break the task into multiple tasks so that the durations are in the same range. A

consistent granularity is the key to measuring and reporting progress.

Page 17: MS Project Hacks - The Practicing IT Project Managerblog.practicingitpm.com/download/ms-project-hacks/MS-Project-Hacks.pdf · Many project managers use Microsoft Project to make plans,

5. Add a Negative Total Slack Flag

As you know, the critical path is the sequence of scheduled activities that determines the

overall duration of the project. However, not all tasks are part of the critical path. The concept

of slack time, also called float time, comes from the fact that some tasks can be performed

sooner or later in time without impacting the finish date of the project. These tasks have an

earliest possible start and a latest possible start, as well as an earliest and latest finish. The

difference between the early and late finish dates is called the Total Slack. For tasks that are

not part of the critical path, this is usually a positive value; for critical path tasks, it is should be

zero. But that’s not always the case.

Finish No Later Than

When planning or updating a project schedule, one of the most useful capabilities of Microsoft

Project is the ability to set scheduling constraints. While most tasks will likely use the default,

“As Soon As Possible,” there are times when a task has a constraint such as a required start or

end date. When you set up a task with a fixed end date, you’ll go into the Advanced tab of the

Task Information window, set the Constraint Type to “Finish No Later Than”, and enter the

date.

Project will then apply that constraint, to determine whether you can actually meet that date

with your current plan. If you’ve defined non-working time in your Standard calendar, specify

it in the Calendar field. This will allow the scheduling algorithm to respect holidays. If the date

math doesn’t work out, one or more tasks will have a negative Total Slack. In such a situation,

it would help to have a flag that identifies tasks that must be adjusted, in order to respect your

constraints. Here’s how to add such a flag to your MS Project plan.

Page 18: MS Project Hacks - The Practicing IT Project Managerblog.practicingitpm.com/download/ms-project-hacks/MS-Project-Hacks.pdf · Many project managers use Microsoft Project to make plans,

Inserting the Flag

Right click on the column where you want to insert the status indicator. Click “Insert Column”

and then select Flag 1. Right click on the newly inserted column and select “Custom Fields.”

From here, you can rename the field (I chose “Sched” to keep it brief). Then under Custom

Attributes, click on the radio button for Formula. You’ll get a warning message; that’s fine,

because you really do want to calculate the values.

Then click on the Formula button, and past in the following:

IIf([Total Slack]<0,True,False)

This will calculate the field to be True when Total Slack is less than zero, so we can display our

flag. Click OK, and then click on the Graphical Indicators button. This is where you choose the

image to display.

Page 19: MS Project Hacks - The Practicing IT Project Managerblog.practicingitpm.com/download/ms-project-hacks/MS-Project-Hacks.pdf · Many project managers use Microsoft Project to make plans,

You really only need to define an image for the True value, and only for the Nonsummary rows.

This will cause the flag to be visible only in the detail rows, where you can actually make

schedule adjustments that will resolve the problems. Then click OK. Your project schedule

should look like this:

Tasks 1, 6, 7, 9, and 10 are flagged because they are on the critical path, and the total of their

individual durations is greater than the number of work days between the project start date

and the constrained end date. Note that the Total Slack calculation uses the Standard project

calendar, so it only considers working days. If you have a holiday coming up, it takes that into

account. Changing the duration of these critical path tasks, or changing the relationships

between them to take one of them off the critical path, will change the total slack. When all of

the flags are cleared, you have an achievable plan to get to your required end date.

Page 20: MS Project Hacks - The Practicing IT Project Managerblog.practicingitpm.com/download/ms-project-hacks/MS-Project-Hacks.pdf · Many project managers use Microsoft Project to make plans,

6. Track Qualitative Risk

One of the challenges in project management is preventing the gradual disconnect between the

project schedule and risk management. When we’re in execution mode, we tend to focus on the

list of tasks and the dates in the plan, and only occasionally on the results of that qualitative

risk analysis we prepared in the planning stage. In order to see the gradual reduction in total

project risk, I wanted a way to incorporate risk attributes into tasks on the schedule. I also

wanted to factor in the work we’ve already accomplished, in order to see how much residual

risk remains when a risk has been retired. I implemented this in Microsoft Project, using

calculated fields.

How It Looks

I set up three custom fields: Probability (Null, Low, Medium, High), reflecting the possibility

that the risk event will occur; Impact (Null, Low, Medium, High), reflecting the impact if the

event actually occurs, and a calculated Risk exposure field.

In the simple example above, we have decided to track execution risks on three project tasks.

Our qualitative analysis classified the probability of occurrence and the impact as Low,

Medium, or High, scored 1, 2 and 3 respectively. In all three cases, the risks will be retired

gradually, as the tasks are completed. We want to monitor this process of risk reduction

graphically, using the formula Probability * Impact * Work Remaining to Retire the Risk,

defined as 1 - (% Complete / 100). In this example, a score greater than 3.0 is considered high

risk (red); as the score falls below the threshold, the visible risk indicator changes to yellow,

and when the task is completed and the score drops to zero, the indicator changes to green.

Page 21: MS Project Hacks - The Practicing IT Project Managerblog.practicingitpm.com/download/ms-project-hacks/MS-Project-Hacks.pdf · Many project managers use Microsoft Project to make plans,

At a glance, you can see that task 4, Data Conversion Mapping, was determined to have a

performance risk with high probability and low impact. Now that the task is 100% complete, it

has been retired and displays a green smiley face. Task 7, Code and Unit Test, was determined

to be medium probability, medium impact. At the current 20% Complete, it shows as a high

risk [2*2*(1-0.2) = 3.2], but once it gets to 25% complete, it will drop to a medium risk

[2*2*(1-0.25) = 3.0]. Task 14 reflects low probability, high impact, and medium risk. As each

task is worked, % Complete is adjusted and the associated risk is reduced in linear fashion.

How to Implement It

I implemented the Probability and Impact fields using Lookup values in number fields, and

implemented the Risk field using a formula, with appropriate graphical indicators.

As you can see, the Probability value uses Number 2, the Impact value uses Number 3, and the

calculated Risk value uses Number 4. Here is how to set up the Lookup Table in the Custom

Attributes section of the Custom Fields screen:

For the Probability and Impact fields, the Lookup function was used to define four values:

None, Low, Medium, and High. I associated the None value with a blank graphical indicator,

Page 22: MS Project Hacks - The Practicing IT Project Managerblog.practicingitpm.com/download/ms-project-hacks/MS-Project-Hacks.pdf · Many project managers use Microsoft Project to make plans,

and the other values with appropriate graphics. As a result, only rows with actual Probability

and Impact values have indicators.

The Risk value was implemented using a Formula:

IIf(Number2=0,-1,Number2*Number3*(1-[% Complete]/100))

If you wanted to use a quadratic calculation, you could adjust the formula accordingly.

Here are the indicators for the Risk field:

Page 23: MS Project Hacks - The Practicing IT Project Managerblog.practicingitpm.com/download/ms-project-hacks/MS-Project-Hacks.pdf · Many project managers use Microsoft Project to make plans,

As usual, we only enter indicators for the non-summary rows. Note that zero values will have

the green indicator, reflecting a retired risk. Non-zero values below the High risk threshold will

appear with the yellow indicator. To adjust the High risk threshold, change the 3.0 value

associated with the red graphical indicator.

Risk Response Strategies

I've described the four common risk response strategies in a blog post: avoid, transfer,

mitigate, and accept. In this example, the risks were accepted and they will be retired through

execution of the associated task. When a risk is avoided, there should be no need to track it as a

task on the project schedule. Depending on the situation, you might want to track performance

and retirement of a transferred risk as a task, or you might not. In a mitigation strategy, there

might be one or more tasks to track separately from the execution tasks. Consider how you

want to tell the story to your sponsor, team members, and stakeholders, as they are the

primary consumers of this information.

As long as you associate the Probability and Impact score with a detail task to calculate the

risk, it will work correctly. Note that this technique will not work with summary tasks, because

MS Project doesn’t calculate percent complete for summary tasks in a way that is usable for

calculated fields.

Page 24: MS Project Hacks - The Practicing IT Project Managerblog.practicingitpm.com/download/ms-project-hacks/MS-Project-Hacks.pdf · Many project managers use Microsoft Project to make plans,

7. Add a Cutover Weekend Calendar

In Chapter 1, I showed how to add non-working days to your project calendar, so MS Project

would take them into account when automatically scheduling tasks. This is an incredibly

powerful feature, as it allows you to focus on the duration of a task and its predecessors and

successors, without getting tied up in dates. Of course, there are occasions where you want to

schedule tasks to be performed on dates that would otherwise be non-working days. A common

example would be a cutover weekend, where you schedule certain tasks for a Saturday or

Sunday. The challenge is to make them working days for the tasks of interest, while ensuring

that other tasks aren’t shifted in time. The solution is a custom calendar, applied to only certain

tasks.

Creating a Custom Calendar

As with adding holidays to the calendar, the version of Microsoft Project you are using makes a

difference in navigation. In Project 2007, under the Tools menu, select Change Working

Time. In Project 2010, on the Project tab, select Change Working Time. Click the Create

New Calendar button, and Click the Make a copy of radio button. Select the Standard

calendar from the pull-down list, and then give the new calendar a name. In this case, I named

it Cutover Weekend. Then click OK.

At this point, you can add the dates you want to mark as exceptions to the working calendar.

Enter the Name, Start, and Finish dates. Then click the Details button. Click the Working

Times radio button. The default working hours will appear; change them only if necessary.

Click OK to return to your custom calendar.

Page 25: MS Project Hacks - The Practicing IT Project Managerblog.practicingitpm.com/download/ms-project-hacks/MS-Project-Hacks.pdf · Many project managers use Microsoft Project to make plans,

At this point, click OK. Then navigate to the task you want to schedule for that weekend. Bring

up the Task Information dialog box by double-clicking on it. Then click on the Advanced tab,

and select your custom calendar. Click OK and repeat for any other tasks you want to apply this

calendar to.

Using the Custom Calendar

Now your task can be scheduled for a weekend, without impacting the tasks around it. See the

example below: Task 8 follows the predecessor to the Cutover task, Preparation. As you would

normally expect, it starts on the next working day, Monday, November 18. Task 9 follows the

cutover task, also beginning on Monday, November 18.

Page 26: MS Project Hacks - The Practicing IT Project Managerblog.practicingitpm.com/download/ms-project-hacks/MS-Project-Hacks.pdf · Many project managers use Microsoft Project to make plans,

Reducing the duration of the Cutover task to one day does not impact the tasks that follow it.

Other Variations

As you can see, assigning a custom calendar in this way isolates the effect to just the tasks to

which the calendar applies. In addition to this example, you can also apply the same approach

to situations where a portion of the project team will be unavailable during the normal work

week. One potential application would be for when certain members of the team will be

occupied in other activities, such as year-end financial processing.

This simple technique will allow you to create your project schedule around your team’s

availability, while still correctly handling exceptions.

Page 27: MS Project Hacks - The Practicing IT Project Managerblog.practicingitpm.com/download/ms-project-hacks/MS-Project-Hacks.pdf · Many project managers use Microsoft Project to make plans,

8. Additional Resources

As I mentioned in the Forward, I write about project management and related topics at The

Practicing IT Project Manager web site. I’ve created a page on that site that will include any

corrections, additional information, and downloads for this book. It will also provide a space

for readers to comment and share information and experiences.

In addition to the MS Project Hacks page in the “Books” section, consider visiting the site for

other resources on project management and leadership. Each Sunday evening, I publish a

weekly roundup of news articles, blog posts, and other content of interest to project managers.

I also maintain a site archive, organized by topic, of previously publish articles, and a list of

recommended project management web sites and professional resources. I keep all articles

open for comments, so feel free to ask a question, make a suggestion, or express your opposing

viewpoint.

Finally, feel free to reach out to me via the Email address posted on the “About” page of the

web site, if you have any inquiries you’d rather not be public. I’m available on a consulting

basis, to help with project management and training, among other things.

Thanks for taking the time to read this book all the way to the end!