Application Security


Seeing as my last post was on how to incorporate risk assessments into schedule design, I decided to post information on how to create buffers in Microsoft Project Professional. Note that this post is not the definitive guide to incorporate risk-loaded schedules in Microsoft Project, but instead represents concepts of how to incorporate risk into the schedule.  You will have to tailor these suggestions to the specific processes of your own organization.

Here goes:

There are three kinds of buffers that you might want to account for in your schedule:

1) Schedule Buffer

2) Cost Buffer

3) Effort Buffer

Today, I’ll present Schedule Buffer.  Cost and Effort will be another post.

I’ve played around with various methods of tracking buffers in Microsoft Project, and this approach seems the most elegant.  My conclusion after trying a couple of methods is that at a minimum, a buffer should be baselined, and thus allow the user to track buffer penetration and remaining buffer based on the original duration.  Time permitting, at some point in the future, I may also post another method using the Deadline field and without using pasted text links.

Note as a caveat that this method will invalidate the default Project calculation of the Critical Path.  If that is something you report on regularly, you will need to find another method to capture schedule buffer.

Schedule Buffer

1) Set up a critical path schedule with the correct network logic, resource assignments, durations, etc.

2) At the end of the project, insert a milestone called “Critical Path Completed.”

3) Add a task after the Critical Path Completed milestone. This task will be our buffer task.  Do not link the task to the milestone.

4) Add a milestone after the buffer task.  Call this milestone something like “Project Completed.”  Add a hard Must Finish On constraint to this milestone based on the date predicted in your risk-loaded schedule.  In a pinch, you could use PERT analysis, and then pull the pessimistic completion date, and use that for your Project Completed constraint.

5) Your schedule should look something like this:


6) Note that I have added a custom Flag field called “_Buffer”.  We will use this later to format the task appropriately.

7) Copy the Finish date of the Critical Path Completed milestone.  Paste it into the Start date of the buffer task using the Paste Special > Link > Text Data option.


8) Copy the Start date of the Project Completed milestone.  Paste it into the Finish date of the buffer task using the Paste Special > Link > Text Data option.

9) Your schedule should now look like this:


10) Now, toggle the _Buffer flag to yes for your buffer task.

11) Double click on the Gantt Chart, choose bar styles, and make the following changes. (Note that in my version, I have the _Buffer flag set as Flag1.  You will need to modify your settings based on what field you have used to capture the buffer task).


12) Your schedule should look like this:


13) Now, we have to create a couple of custom formulas to assess buffer penetration.  I create a new Text field (in this case, Text1).  I call it “_Buffer Remaining” and use the following formula:

IIf([Flag1]=Yes,Round([Duration]/[Baseline Duration]*100,0) & ” %”,””)

14) Here’s a screenshot of the settings for the field:


15) Not quite done yet.  Go back to the Gantt Chart.  Double Click.  Select the Buffer Task on the second row.  Click on the Bar Text tab.  Add your new custom Text field to the right of the buffer task.


16) Now, once I set a baseline for the project, the field will show that I have 100% buffer remaining.


17) And the buffer will adjust as the project tasks extend out….


The buffer will then automatically adjust its duration based on schedule slippage.  Best practice then would be to track project % Complete, and compare that to the buffer penetration.  As long as they correlate, the project is relatively healthy and progressing with expected variations in duration.  If you find that % Complete and the buffer penetration do not correlate, then you will have to reassess if an appropriate amount of buffer has been added to the schedule.

Please note that I have posted the solution file used to generate the screenshots.  Feel free to download that here.

Stay tuned for information on how to track cost and effort buffers…