Product portfolio management has become an essential discipline for all development organizations that want to achieve enterprise agility. The repeated process of selecting, sizing, and prioritizing the work to be done ensures that their development teams are delivering the most valuable products and enhancements for the business’ clients. This is required for both external clients in the case of product companies and for internal clients in the case of IT organizations. However, the subject of this paper is another, possibly even more important, reason: avoiding the overloading of the organization’s development teams which greatly lowers their efficiency.
This article will discuss: 1) how overloading teams significantly degrades their performance, 2) a principles that can guide the sizing of the features coming out of your product portfolio management process, and 3) why product portfolio management is a critical component of a transition to agile methods.
Effectiveness and Efficiency
Agile organizations need to be both effective and efficient. Effectiveness is doing the right thing and efficiency is doing it without wasted effort. Being inefficient, even if working on the right thing, is like trying to pile boxes up to climb over a wall when a ladder is available. Efficiency without effectiveness is like quickly climbing the ladder that is placed on the wrong wall. Agile organizations have to look both at selecting the right work for teams to do and then using appropriate methods to get teams to do their development faster. We can think of this as a two step processes—selecting and developing, as depicted in Figure 1. Done properly, we call this “fast-flexible-flow” because we can readily select what is needed (effectiveness) and development it quickly (efficiently).
Figure 1. The flow of selected products to the development teams
Also, illustrated in Figure 1, isthe relationship between these two parts of the development process. Consider what happens when too many things come out of the pipeline on the left, forcing their way into the pipeline on the right. Or what happens if these selected items are very large. In both cases, the development pipeline jams up. To achieve flow across the entire pipeline, the organization has to not only prioritize the proper features, but size them appropriately and only allow a certain number to reach the teams at any one time.