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



Similar documents
Revealing the Secrets of Microsoft Project

Create task relationships by linking tasks. Switch task scheduling from manual to automatic. Set nonworking days for the project plan.

Aras Corporation Aras Corporation. All rights reserved. Notice of Rights. Notice of Liability

Time & Attendance Manager Basics

INTRODUCTION TO PROJECT MANAGEMENT AND MS PROJECT

Chapter 3 ADDRESS BOOK, CONTACTS, AND DISTRIBUTION LISTS

MS Project Tutorial. CS 587 Software Project Management Instructor: Dr. Atef Bader. Prepared by Milton Hurtado

IT Training. Microsoft Project. Vicky Samways, IT Training Information System Services Version 2.1

Planning and Managing Projects with Microsoft Project Professional 2013

Microsoft Project Exam Study Guide

CDC UNIFIED PROCESS JOB AID

Attending Schedules Getting Started Guide

Time & Attendance Supervisor Basics for ADP Workforce Now. Automatic Data Processing, LLC ES Canada

Project planning with MindGenius

technical tips and tricks

Dynamics CRM for Outlook Basics

ACCESS Importing and Exporting Data Files. Information Technology. MS Access 2007 Users Guide. IT Training & Development (818)

MS Project Tutorial for Senior Design Using Microsoft Project to manage projects

Getting Started with Excel Table of Contents

Using Microsoft Office to Manage Projects

Jefferson County Public Schools. FRYSC Tips and Tricks

Chapter 11 Sharing and Reviewing Documents

Project Management Quick Reference Guide for MS Project 2010

Microsoft Project 2007 Level 1: Creating Project Tasks

How to Create a Spreadsheet With Updating Stock Prices Version 3, February 2015

MODEL SCHEDULING SPECIFICATION

M-Files Gantt View. User Guide. App Version: Author: Joel Heinrich

Computer Training Centre University College Cork

Hypercosm. Studio.

Google Docs, Sheets, and Slides: Share and collaborate

1 Start a new project

Microsoft Project Microsoft Project The smart way to learn. Microsoft Project one step at a time!

Project Creation and Gantt Chart Design Using Microsoft Project. R. Baker. The University of Tampa

Web Intelligence User Guide

Instructions for applying data validation(s) to data fields in Microsoft Excel

Construction Planning, Equipment and Methods ENGI 8749 Fall Semester, 2008 Tutorial #2 Resource Leveling using MS Project

ewebextra OfficeMate Integration User s Guide

MEDIAplus administration interface

Search help. More on Office.com: images templates

3 What s New in Excel 2007

Open Workbench Warrior. Beginner's Guide to Open Workbench

ORANGE COUNTY COMMUNITY COLLEGE FINAL as of MARCH 10, 2015 ACADEMIC YEAR CALENDAR FALL SEMESTER 2015

Writer Guide. Chapter 15 Using Forms in Writer

Microsoft Project 2013 Guide to Task and Resource Planning

Bill Payment Frequently Asked Questions (FAQ)

How To Use Excel With A Calculator

Administration. Welcome to the Eastwood Harris Pty Ltd MICROSOFT PROJECT 2010 AND PMBOK GUIDE FOURTH EDITION training course presented by

HELP CONTENTS INTRODUCTION...

1-Step Appraisals Jewelry Appraisal Software

MERLIN. The Quick Start Guide to professional project management ProjectWizards GmbH, Melle, Germany. All rights reserved.

ewebextra OfficeMate Integration User s Guide

Google Docs: Share and collaborate

Define calendars. Pre specified holidays

Quality Assurance Guide. IRMS c-Quality Assurance Guide.doc 01.0 November 2, 2009

How to Excel with CUFS Part 2 Excel 2010

Scribe Online Integration Services (IS) Tutorial

Plots, Curve-Fitting, and Data Modeling in Microsoft Excel

ACADEMIC YEAR CALENDAR FALL SEMESTER First Half-Semester Courses

Create a New Database in Access 2010

Hosting Users Guide 2011

PERCEPTION PERT-PAC Using Microsoft Project 2000

OVERVIEW. Microsoft Project terms and definitions

WebSphere Business Monitor V6.2 KPI history and prediction lab

This document is provided "as-is". Information and views expressed in this document, including URLs and other Internet Web site references, may

Ohio University Computer Services Center August, 2002 Crystal Reports Introduction Quick Reference Guide

CITS. Windows & Macintosh Zimbra Calendar 5.0. Computing and Information Technology Services. Revised 8/21/2008

Monarch. Teacher User Guide for v4.0

Microsoft Dynamics GP. Advanced Financial Analysis

Microsoft Project Activity

Creating a New Project

Introduction to Microsoft Project 2010

Creating and Using Forms in SharePoint

Intellect Platform - The Workflow Engine Basic HelpDesk Troubleticket System - A102

OneNote 2013 Advanced

Project Management within ManagePro

rbweb RB Web 8 online office for attorneys, paralegals and secretaries User Guide

Cal Answers Analysis Training Part I. Creating Analyses in OBIEE

Planning and Managing Projects with Microsoft Project Professional 2013

ithenticate User Manual

Using Microsoft Project 2000

ELECTRO-MECHANICAL PROJECT MANAGEMENT

PORTAL ADMINISTRATION

Database Concepts (3 rd Edition) APPENDIX D Getting Started with Microsoft Access 2007

ACADEMIC MEETINGS DURING THE FALL AND SPRING SEMESTERS* *(unless otherwise specified)

ECDL. European Computer Driving Licence. Project Planning Project Management Software BCS ITQ Level 2. Syllabus Version 1.0

Lesson 6 - Managing Resources in a Project Plan

Smart Web. User Guide. Amcom Software, Inc.

Designed by Jason Wagner, Course Web Programmer, Office of e-learning ZPRELIMINARY INFORMATION... 1 LOADING THE INITIAL REPORT... 1 OUR EXAMPLE...

Team Foundation Server 2012 Installation Guide

Chapter 15 Using Forms in Writer

ecommerce LMS Administrator s Manual

ithenticate User Manual

Importing Xerox LAN Fax Phonebook Data from Microsoft Outlook

Home Loan Manager Pro 7.1

WORKING IN TEAMS WITH CASECOMPLETE AND MICROSOFT VISUAL SOURCE SAFE. Contents

Produced by: Flinders University Centre for Educational ICT

Payco, Inc. Evolution and Employee Portal. Payco Services, Inc.., Home

Microsoft Project Server 2010 Project Manager s Guide for Project Web App

Microsoft Outlook 2010 Hints & Tips

Transcription:

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

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 davegordon@practicingitpm.com Published in the United States by Practicing IT Project Manager LLC Version 1.0

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

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.

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.

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.

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.

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.

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.

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)

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.

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.

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.

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 nonsummary 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

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)

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.

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.

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.

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.

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.

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,

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:

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.

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.

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.

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.

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!