Here is the next post in my series describing how the Portfolio Analysis module works in Project Server.  I wrote this post as part of an exercise to make sure that I understand what’s going in Project Server – as well as making an initial attempt to lay the pieces out in a way that my clients would understand.  My goal is to develop an Excel-based model that takes the same inputs as Project Server and then generates approximately the same outputs.  As such, I do not guarantee that I have captured Project Server’s own heuristics exactly, but I feel that I have captured the background concepts well enough to explain them.

DISCLAIMER: The worksheet referenced below is not a competing product to Project Server 2010, and does not contain references to any proprietary code.  It was developed based on publicly available information as an Excel mock up of the server-side portfolio optimization calculations found in Project Server.  The goal of this post is for educational purposes only.

Now that we have that out of the way….for previous posts in this series, please refer to:

Pairwise Analysis Demystified

Pairwise Analysis Revisited

…and for the worksheet that I will be referring to in the screenshots: Announcing the Catapult Portfolio Simulator v1.

I’ll be building off of the Excel worksheet referenced above to show you how projects are selected, and then how the optimal solution is selected.  This post assumes that drivers and projects within your portfolio have already been prioritized.  If you’d like to see an end to end example of how the Portfolio Prioritization calculations work, I would encourage you to look at the first post in this series.  In that post, I talked about how the driver and project prioritization mechanism, and provided an Excel-based model of those calculations.

Note as an aside, that if you’re reading this, you should also make sure to check out this fantastic new white paper that was just released by Tim Cermak, Tim Runcie, and Manmeet Chaudhari discussing how to use the Portfolio Management interface in Project Server.

Defining the Solution Space

So we start off with the 5 projects in our demo portfolio, each one ranked on how well it maps to specific drivers.  I assign a proposed cost to these projects.


The first thing we need to do after defining the relative priorities of each project is to assess the potential solutions that we will be working with.  In this case, we have 5 projects, each project capable of existing in two states: Selected or Unselected.  For notational purposes, I will refer to these two states as “Y” – Selected or “N” – Unselected.

Using some basic math, we conclude that we have a solution set comprising 2 to the nth, where n is the number of projects.  This gives us a formula of:

2 X 2 X 2 X 2 X 2 = 32, or 32 potential solutions.

If I depict each solution as a string of Y’s and N’s, where YNNYN means the solution includes Projects 1 and 4, but not 2,3 or 5, then my solution set in total looks something like this:


I can translate this into cost figures by calculating the estimated cost of each of the portfolio solutions.  Example: if we take the solution YNYYN (Column 3, Row 7), which includes Projects 1, 3 and 4, then referring back to the original table, we know that the estimated cost for each of those projects is $75,099, $64,114, and $13,777, or a total estimated cost of $152,990. I sum up the cost of each selected project to create a table like this:


Using the same approach, I can translate each solution into a Strategic Value score (by simply adding the prioritized score of each project portfolio):


Adding Cost Constraints

So now we have a selection of 32 potential solutions, our goal is to whittle away the ones that do not fit within our constraints.  The simplest method of doing that is by adding a cost constraint to the overall proposal.  In this case, against a total estimated cost of $323,207, I have a constrained budget of $200,000.


This budget constraint immediately knocks out of contention any of my solution sets costing in excess of $200,000.  In the following illustration, I have color coded the solutions to display in green the ones that are still within the constrained solution set.


If we introduce no other constraints into the equation, then the optimal solution is the one which generates the maximum advantage within the target budget of $200,000.  Eliminating the solutions that have been forced out, we now look for the maximum score in the remaining solution set.  That is the cell displayed in green.


This gives us a Strategic Value of 74.92% of the overall estimated portfolio, or a portfolio solution of NYYYN (Projects 2, 3, and 4).  That yields us a portfolio that looks like this:


Which actually ends up costing an estimated $167,982, within our budget constraint of $200,000.  We can see that Projects 1 and 5 did not make the cut within those constraints.  Here’s what that looks like when plotted on a scatter chart:



If we do want to include one of those two projects, let’s say Project 1, then we can easily calculate $167,982 + $75,099 to give a revised budget estimate.  That would show up as the following solution in our scatter chart:


Now that we have defined how the model works under specific budgetary cost constraints, in the next post, I’ll talk about how Forcing In or Out a project will impact our portfolio analysis.