With the introduction of the ribbon for Office 2007 and finally Project Professional 2010, Microsoft significantly changed the way of working on projects. From a data modeling perspective, it makes sense to combine all project-related functionalities in one tab and, alternatively, task related ones in the other.  But from a user perspective there is room for improvement. Still, one version later with Project 2013, project managers and schedulers continue to  switch back and forth in the ribbon between the tabs in order to work with a tracking view (in the Task tab) and then set a baseline (in the Project tab).

Could you increase your productivity and work more efficient with a custom ribbon? The answer is yes, definitely.  Additionally, you can design your ribbon within common project management processes like the Project Management Institute (PMI® ) or CMMI, or modify it to fit your processes.

For this article we will reference common process groups (stages of the lifecycle) according to PMI®:

  • Initiation
  • Planning
  • Execution
  • Controlling
  • Closing

Following we will discuss these topics in more detail.

The Custom Ribbon

Let’s have a look at a custom ribbon in Project Professional 2013. (The customizations discussed in this article apply to Project Professional 2010 as well).

Pic1_CustomRibbon

Instead of navigating in the client via the different entities like Task, Resource or Project, we introduce a custom ribbon to follow the Process, including some generic functionalities. The idea behind this action is to combine the most often used functions like Open, Save and Publish (in a Project Server or Online environment) and make them easily accessible right from the beginning.

After the change, the Initiation phase addresses typical tasks like creating new projects from a template, showing the project information dialogue box, and setting the initial baseline. Instead of navigation through the ribbon, this 1-click functionality automatically sets the baseline 0. You may believe this is accomplished via a complex macro, but actually the code to set the baseline 0 is just one line.  The one line can be easily implemented by using the macro recorder and saving the code.

Pic2_Initiate

As required by the process, it is now time to plan the project, define and detail out the schedule, plan the project team and assign resources. In a server or Project Online environment, the Plan Resources function would show the dialogue box to add resources from the Enterprise Resource Pool.  In the local client, it would pull up the Resource Sheet to enter new resources.

Pic3_Execute

Other useful snippets of custom code used are the macros to set fixed work.  In this case, fixed work is set to allow planning durations without jeopardizing the already-planned work for tasks. It can be the other way around also by setting a fixed duration in order to plan the work.

This approach is another useful improvement and adds value for new and experienced project managers and schedulers. Although it is more or less a simple macro, a task loop with error handling should be considered for each set of custom code.  Otherwise, external tasks, empty tasks (empty lines) could cause the code to stop.

While the Closing phase repeats some steps from the Initiation phase, such as Update Project Information as well as Save and Publish, the Controlling section is straight forward and points the user to different views and controlling functions. Indicators will bring up a special Gantt Chart View that filters for tasks with indicators while Work is pointing to a modified Task Usage View in the client.

Pic4_Controlling

Adding Reports is one enhancement to the Process ribbon not discussed in this article.  While adding Reports would be an additional button, Visual Reports in Project Professional 2010 and the new Reports in Project Professional 2013 are worthwhile to have available on their own ribbon tab.  Navigating through the dashboards including Burndown Charts and Work Overviews is valuable and would be well placed in its own section so as not to overload the controlling section of the Process ribbon.

Pic5_ReportsPic6_Customize

Global.MPT

How can all of these improvements be accomplished in the client? The answer is by changing the Global template; the Global.MPT.  The Global Template  is individually created and stored in the Users Profile Directory, but the customization can done via a dialogue box which allows adding new buttons, functions and combining existing actions on a custom ribbon.

Server or Project Online Environments

So far we have discussed the ribbon in the Project Professional client only, but with a server or Project Online environment in place, there are additional benefits and opportunities as well.

Project Sites

Define a project site template with a pre-configured folder structure. Throughout the lifecycle, capture document templates for the Project Charter.  Also, use the wiki to capture lessons learned.

Project Center

The ribbon in the Project Center cannot be modified. But custom views for planning, execution and controlling can be created to accomplish a similar experience as with the process driven buttons in the Project client.

Workflows

Implement workflows with the out-of-the-box functionalities of SharePoint Server to support Initiation and Closing of projects.

Project Templates

Last but not least, consider using process-conforming templates. This can be the cherry on the sundae to be more productive with Project Professional.

Conclusion

A custom ribbon is a relatively easy customization to implement and adapt Project Professional to individual needs and requirements. In an enterprise organization, it can help to support and align processes and data quality as well as improve the overall usability.

While we have discussed a custom ribbon and the modifications made to the client on a high level, the MPUG web event, Increase Your Productivity by Directly Implementing Your PM process within MS Project addressed this topic in more detail and explained the background. We also provided some examples of the custom code and explained how to roll-out modifications in an enterprise environment.