API Modelling: What is a Business Capability?

In the API design process, it is useful to first identify the business capabilities and the abstract resource model that support the design. This is because an API product specifies what business capabilities it provides. But what exactly is a business capability?

According to Vernon [1] , a business capability is “a function of the business that exists to generate revenues”. Business capabilities capture the structure of what the business does and focus on the outcomes. It is what the business does to generate revenue. Vernon differentiates a core business capability (one the business must excel and differentiate itself with) from a supporting business capability (one needed to make the core capabilities work).

“A business capability must be directly connected with at least one business goal. There should be no speculation about the need for a company to define a business capability”

Vaughn Vernon and Tomasz Jaskula [1]

While a business capability is what the business does, how it does it is a business process. Vernon describes business processes as a succession of activities that define and support business capabilities. Business process models show how information and materials flow in the business. Business processes change often as technology, regulations and policies change.

In regards to naming style for modelling, Vernon recommends using a noun-verb combination for naming capabilities. For example, Claims Processing. For business processes, a verb-noun pattern is recommended. For example, Check Claim Request.

References

1. V. Vernon and T. Jaskula, Strategic Monoliths and Microservices: Driving Innovation Using Purposeful Architecture. Boston, USA: Addison-Wesley, 2021.

Leave a Reply