What is your capability model showing you?
In the world of Agile Software development, capability model may not be a term commonly used. We often think of Agile as describing how the development teams function, standups, planning, demo, retro, much of the delivery world moves to the scrum rhythm. Capability model, now how does that fit into building better software?
A capability model is a graphical definition of what your organization does. In the most simplistic form, the model is an outline of business processes. Once the outline is created, the components of the outline can be assessed as to how they are valued and how they are performing for the business. Normally a portfolio team responsible for a line of business will assess the capabilities within their line of business. All of this analysis is just a pre-cursor to portfolio planning that will allow an organization to determine where should we invest in tools to support our business processes. The tool used to improve the performance of a business capability we are going to discuss is software.
So how do you get your capability model to help you decide where to focus your software dollars? And what does that focus tell you about your current portfolio? Lets look at how a Value/Performance matrix and Suitability/Pace of Change Matrix can facilitate the answers to the questions.
In the case of the capability analysis below the organization has defined their portfolio, as needed major improvements to Architecture. This portfolio team agrees that to grow or exploit business capabilities the underlying software architecture needs a major improvement. The shape of the portfolio is helping to communicate where there will not be an influx of new features but that new tools and software will improve capabilities.
For a similar business capability Model but Architecture that can support new features the Architectural Model below helps to communicate that most of the investment will result in new features and may have an impact on organizations other than Software.
In a mature architecture, that is well suited and aligned to business priorities, most of the change in the system will be defined as small enhancements. This allows the rest of the organization to consume change in small chunks so investments in training should be minimal.
Portfolio planning helps the organization to align software delivery to business priorities and predict the impact of software changes. The capability model combined with software architectural matrix is a valuable communication tool.