There are two ways to look at the topic of Portfolio Management:
- How do you incorporate projects using an agile approach into your broader overall portfolio
- How do you manage your portfolio in an agile manner?
Kenny Rubin in his presentation Strategies for Portfolio Management explored the second, which implicitly covered some of the first.
About the Talk
The talk centered around nine strategies for managing a portfolio while taking into account agile and lean ideas. He grouped these into three groups:
- Optimize for lifecycle profits – consider factors such as waste, cycle time, variability, efficiency, revenue, etc in combination.
- Consider cost of delay – consider the cost of releasing something later compared with the cost of rushing to release it sooner.
- Estimate for accuracy not precision – it doesn’t pay to be very precise when you are estimating, and there is a good enough level of accuracy that provides enough information for a decision and optimizes the effort needed.
- Manage project arrival rate – review your portfolio more than once a year.
- Embrace Emergent Opportunities – Maintain some flexibility to respond to emerging opportunities.
- Smaller, more frequent releases – strive for smaller initiatives and releases to lower risk and make balancing the portfolio easier.
- Focus on Idle work, not idle workers – this is a similar concept to optimizing on cycle time, not utilization that Jez Humble mentioned in his presentation
- Establish Work In Process Limit – determine the number of projects in flight at any one given time based on the number of teams, not the individual team members.
- Complete, engaged teams – don’t start working on a project until you have a complete, engaged team to limit the amount of “getting up to speed” required, and to ensure that everyone can provide input into critical project decisions.
Application to Business Analysis
These strategies provide guidance for deciding what to do when, and how to organize to do them. Some of the ideas reinforce the thoughts shared in other sessions that you want complete, cross functional teams working on efforts and to track work at the team level rather than at the individual person level. Additionally, a key idea I got out of the talk is the difference between the output of an iteration and the output from a release.
- Teams deliver the output of an iteration (code ready to be released to production). This is a team decision when to do this and is made when the team decides the length and scope of an iteration.
- When to release the output of multiple iterations is a business decision based on when the customer can absorb change. The release impacts the economics of the effort because releasing things to the customer may start generating revenue.
One final thing to consider from an enterprise analysis perspective, portfolio planning and management is how an organization implements their strategy.