Monday, January 29, 2018

How to display phases and milestones in the Project Center?

The Project Center is still after many years a central point when working with Project Server and Project Online. With the introduction of Business Intelligence tools such as PowerBI, SSRS, Excel Service, our customers have become more and more demanding in visualization capabilities. Especially in the Project Center which proposes a synthetic view of your projects portfolios, directly connected to the project details. For example, we always try to push our customer to stick to the project management best practices, meaning following a set of predefined phases. 
Project Center view
That being said, the project center core almost hasn't changed since Project Server 2002, which limited capabilities of customizations. I'll show you that you can anyway use those limited capabilities to display in the Gantt chart project phases and milestones.

Before starting, I would like to give credits to Erik Van Hurck who wrote an excellent post about this same subject. I'll start from that, give some ideas to go further and include the milestones in the approach.

1-Configure a custom Gantt chart
Oddly, you'll not use enterprise custom fields which are quite the first step of a Project Online configuration. The corner stone of this approach is to use CUSTOM dates. In the PWA Server Settings, go to the "Gantt chart formats" and choose a custom format such as Gantt1 to customize it, eventually rename it. You can specify a visualization for each phase using custom start and finish dates. In my example I have 9 phases (I know, it is too many...) and a key milestone. Note the configuration for the milestone where you configure the beginning and finish of the shape, but not the shape itself. 
Custom Gantt chart customization

I usually also remove the project summary task so you won't have a summary task bar above the phases.

2-Configure the custom Project Center view

You can now create a new view from scratch or by copying an existing one. You'll have to use your Gantt1 custom format.
Custom view configuration using the custom Gantt

3-Configure the custom start and finish dates
The tricky part is that even if you use custom durations in the custom Gantt format, you must not use the custom durations in the projects. The Gantt format custom durations in PWA are actually not linked to the project custom durations, but are the difference between custom finish and custom start dates. Thus in MS Project, just configure your custom start and finishd dates. You need to set up a trigger to copy dates into custom dates. My advice is to use a task custom field with a drop-down list to copy start/finish dates into the custom n start/finish dates. Doing this, you get rid of typos. 

Local custom field configuration
Note that (thanks Erik for the tip) in the formula for the start dates, you have to set a far far away start date if the condition is not fulfilled, with a rollup at minimum. On the contrary for the finish dates, set an oldest date in case the condition is not fulfilled, with a rollup at maximum. Doing this, you're sure that you'll get the earliest start date and the latest finish date.

Note also that since there are local custom fields, you have 2 solutions to make those fields available for users (even if they don't have to update those calcualted field) :
- Add them to the Enterprise Global using the organizer.
- Add them to your WBS associated with your EPT (my choice).

To go further, you should define a WBS with your phases and this "phase" custom field already pre-configured. 

Once done, this is all automatic for the users, as soon as they publish their projects once you did the configuration. They just need to be careful to correctly enter the phase custom field (task level) in the project. The dates should be copied in the custom dates, then the Gantt chart will use them in the Project Center. Note my key milestone shown as a red star.
Custom Project Center view with phases and key milestones

You have only 10 custom durations, meaning that you can configure up to 10 phases/milestones. I've tried to simply use a start or finish date for the milestones, so I can configure 2 milestones on a single custom duration, but so far no luck. I think this is because it needs a start and a finish date to calculate the custom duration, even if it is a milestone.
The other limitation is not really a limitation, at least in my use case. Since you're using local custom fields, they are not in the reporting tables so you cannot use them in your PowerBI reports. But as I advice to use a "phase" task custom field in your WBS, this would be the one used in your reporting.

Share this article :

1 comment:

  1. Hi Guillaume,
    thank you very much for the post and the credits. I like the contribution you made to the complete solution.

    Kind regards,
    Erik van Hurck