When I started writing a previous post on how to map a Visio Services timeline to live Project Server data, I was looking for a relevant example of how to use Visio’s graphical representation capabilities to surface Project Server data – a topic on which I’ve already posted quite a bit.  This is the actual post that I started writing at the time which then got sidelined for a little while…how to map project or portfolio data to a geographic representation using Visio and Visio Services.  (In this case again, I owe credit to Visio guru, David Parker, for a couple of tips in a blog post on how to get maps out of Bing.)

I’ll point out that if you’ve read some of my other posts on Visio Services, then this is nothing too different.  Hopefully this just presents another option in the rich vein of surfacing Project data to make it readable to non-Project resources.

First a disclaimer: people talk a lot about how folks within the DC beltway start to see the world differently and have a slightly skewed perspective on the world.  Well, the same would apparently be true of folks living in Edinburgh, Scotland and Houston, TX.  As my Edinburgh-based collaborator, Rob Schneider and I tossed around ideas for relevant ideas, we decided to launch a series of posts aimed at a wide audience on using the full capabilities of Project Server 2010 to optimize drilling rig schedules in land-based oil fields.  (For those of you not actively involved in optimizing drilling rig schedules, take this as a case study in managing resource constraints using Project Server 2010.)

In this case, my goal is to marry Project Server data with a graphical representation in Visio.  This example will be for mapping portfolio information to oilfield drilling rig schedules, but the same principles may also be applied to mapping project data to departments or phase data to pipeline construction maps – or any number of examples. 

Rob Schneider, an Edinburgh-based Microsoft Project consultant and Executive Secretary of the Scottish Oil Club, helped me out with some of the concepts.  Please feel free to follow Rob on his blog.

Our end goal is to develop a prioritized, resource leveled schedule and reporting on it in a geographic format that looks like this:


In this example, we have leveled our key resource, the drilling rig, and then surfaced the start date for each of the drilling activities next to each of the wellheads on a map of an oilfield.

Develop a Prioritization Matrix

The first thing we need to do is identify what data we wish to display as part of our reporting tools.  I have a couple of options here.  I could display the total cost of projects scheduled for each of the wells, the total number of maintenance tasks scheduled for the current planning horizon, or a wide range of other data.  In this case, to try out Project Server 2010’s new Portfolio Management capabilities, I plan to simply report the next date upon which the rig will visit each of the wells.  This is a key date for the well operators, as a rig visit can be quite disruptive to regularly scheduled maintenance work.

The rig (which for all intents and purposes resembles a large 5 story office building on wheels) has to visit each of the well pads periodically to clean or redrill the well.  Our first goal is to calculate the optimal sequence of drilling using Project Server 2010’s portfolio management tools.  The second goal is to predict the Start and/or Finish date of the drilling activities for each of the wells. 

(I’ll preface this example with the disclaimer that while I’ve worked in the Oil and Gas industry, I make no claims to have a background in the field.  If anything here is inaccurate or misstated, please let me know. )

So, in this case, I set up 8 well maintenance projects in Project Server.  Each of the projects provides a list of scheduled activities for each well.  Additionally, each project schedule includes a series of rig visits, planned out for the foreseeable future.  I have added a couple of custom fields which we’ll talk about in the next post that roll up key data to the project level.  Most importantly, one of these key fields rolls up the next drilling date to the project summary task.  That is the field we will surface in the Visio map.

I created a Project Center view to see all of the projects.  As part of this view, I have incorporated a couple custom fields.


I also created a couple of drivers to help prioritize the projects.


I ranked the projects against the drivers.


And the results of the prioritization, after being dropped into Excel appear as follows:

Project Name Priority
Well 2 Maintenance Project 24.06%
Well 3 Maintenance Project 22.64%
Well 7 Maintenance Project 15.57%
Well 5 Maintenance Project 14.15%
Well 6 Maintenance Project 7.55%
Well 1 Maintenance Project 6.6%
Well 8 Maintenance Project 6.6%
Well 4 Maintenance Project 2.83%

(At this point, I point out that one option for a useful add in would be a tool to automatically map the portfolio priority to the project priority – thus assisting in identifying the optimal resource leveling calculations.)

Next Step: Leveling the Rig Schedule

In the next post, we’ll talk about how to set up the project schedules and level the rig schedule.