Project Portfolio Optimization is an extremely difficult problem to solve. There are an astronomical number of combinations to select and schedule projects optimally within the scarce and limited resources available.
In addition, there are several conflicting business objectives to be considered when creating a portfolio; consequently, there is a need to optimize the trade-offs between these conflicting objectives. Traditionally, “optimization” of a portfolio is a very manual and time-consuming process, typically producing sub-optimal results that lead to waste and delays in projects and processes.
The former Hewlett Packard Global IT organization used data from the HP-Software tool, called Project Portfolio Management (PPM) and spreadsheets. Many potentially useful portfolio scenarios were never considered due to the enormous complexity of manipulating the hundreds of projects involved, along with interlocking dependencies and resource requirements.
Typically, global IT organizations create a portfolio of IT projects for the next fiscal year three months in advance complying with the Project Management Institute’s (PMI) guidelines (see Figure 1). This process includes the following steps:
- A business unit identifies business requirements that can be satisfied by creating an IT project
- Business and IT planners then
- estimate the project’s direct benefit, costs and duration
- determine the sponsor, KPI scores, investment area and overall priority of the project.
- The IT project proposal follows various reviews by the so called project portfolio review board (PPRB) until the PPRB planners “recommend” developing and deploying the IT project.
HP Global-IT had two tools to capture the data to create the IT Project Portfolio: The Business Value Proposition (BVP) tool captured estimates of the benefits, KPIs, non-labor costs, priorities, etc. and the Project Portfolio Management (PPM) tool captured IT project IDs and names, project duration estimates, project sponsor, investment area supported by projects, labor costs, and staffing profile.
Generating a portfolio of IT projects was challenging because there were many dimensions to consider: multiple IT organizations, multiple investment areas, and multiple executive sponsors. There were thousands of IT applications and there was a “many-to-many” relationship between IT applications and IT projects.
There were multiple objectives aligned with the company business strategy. These business objectives included: total Project Ranking maximization, total Project Score maximization, total Project Benefit (direct or indirect) maximization, and maximization of total project scores with respect to a specific Business Objective, such as Customer Satisfaction, Strategic Alignment, Technical Alignment, Capabilities Roadmap, Employee Satisfaction, Legal / Regulatory / Audit, etc. The final IT project portfolio was approved by the CEO and executive council, and, many times, interests of these decision makers were in conflict. An IT project portfolio was created once per year. Clearly, this manual process was highly inefficient and many times the portfolio generated was infeasible due to violations of business rules or project precedence constraints. In addition, due to uncertainty associated with changes in the business requirements and labor availability, the IT project portfolio became obsolete very quickly.
The problem to address was how to optimize the selection and scheduling of a portfolio of IT projects such that the trade-offs among various objectives are optimized, while satisfying resource constraints (e.g. labor availability and budgets) and other business constraints (e.g. project precedence constraints).
Hewlett Packard (HP) split/merged into four companies: HP Inc., Hewlett Packard Enterprise, DXC Technology, and Micro Focus.
A decision support tool, called Project Portfolio Optimization (PPO), was built to automate the number crunching processes during the creation and maintenance of a portfolio of IT projects. To address the uncertainty and ongoing flux of IT business conditions, the PPO tool offered “what-if-analysis” capabilities for business and IT planners to shape a project portfolio that optimizes the trade-offs of the various business objectives and satisfies resource and business constraints.
The key decision variables of the PPO model were the selection of IT projects to be included in the portfolio and the start times of the selected projects. The input data for the PPO model came from the BVP and PPM tools. The PPO model could handle a single business objective maximization problem or it could handle a problem with multiple business objectives using the lexicographical (hierarchical) method. The key output of the PPO tool is shown in Figure 2.
In a nutshell, the PPO model can be summarized as follows.
Maximize project portfolio business value
- Budget constraints
- Resource constraints
- Scheduling constraints
- Strategic alignment constraints
The PPO tool ran in the former HP-Cloud and supported multiple concurrent users with various roles and capabilities. The tool had a Staging Area Database to frequently refresh PPO data based on defined business rules. The front end of PPO performed incremental updates instead of full dataset load and managed new information in the staging area data base. The PPO tool had an optimization scenario queue manager which allowed the use of multiple Gurobi servers, hence solving multiple scenarios at the same time.
Why did former HP choose Gurobi?
- The PPO application tool was developed using Gurobi 6.5.2
- Gurobi has multiple programming language APIs that allowed the PPO tool to be built in the appropriate programming language for each business unit where PPO was developed and transferred. For example, at former HP Labs the Gurobi C++ API was used. At former HP Global IT, the Gurobi C# API was used. At former HP SW, the Gurobi Java API was used
- Mathematical programming is a declarative approach where the modeler defines an accurate and efficient mathematical formulation to tackle the optimization problem at hand. The mathematical formulation of the PPO problem called the Gurobi solver to find the “optimal” portfolio. Hence, when changes in business conditions occurred, editing the mathematical formulation to reflect these new business conditions is much faster than altering an exact algorithm or a heuristic approach. The PPO team was able to make changes to the model and front-end of the tool and test the changes in a couple days. The front-end changes were the bottleneck, but changes to the model were done in a matter of hours. In comparison, traditional IT developers take weeks or months to make changes and run tests on project portfolio management tools.
- Gurobi’s performance was critical for the successful implementation of PPO at former HP Global IT. A typical portfolio with hundreds of projects took only a couple of minutes to solve.
- HP SW business units asked the team to compare Gurobi with an open source solver. The team used a real scenario created by a business planner with hundreds of projects. The open source solver took more than 40,000 seconds (i.e. more than 11 hours) to solve this scenario, whereas Gurobi took 8.53 seconds. Gurobi was 5000X faster than the open source solver.
- Gurobi’s development and support teams were very helpful in making the PPO model even more efficient.
- The Gurobi sales team was extremely helpful providing the appropriate pricing for the Gurobi licenses required to satisfy the business needs.
The PPO tool was used by former HP Global IT to create the FY2015 IT project portfolio. The PPO tool generated 90% of the portfolio benefit with 24% of the portfolio’s cost, while ensuring strategy alignment and execution ability.
The PPO tool was compared with the manual process previously discussed and it was calculated that the PPO tool constructed a portfolio that drove a $100 million financial benefit to the company versus the portfolio derived by the manual process.
In 2016, the PPO technology was transferred to the former HP-SW PPM R&D team.