Schedule automation: How to customise MS-Project® text fields to show schedule management diagnostics

Part 3 of a series on customising fields in Microsoft® Project® to make working with project schedules more useful.
So you’ve created a useful programme schedule, and you are now working on keeping it on the right track. You’ve set up fields to calculate RAG status, but what if you want some schedule management information to go with it, in the form of some compact RAG status explanation to go with it, without having to study the baseline vs. forecast dates and % complete, working it out in your head line by line?

This post describes how to customise a Text field to display a very compact schedule management commentary to explain why a project schedule item should be Red or Amber.

Continue reading “Schedule automation: How to customise MS-Project® text fields to show schedule management diagnostics”

Schedule automation: How to customise MS-Project® text fields to calculate RAG Status

Part 2 of a series on customising fields in Microsoft® Project® to make working with project schedules more useful.
So you’ve created a useful programme schedule, and you are now working on keeping it on the right track, reviewing the plan regularly with the Programme Manager and Project Managers. You will probably review the programme schedule regularly – focussing on on items with Red or Amber RAG status –  but how do you use MS-Project to ensure that you don’t skip items that probably should have been marked amber or red?

Schedule Automation - How to customise MS-Project® text fields to calculate RAG Status

This post describes how to introduce some schedule automation by customising a text field to display RAG status (based on performing some simple tests and calculations with dates).

So why would you want to use this approach, how do you do it, and what’s in it for you as a result?

The Why

RAG status is often allocated to project tasks based on the intuition or “gut feel” of the project manager. But too much subjectivity in status reporting can lead to watermelon or green-side-up reporting, in which project status is reported more favourably than it probably should be. The more objective approach presented here introduces some schedule automation, assigning a RAG rating to individual project tasks based on calculation.

This approach can’t account for subjective things like project risks (that takes professional judgement), but it can give a useful “starter for ten” RAG status assessment onto which the PM can layer factors such as risk, or to act as the starting point of a discussion.

The How

Approach: Logic tests

Devise a set of criteria that you will use to determine RAG status, based on the rules or criteria in place for your project or programme. Your central PMO may have some criteria, or you may devise your own. They may look something like this (this assumes the plan has been baselined):

  • Red = Item that should be complete by now but isn’t
  • Amber = Item forecast to finish later than baseline finish date
  • Green = Item forecast to finish on baseline finish date or earlier

You need to formulate the tests in such a way that they can be expressed as a mathematical expression that can be tested and return a TRUE or FALSE result. For example, to test whether an item should have finished by now, test for [Forecast finish date] < [Today’s date]. If the answer is TRUE, the item should have finished by now.

These tests can be made as simple or complex as you like, for example you could enhance the Red test so that Red returns true if the item (is forecast to finish earlier than today’s date) OR (is on the Critical path, and is forecast to finish later than baselined) OR (is on the critical path and has not yet been baselined).

After testing for item completion (because if the item is complete then none of the other tests apply) these tests will be applied in order of decreasing severity (because an item that triggers a Red condition would probably trigger all the Amber conditions too).

Implementing the tests

Pick an empty custom task text field (in MS-Project 2016, select Project, Custom Fields), rename it something like “Auto RAG” and click on Formula (see figure 1).

Figure 1: MS-Project custom text formula dialogue box

 

The MS-Project Switch() function applies a number of tests and performs an action for the first test it comes to that returns a TRUE result. The format is:

Switch(
TestForCompleteCondition, ResultIfTestIsTrue (“C”),
TestForRedCondition, ResultIfTestIsTrue (“R”),
TestForAmberCondition, ResultIfTestIsTrue (“A”),
TestForGreenCondition, ResultIfTestIsTrue (“G”),
TestThatAlwaysReturnsTrue, ResultIfTestIsTrue (ErrorMessage),
)

The TestThatAlwaysReturnsTrue at the end “catches” the condition where none of the previous tests return a True result. Seeing the “ERROR!” result should prompt you to check your tests (or add some more conditions to catch other scenarios).

In “coded” format, such a series of tests would look like this:

Switch(
      ([%Complete] = 100), “C”,
      ([Baseline Finish] , Now()), “R”,
      ([Finish] > [Baseline Finish]), “A”,
      ([Finish] <= [Baseline Finish]), “G”,
      True, “ERROR!”
 )

I have formatted this to make it more readable. Be aware that MS-Project will strip out the spaces and returns, so the formula will look a lot less readable if you ever have to come back to edit it.

Put this in the “formula box” (see figure 2).

Entering the Auto RAG formula in the custom text field formula box
Figure 2: Entering the Auto RAG formula in an MS-Project® custom text field formula box

Once you have a text RAG value, you will probably want to display that as a graphical indicator to make reds and ambers easier to pick out in a long plan. This is done from the same Customise Fields dialogue box as before (figure 1), but this time using the Graphical Indicators option, which gets you here:

Specifying graphical indicators for RAG status in an MS-Project® custom text dialogue box
Figure 3: Specifying graphical indicators for RAG status in an MS-Project® custom text dialogue box

The approach is to test whether the value in the field “equals” each of the RAG status values and to assign an appropriate graphical symbol to each.

The What(’s in it for you)

Congratulations! You have now introduced some schedule automation and given MS-Project the ability to tell you what the RAG status of an item should be, based on a rigid interpretation of whatever rules you have given it, ready to have overlaid upon it any other factors the PM knows about. What approaches do you use to calculate RAG status in MS-Project?

This approach comes to you from my experience of getting it wrong and coming up with a better way. If you would like to have the benefits of an approach like this but prefer not to have to worry about this sort of techy stuff, why not talk to us about taking care of it all for you on your next big project or programme?

Copyright © Ken Burrell, Pragmatic PMO Ltd 2017


® Microsoft and Project are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.

Schedule setup: How to customise MS-Project® text fields to show diagnostics

Part 1 of a series on customising fields in Microsoft® Project® to make working with project schedules more useful.

How do you set up a framework to enable you to quickly identify and review project schedules for common schedule setup logic errors, without having to deduce and apply complex combinations of filters? This is the approach I have used successfully on several programmes.

Schedule Setup - How to customise MS-Project text fields to show diagnostics

When you are pulling together a collection of project schedules to create a useful programme schedule, you may find that they are of variable quality, and may contain some fairly basic schedule setup errors. To avoid wasted effort, I recommend you first check incoming project schedules for commonly-occurring schedule setup logical problems. This post follows on from how to create a useful programme schedule by providing a bit more “nuts and bolts” detail on how to do this.

What we are looking for, where it comes from and why we don’t want it

Resources assigned to summary tasks

  • Sometimes Project Managers (PMs) do this deliberately, e.g. to show a single person overseeing a group of tasks.
  • More often, though, it is a “hangover” from an earlier schedule stage, where the PM assigned the resource to a single placeholder task that was later broken down into more detail. So you will probably find the same resource assigned to the lower level tasks as well.
  • Unresolved, this can lead to artificial over-allocation of the resource and hence inflation of cost forecasts if the schedule is being used for this purpose.
  • If the resource allocation to the summary task is being used to show ownership, it is probably better to use a separate (task owner) field for this.

Summary tasks with links (predecessors and/or successors)

  • Sometimes Project Managers (PMs) do this deliberately, e.g. to show that something starts when a group of tasks has finished.
  • More often, though, it is a “hangover” from a setup stage, where the PM assigned a dependency to a single placeholder task that has since been broken down into more detail.
  • This can lead to complications establishing the critical path, and can place artificial constraints on tasks, so they don’t behave as you would expect.
  • If the dependency on the summary task is genuine, I recommend that instead you create a “collector” milestone within the summary task, that has all the deliverables in the summary task as predecessors.

Tasks without successors (widows) or predecessors (orphans)

  • Pretty much all items in a schedule should have at least one predecessor and at least one successor The exceptions are: summary tasks, a single milestone indicating the project start, and another milestone indicating the project end.
  • If an item has no predecessors, then it is not dependent on any other tasks and could be done now. So why is it scheduled when it is, rather than now? Why haven’t we done it already?
  • If an item has no successors, then its completion is not required by any subsequent items in the plan. So why are we doing it at all? can it be removed?
  • Items missing predecessors and/or successors also will not be included in the calculation of the critical path through a project.

Placeholders in the past

  • PMs sometimes use “placeholder” tasks (with default date and duration, and no predecessors or successors) as memory joggers for small tasks to be carried out at some point, or a task to be fleshed out with more detail later.
  • By default, MS-Project schedules new tasks on the Project Start date (often a long time in the past) and gives them an arbitrary, default duration (usually 1 day)
  • When enough of these are bundled with other, active tasks into a summary task, the non-completion of the placeholder makes the summary task look much longer than it should be, and woefully behind schedule. This is inconvenient if you are using schedule extracts for stakeholder communications, as it makes things look worse than they are.
  • I recommend scheduling placeholders like these in the future using estimated dates and durations.

Item uses over-allocated resource

  • If a PM allocates too much work to a resource, or a resource is assigned to too many tasks at the same time, the work cannot be performed as scheduled, calling forecast delivery dates into question.

How to do it: logic tests

So how do you easily detect these common schedule setup problems? The answer is to customise a Text field to display a very compact commentary resulting from some simple tests that look for common scheduling logic errors.

To do this, pick an empty custom task text field (in MS-Project 2016, select Project, Custom Fields), rename it something like “Schedule setup diagnostics” and click on Formula:

MS-Project custom text formula dialogue box
MS-Project custom text formula dialogue box

Enter the following formula:

IIf(([Summary] And (([Predecessors]<>"") Or ([Successors]<>""))),"SWL ","") & 
IIf([Summary] And ([Resource Names]<>""),"SWR ","") & 
IIf((Not [Summary] And ([Predecessors]="")),"W ","") & 
IIf((Not [Summary] And ([Successors]<>"")),"O ","") & 
IIf(([Start]=[Project Start]) And [Estimated] And ([Predecessors]="") And ([Successors]=""),"PIP? ","") & 
IIf([Overallocated],"UOAR ","")

Pay close attention to all the brackets and commas. You need them all, in that order!

The Result

This formula uses IF statements and text string concatenation to alert you with short text codes if items in the plan suffer from any of these logical schedule setup problems:

  • SWR = Summary task With Resources
  • SWL = Summary task With Links
  • W = Widow (non-summary task without successors)
  • O = Orphan (non-summary task without predecessors)
  • PIP? = Placeholder In the Past?
  • UOAR = Uses Over-Allocated Resource

Display the new column in your Gantt chart table (in MS-Project 2016, select Gantt Chart Tools, Format, Insert Column, and type the name of the new column, in this case “Schedule setup diagnostics”); any commentary generated by the formula will appear in this new column.

The presence of any of these codes should prompt a discussion with the PM, and preferably the adjustment of the schedule to correct the error (unless it was deliberate) and remove the flag.

So that’s my approach to automating MS-Project schedule setup diagnostics, learned through the experience of getting it wrong and coming up with a better way.

Is this approach useful to you? How do you check for consistent project scheduling logic? How do you check for consistent project scheduling logic like this? What do you use custom fields for? Let me know in the comments.

If you would like to have the benefits of an approach like this but prefer not to have to worry about this sort of techy stuff, why not talk to us about taking care of it all for you on your next big project or programme?


® Microsoft and Project are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.

6 PMO productivity pointers for Microsoft® SharePoint® Team sites: Libraries

Top tips drawn from experience

SharePoint tips - Libraries

To create an project or programme information hub, you could do a lot worse than setting up a SharePoint team site as suggested by Dux Raymond Sy’s definitive book on the subject. If SharePoint is already used in your organisation, it’s virtually a no-brainer.

SharePoint document libraries represent a great way to share documents across teams, giving you features like metadata classification, automatic version control, and more efficient document management. Julian Maynard-Smith outlines the benefits of a proper document management system in this great post.

However, there are some things that I have discovered for myself over several years of creating and using project management libraries on SharePoint sites that I would like to share with you.

1. Set up document libraries using reference data and standardised views.

  • Set up lists of reference data you want to be available throughout your site (e.g. project name, project stage, document type, document status, etc.).
  • Create a customised document library template containing fields that “look up” this reference data
  • Create a consistent “family” of useful library views that use this data, such as:
    • All documents (grouped by project, then document type)
    • Draft documents (grouped by project, then document type)
    • All documents grouped by Governance body and then status, sorted by review/issue date (for when you want to check what was reported three SteerCos ago)
    • All issued documents, by project and then document type
  • For more on how these approaches are useful, see my tips post on SharePoint Registers

2. Set up views based on metadata (and maybe folders)

  • People are used to storing files in a shared network drive using nested folders. This works, but locks you into categorising your documents by just one hierarchy. Consider a document library containing contact details could be organised like a paper telephone directory, with folders arranged in counties, then towns, then business/residential, then sorted alphanumerically by name.
  • This is fine if you want to see records for all the businesses in Bedfordshire, as this complies with the filing structure’s hierarchy.
  • But what if I want to see all the residential records across Bedfordshire and Buckinghamshire, sorted alphanumerically by name but excluding those beginning with Z and P?
  • That’s where metadata comes in. By assigning document metadata (information about the documents, aka “tags”) you can:
    • Filter documents, much as you would in Excel®. So you can “slice and dice” the documents any way you like.
    • Group documents by expandable/collapsible category headings that behave and look a bit like folders.
    • Set up and save your own views, and look at documents differently from other users at the same time.
  • Disadvantages include:
    • Users often don’t tag files with metadata on uploading, even though they subconsciously do it in a file share by choosing which folder to put a file in. This could lead to many unclassified documents. The Programme Office (PgMO) could tag documents of course, but to do it all is a lot of admin and the document owner usually knows the document content better than the PgMO. You can of course require users to add metadata, but this can cause problems when the available tags don’t quite fit (so the PgMO needs to add new values to the field list), or a user is unsure of what metadata to add (PgMO needs to educate users).
    • File grouping can only go two layers deep, so you have to apply grouping thoughtfully, and use sorting or filtering below that.
  • An option that works for both philosophies (kind of) is to set up libraries with a standard set of folders, but also set up views that ignore the folder structure, using metadata instead. That way, people can find information using the approach they are the most comfortable with. And the point of a document library is to enable people find the information they seek, faster.

3. Use check-out and versioning

  • OK, so this is covered in Dux Raymond Sy’s book, but its so important, I want to highlight it here.
  • Using this feature:
    • Prevents the absurdity of “who saves last wins” (when two people are working on the same document, making competing changes, and saving the document with the same name)
    • Enables you to “permalink” to the latest version of a document (so that the URL you issue for a document always points to the latest version)
    • Enables you to see all the previous versions of a document (along with who created them when) and reinstate any one of them as the current version.

And why wouldn’t you want all that?

4. Create document libraries from your template

  • To determine how many libraries to create, think about how people will use the documents you store in them.
  • One library per project might make sense; a separate library for sensitive documents (e.g. contracts, quotes, invoices, resourcing plans, etc.) definitely makes sense (to appropriately manage access to sensitive content).
  • Creating new libraries created from your template means that the new libraries will already contain all the document fields and views that you put into the template.

5. Set access permissions at library level

  • Although you can assign permissions at folder and even document level, this can cause confusion as it is possible to assign access to a document, but not the folder that contains it.
  • This means the user can access the document if they are directed to it (e.g. from a hyperlink). However they cannot browse to the document location, so they have no sense of “where” it is.
  • There is effectively a permission “wormhole” to the document that doesn’t pass through any intermediate locations. So the poor user will know the document exists, but it will be virtually impossible for them to find it again without the hyperlink(!). To get an idea of what that looks like, take a look at this.
  • Also, SharePoint is not great at showing you how you have set these exceptional permissions, so it is hard to know who has access to what.
  • Setting access at library level with inherited permissions makes this much easier to handle.

6. Set access permissions using groups

  • Name groups according to who they contain rather than the type of permissions assigned to them. A group created to assign read permissions to library X and called “Lib_X_read” may later be used for another purpose for which that name would become confusing. It would be better to call the group something like “Project Managers” or “Business Analysts”, and assign appropriate access permissions to the group.
  • Although you can assign permissions to individuals, it is better if you assign permissions to groups, and manage permissions by amending the users in these groups.
  • If you accidentally delete all users from a document library, sub-site or (heaven forbid) an entire site collection, then it is much quicker to restore access if users are already in a group such as “<SiteName> All Members” than it is to manually restore access for each and every user or to put each and every user into a group as they really should have been in the first place. Trust me. I know.

So that’s my list of productivity top tips for SharePoint document libraries, learned through the experience of getting it wrong and coming up with a better way.

This article covers only the document library tips that I could explain in a compact form without the need for diagrams or examples. It doesn’t include many other conventions that I use when creating and managing SharePoint team sites to improve efficiency or usability, otherwise this article would have been more like a book (it’s already pretty long)!

If you would like to have the benefits of a document management approach like this but prefer not to have to worry about this sort of techy stuff, why not talk to us about taking care of it all for you on your next big project or programme?


® Microsoft, SharePoint and Excel are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.

Image “Trinity College Library (1 of 2)” by brett jordan, https://www.flickr.com/photos/x1brett/6382651341, Licence at https://creativecommons.org/licenses/by/2.0

6 PMO productivity pointers for Microsoft® SharePoint® Team sites: Registers

Top tips drawn from experience

SharePoint tips - Registers

To create an project or programme information hub, you could do a lot worse than setting up a SharePoint team site as suggested by Dux Raymond Sy‘s definitive book on the subject. If SharePoint is already used in your organisation, it’s virtually a no-brainer.

Project management “RAID” registers are prioritised lists of things like Risks, Issues, Actions, Decisions and so on. Keeping registers helps you to keep track of the factors affecting your project, and the things going on within it, so that the whole thing ticks along more smoothly.

Microsoft SharePoint offers some facilities that can be used for this quite effectively, However, there are some things that I have discovered for myself in several years of creating and using project management registers on SharePoint team, sites that I would like to share with you.

1. Plan reference data

  • Decide what data you want to be available throughout your site – the sort of thing you might set up in Excel using data validation to populate drop-down menus from lists.
  • These lists could contain information such as the programme’s projects, locations, project stages, governance bodies, etc.
  • It may sound odd to consider this at the outset, but you need it in place before you set up the RAID registers. It is far quicker and easier to create registers from a template that refers to pre-existing data lists than to reconfigure registers once you have realised it would be neater for them to use reference data.
  • Set up any governance bodies (such as SteerCos) as SharePoint groups. You can use these anywhere you might use a person, e.g. for things like “assigned to”, “raised by”, and “escalated to”
  • Set up your other reference data as SharePoint lists. This means:
    • Changes in the source list automatically become available for use across the site, including in registers.
    • You can “hide” reference data lists by preventing them from displaying on the main site navigation bar. You will know where to find them for editing (in “site contents”) but most users won’t.

2. Create a custom RAID register template

  •  You will probably want to create a “family” of registers (for Risks, Actions, Issues, Decisions, etc.), that share many fields (Date raised, assigned to, Title, Description, Score, Progress, etc.)
  • I recommend that you first create a risk register (by augmenting SharePoint’s built-in “Issue Tracker” template)
  • Set up relevant fields to “look up” reference data from the lists you created earlier, (e.g. project name, project stage, document status, etc.)
  • Save the risk register as a list template, to use when creating other registers. Of all the registers, the risk register has the most fields, so in order to create other registers you will either be removing unwanted fields from the template or repurposing them slightly. This is quicker and easier than creating registers from scratch, and ensures that reused fields are set up consistently across registers.

3. Create a consistent “family” of RAID register views

  • Most people don’t want to view all the items in a RAID register; they are mostly interested in their items, or open items, or their open items.
  • So, create a core “family” of consistent register views (All items, Open items, My items, My open items), all sorted by due / review date and priority.
  • These can be outline views (containing only a few columns) as their main purpose is to enable quick review and finding of RAID items for updating.
  • Create an “Open and recently closed” items view, which is good for reporting to governance bodies as it shows live items and those that have been closed since the last report / meeting (Date closed >= [Today] -28)
  • If you create these views before saving the risk register as a template, then they will appear in any register you create from it.
  • This means that users see the same logical “family” of views whichever register they are in, so they can find information faster and more easily.

4. Use Excel® for reporting on RAID registers

  • For easy and attractive presentation of RAID data (e.g. top 10 risks, issues, etc.), export the register of interest to Excel (SharePoint Classic view –> Lists –> Export to Excel).
  • Do this from a view that shows all the fields. In Excel, hide the ones you don’t want (for now) using data grouping or by hiding columns, then apply any formatting, filters, and summarisation formulae you need.
  • You can create a workbook containing one worksheet like this for each RAID register.
  • This approach gives you data tables (with detail that you can easily unhide) that can be refreshed with live SharePoint data at the click of a button (“Refresh all” in Excel).

5. How to tell which list item number you’re editing

  • If you’re reviewing a list of items in a filtered view of a RAID register, it’s useful to know the number of the item you’re working on (e.g. “Risk 45” or “Action 199”) so that when you go back to the list you know which ones you’ve updated, and which still need updating. But nothing on the SharePoint editing page gives you the number of the item (maybe because this is not an editable field?)
  • However, the number is there if you know where to look; up in the browser address bar, the item reference number is embedded in the URL, e.g. https://[SharePointServerName]/sites/[SiteName]/Lists/[RegisterName]/EditForm.aspx?ID=##&Source=VeryLongTextString
  • Incidentally, you can resolve this problem by creating a view that shows items that are assigned to [Me], AND of which the Status = Open, AND for which the Modified date is not equal to [Today]; this will only show your open items that you haven’t just updated. But the tip is still true 🙂

6. Link items across registers

  • It can be useful to understand where register items came from, e.g. that the action “Recruit developers” came from the issue “Development behind schedule”
  • For this reason it can be useful to add lookup columns to each register enabling users to link to items in other registers (most helpfully via the item title); this cannot be done in a list template as the other registers need to exist first.

So that’s my list of productivity top tips for SharePoint RAID registers, learned through the experience of getting it wrong and coming up with a better way.

This article covers only the RAID register tips that I could explain in a compact form without the need for diagrams or examples. It doesn’t include many other conventions that I use when creating and managing SharePoint team sites to improve efficiency or usability, otherwise this article would have been more like a book (it’s already pretty long)!

If you would like to have the benefits of an approach like this but prefer not to have to worry about this sort of techy stuff, why not talk to us about taking care of it all for you on your next big project or programme?


® Microsoft, SharePoint and Excel are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.

Image “Sub Cash Register” by Franck BLAIS, https://www.flickr.com/photos/66971402@N04/7569786950/
Licence at https://creativecommons.org/licenses/by-sa/2.0/

Buses, trains and schedule optimisation

High risk rapid delivery or lower risk slower delivery – which would you go for?

Buses Trains and Schedule Optmisation

Until recently, my morning commute into work comprised a bus journey to the station, a train into London, and another bus to the office. One morning a few weeks ago I was ready about ten minutes earlier than usual so instead of waiting about 15 minutes to catch my usual bus, I took the earlier bus from near my house. I had already bought my train ticket so I didn’t have to queue at the station, instead waiting just a few minutes to get on a train about 25 minutes earlier than my usual one. Once in London I went to the bus stop, and joy of joys, the bus arrived straight away.

All in all, by leaving my house about 25 minutes earlier than usual, I managed to arrive at my desk at least 45 minutes earlier. I had made a significant time “profit”!

There were some unexpected but very welcome fringe benefits too – the earlier trains and buses are less crowded and so I have more chance of getting a seat (making the journey more pleasant) and often enough elbow room to do some work on the way (making the journey also more productive).

It occurred to me that what had happened here was akin to what I do at work with schedule tuning – I had experienced a journey with less slack time (waiting) between the fixed duration events (journey stages) to enable an earlier final delivery (my arrival at my desk).

I now regularly use this approach to get to my desk earlier. Having less slack in the plan introduces risk of course; if any of my journey stages runs even a few minutes late then it all falls apart and the rest of the journey reverts to the (considerably slower) Plan B. But it works enough of the time to make it worth persisting.

Are you able to use schedule optimisation like this to cut the overall duration of your projects? Are you more concerned with earlier delivery, regardless of overall project duration? Or do you go for a less risky plan with more slack?

© Copyright Pragmatic PMO Ltd, first published in 2012

PMOs perfectly positioned to help make project products persistent

How PMOs can smooth the path of projects, to help make changes more “sticky”

Photograph of the London Eye, superimposed with the text "PMOs perfectly positioned to make project products more persistent"

A while back I attended a PMO FlashMob discussion facilitated by Ranjit Sidhu of ChangeQuest and hosted as usual by Lindsay Scott of Arras People.

This session was on how PMOs can help projects to deliver organisational change more effectively. There were several interesting take-away messages, of which I found the most interesting to be:

  • If you want a change to “stick” (without people reverting to the old way of doing things), it is just as important to get the people ready for the change (Change Management) as it is to get the change ready for the people (producing project deliverables).
  • The most successful Change projects allow stakeholders time to “grieve” for the old ways, and time to become familiar with the new ways. These projects put in consistent effort to maintain momentum on the journey from the “as is” to the “to be”, until the post-change ways become “the new normal”
  • Small pilots (preferably including some vocal objectors) can generate early successes that can be used as good news stories to spread the word and help to form positive opinions.
  • Change projects may well be asking BAU workers to carry extra work above and beyond their “day jobs” (with all its targets and objectives). During major changes, a significant proportion of people experience sufficient stress so as to pose a risk to their mental health. What can projects do to help organisations come through the Change experience still healthy?
  • Just telling people about the Change and what will happen will only get you so far. Listening to stakeholders and demonstrating what you have done with their feedback will get you much farther.

PMOs (especially PfMOs) have a unique position on the interface between the projects being carried out to effect organisational change, and the people out in the wider organisation who experience the change happening to them. So PMOs can help changes to stick by:

  • Including change management themes in project reporting (at least as a RAG category, or preferably as a measured deliverable).
  • Devising and delivering approaches to express change management as a quantified KPI.
  • Becoming the “eyes and ears” of projects; picking up informal stakeholder views on projects.
  • Project and Programme PMOs can also make change easier internally by providing good quality inductions for new project team members.

So those were the key points for me (Lindsay’s are here) from what was a very informative and useful session on how PMOs can help to make change “sticky”.

© Copyright Pragmatic PMO Ltd, first published in 2015

Project Planning Pointers

Like a piece of machinery, plans need a good design, room to breathe, and good maintenance…

Project Planning Pointers

A while back I attended an APM presentation on the role of the dedicated Project Planner, part of a series given by Andrew Jones, at the time of Athena Project Services.

His presentation contained several key points that resonated with me so I thought were worth restating in the light of my own experience.

  1. Estimates need to have a solid foundation. No, a finger in the air won’t do here. Base your estimate on a similar project that was done recently. Base it on productivity figures and lines of code. Base it on PERT or three-time estimating if you like, but be comfortable with how you derived it and have at least some idea of the potential error margin. I have used all of these estimating techniques at some time or other, and knowing the likely accuracy at least gives you a guide for how much contingency to build in, which brings me to…
  2. Build in some contingency. A knotty one, this! In most plans where I have explicitly built in contingency, I have been required to remove it to reduce timescales. In most cases, of course, something has then happened to increase the project timescales, and the final delivery has ended up where it would have been with contingency in place, except that the project is now Late. No wonder project managers are tempted to build in “secret” contingency, and deliver on time?
  3. Update the plan with actuals (durations, costs, etc,). This is essential for keeping your schedule on the right track. If a task was late due to a delay, add in a task showing this delay and label it accordingly. The schedule then acts as an audit trail for delivery. If any of the tasks are repeated, use the actuals from iteration 1 to refine the estimates for iteration n. Follow through and see what the impact is on delivery. I have found it is very difficult to get people to care about activities once they’re complete, but this approach does mean that you can apply your learning from the past to the future, and best of all this happens while the project is still running.
  4. Manage the Critical path. Make sure you make good use of dependencies, and as little use of time constraints as possible. I always do this as much as possible, as it enable you to see the effect of any changes on the critical path at the touch of a button. The plan should be a useful mathematical model of the project, not just a pretty picture on the wall of some coloured bars linked together.
  5. The act of developing the plan is as important as the plan itself. Or perhaps more important! Thinking through the steps in detail, rehearsing the project in the team’s collective mind, is a great way of identifying potential pitfalls and managing them while they are still risks, if appropriate.

What are your experiences? Do you agree with Andrew and me? Do you have any planning tips you would like to share?

© Copyright Pragmatic PMO Ltd, first published in 2013

Strategies for social CPD – Creating a PM community

How learning groups spontaneously form and disperse…

Some people sitting at a meeting table watching another person write on a white board. They may well be having a learning session

A while back I attended an APM focus group facilitated by Dr Michael Moynagh of CPD Futures Ltd on developing strategies to improve the way that project professionals approach continuing professional development (CPD). One of the topics that came up was that established approaches to CPD (including the approach promoted by the APM) are somewhat rigid and introspective, and lack a social dimension. The suggestion arose that some sort of group learning approach might be helpful, e.g. creating a PPM Community of Practice.

I have seen this happen with some success (albeit rather briefly!) in the following situation:

  • The organisation had stated its aim of raising the standard of the organisation’s approach to Project Management (and hence the professionalism of the individual PMs)
  • An entire department of PMs had been through some comprehensive PM training (delivered very professionally and capably by Michael Nir of Sapir Consulting)
  • Following the training, all the PMs were given the opportunity to go on and attempt to gain the PMI‘s PMP certification, which a good proportion of them (including me) took up.
  • For those going on to take the certification, there was a fairly hefty exam in prospect, preparation for which involved a fair bit of study and exam practice (I guess this is the CPD / Learning Community equivalent of a “burning platform”).

As a result, a group of us set up “Lunch ‘n’ Learn” sessions every week or so for several months, in which contributors would take it in turns to give a short (20 mins or so) refresher presentation on a topic (say earned value) and then ask some example PMP questions – all over lunch in a spare meeting room.

This worked quite well, but tailed off as the people sat the exams and either passed (in which case they had little interest in attending further) or failed (in which case they generally didn’t attempt a re-sit). It was good while it lasted though, and produced a few learning points for me:

  1. Communities of practice form spontaneously where there are shared interests and objectives.
  2. Participation is maximised when there is an opportunity for (or even an expectation of) contributions from all.
  3. For a community of practice to thrive, contributors must have a genuine interest in the development of both themselves and of others. Don’t be surprised if a significant proportion of potential participants don’t have such an interest. You can lead a horse to water…

Have you seen PM communities of practice? How were they formed (were they organised or spontaneous)? How long did they last? Were they successful? What approaches do you recommend? Let me know in the comments.

Image by WOCinTech Chat, flic.kr/photos/wocintechchat/25392513823
Licence at http://creativecommons.org/licenses/by/2.0

Related articles

Stakeholder-led Project Management (Book Review)

Full title:Stakeholder-led Project Management – Changing the way we manage projects
Author:Louise M Worsley
Publisher:Business Expert Press (New York) 2017
ISBN:978-1-63157-467-2
Pages:191
RRP:£28.45 (review copy supplied free of charge by the publishers)
Rating:****

Overview

  • The aim of this book is to provide a stakeholder-centred analysis of projects, and to explain which stakeholder identification, analysis, communication and engagement models are most relevant to different types of projects.
  • Using case studies from around the world, it illustrates what goes wrong when stakeholders are not engaged successfully, and what lessons we can learn from these examples.
  • The book is aimed at project professionals who find themselves involved in managing projects with stakeholders (so that’s just about all of them then!).

What’s inside

  • This book is based on evidence from over 200 project stories gathered over five years, and the common theme of stakeholder engagement as the key differentiator between success and failure.
  • Having first rejected the term “stakeholder management” in favour of the less sinister-sounding “stakeholder engagement”, the book starts with a review of the current state of stakeholder engagement both in projects (opportunities for improvement) and other disciplines (opportunities for cross-pollination).
  • It goes on to present a range of models and techniques for stakeholder identification, action and review, including the use of emerging communications technology.
  • It continues with an analysis of the difference between communication and engagement, before finishing off with a review of the main learning points, and what to focus on to create meaningful engagement in projects and programs.
  • In classic text-book form (was this book written for PM students?) it finishes each chapter with a chapter summary and a series of questions designed to stimulate reflection.

Some of my favourite take-aways

  • The composition of stakeholder groupings changes over time (sponsors and product users during implementation and after Go Live, widening to include sometimes entire countries in the case of infrastructure projects), so need to plan with the end in mind and engage stakeholders who arent yet aware of or interested in the project.
  • If you think you are doing stakeholder engagement and it’s not making a difference to how you run your project, then you aren’t!
  • Effective stakeholder engagement becomes more important the more greater the technical difficulty of the project, and much more important the greater the human difficulty

    “Projects can no longer choose if they want to engage with stakeholders or not; the only decision they need to take is when and how to successfully engage”

  • Role-based stakeholders are defined by a role they have in the project (Client, Decision maker, Expert). Identify them using organisational breakdown structure analysis, project governance checklists, and asking “who else should I be talking to?”
  • Agenda-based stakeholders represent a viewpoint, usually external to the project, which may not be apparent until a crisis emerges. Although they may be silent initially, these stakeholders often have the greatest impact. Identify these using Focus groups, 1:1 interviews, Strategic tools (e.g. SWOT, PESTLE analysis), successive nomination (snowball sampling)
  • Stakeholder-neutral projects have clear, generally agreed outcomes. Engagement peaks at the project start, and again just before transition
  • Stakeholder-sensitive projects have clear outcomes that affect people and practices. These people need to be considered when designing the outcomes, and engaged throughout the project.
  • Stakeholder-led projects are highly influenced by stakeholder groups and individuals, so engagement is critical.
  • Parallel projects are not directly aimed at programme objectives, but are sometimes set up to safeguard critical success factors for another project
  • Good stakeholder engagement:
    • Gives people a say in decisions that affect them
    • Promises that participation will influence decisions – and demonstrates how
    • Seeks out those potentially affected by, or interested in, a decision
    • Seeks input from stakeholders on how they may wish to participate
    • Provides information, time, and space to allow stakeholders to participate in a meaningful way
    • Is polite

The Verdict

  • This book is written in an easily readable style, is not too long (I read it in 3-4 hours, and I was making notes for this review) and has some useful pointers on how to improve stakeholder engagement, drawn from both theory and experience.
  • With the amount of information and ideas in this book, most PM professionals should easily be able to find enough implementable suggestions to justify the cover price; so this book is recommended.

Related Articles