Portfolio management is the process of a business sponsor deciding which products and features to invest in to stay competitive and increase profit. It is similar to financial portfolio management, where the portfolio manager looks into profitable stocks and mutual funds and decides where to continue investing money.
In software development, this process often starts at the beginning of the year, when business sponsors review their entire product portfolio and decide which new software initiatives or software updates to invest in and which existing products are worth additional investment.
It is often the responsibility of each product manager to identify investment opportunities that keep their product portfolio competitive in the market. Once these are identified, the product manager works with the IT team to understand the costs necessary and brings a cost-benefit analysis in front of the business sponsors for review and approval.
The Software Portfolio Investment Decision Process
Every organization has its own way of deciding which software product investments make sense, but they often follow the same basic decision-making process:
First, product managers will come up with a list of business objectives that they want their applications to meet for the year. These objectives are based on their understanding of customers’ needs, the competitor’s product, and changes in laws or other regulations.
After business objectives for an application are defined, the agile teams estimate the work involved in meeting these objectives so that every stakeholder can understand what it is going to take to be successful. This price tag and a timeline for getting the work done are critical to understanding the return on investment and whether the objectives are worth pursuing.
Once business objectives and estimates are made for all applications, they are reviewed holistically by the organization so that business sponsors can decide which products to invest in to gain maximum business value. It is often the case that requests made are greater than the money the organization can potentially invest in the given time frame, so difficult decisions must be made.
Key decision criteria often include three things:
- Rationale: Business sponsors want to know why each investment is a priority—basically, what type of analysis the product manager has done to prioritize their initiatives. For example, is the objective of the investment to generate more profit? Is it to meet a legal requirement necessary to sell in a particular market? Increasing revenue and profitability sometimes must take a back seat to addressing changes in the law. It’s a product manager’s responsibility to understand the impact of changing laws and competition.
- Timeframe: How much time is this investment going to take and why? This is a crucial aspect of a portfolio investment decision because time is money. If the product manager is not sure what the payoff will be in a given amount of time, it is difficult to say this objective is important from a business standpoint.
- Cost analysis: How much will it cost to implement, and what is the projected benefit? No organization is willing to invest where there is no financial benefit. A solid cost-benefit analysis is one of the important aspects of portfolio management.
A good software portfolio management process allows at least some amount of ongoing changes to occur after an investment decision has been made. It is not uncommon in traditional portfolio management to make biannual updates to business objectives.
The figure below shows how mid-year changes may impact what the organization delivers by year’s end. In this case, Objective 2 was deprioritized after a New Objective was identified and assigned the highest priority. This high-priority item was delivered along with Objective 1.
As objectives change, the new business objectives being realized are added to the list.
Adjusting Portfolio Management for Agile
Agile software development is the way a majority of software is getting developed these days. Agile was created to maximize business value and return on investment by delivering business value frequently. The traditional portfolio process discussed above is very stringent and does not work well with agile software development, as it does not allow agile teams to be as flexible as they need to be based on market needs.
When teams are agile but the portfolio process is not, teams are unable to maximize business value. Sprint-over-sprint adjustments cannot be made outside of the business objectives they are constrained within.
There are a couple of ways portfolio management can be adjusted to address this challenge.
One option is to increase interaction with business sponsors by aligning ongoing portfolio discussions with periodic business reviews or sprint cycles. As product owners and business sponsors or stakeholders review progress, allow business objectives for each product to change as needed to maximize business value. In addition, you can leverage periodic program-level increments, such as what’s found in the Scaled Agile Framework (SAFe), to have portfolio investment discussions across products and program managers. These discussions can be held every two to three months, giving the overall portfolio objectives a frequent refresh.
Another option is to allocate funds for product teams instead of projects or initiatives. Determine a team size and fund it for the entire year, irrespective of the specific business objectives the team will work on. Then focus on high-priority product activities and shift the team’s focus as the business needs change. It takes a change in mindset to move from traditional project funding to product funding, but it frees up teams to decide, along with their product owner and stakeholders, what to focus on each sprint. Considering it takes a bit more agile maturity to work in this manner, it is recommended that you start with the option discussed above unless your portfolio is small and your teams are already agile.
The portfolio process has a big impact on how agile teams function throughout the year. It is extremely important to promote agility through the portfolio process because the business is very dynamic due to a lot of uncertainties. There are a few options organizations can embrace to promote agility in the team and help the team to succeed. In organizations where the portfolio of products is small and products are already matured, having a prefunded agile team will cut a lot of approval time and empower the product manager to adjust priority based on market needs. But where organizations and their portfolio of products are very large and some of the products are already in early development, aligning ongoing portfolio discussions with periodic business reviews or sprint cycles will make more sense.