Business
processes are used commonly for a long time. Most of the architecture
community is using different notations for describing business
processes. It doesn’t matter if it’s a known standard such as BPMN or
custom notation, we are all finding ourselves describing business
processes which are taking place in our enterprise.
Business
capabilities, abilities or function are less common, although they
might be more important to us as enterprise architects. If you want to
understand why business capabilities might be more important to you,
keep on reading this short post.
There is a basic
difference between business capabilities and business processes. The
first is “What” the business can do in order to reach it business goals
and objectives, while the second is “How” the business is doing those
abilities, or what are the actions that taking place in order to do
each one of those capabilities. For example, we as human have
capability of reading. In order to do this capability we need to see,
understand characters, combine them into words and combine words into
sentences. Needless to say that it’s much easier to grasp and describe
business processes (or how we’re doing task) rather then thinking what
are the capabilities that we need in order to reach our business goals
and objectives. It’s easier to ask people what they are doing and
simply to document it by following any description language.
Capabilities, on the
contrary, are more difficult to deal with. They are more abstract, and
everything with higher level of abstraction takes more time and effort.
But, capabilities have one huge advantage. What the business is doing
is rarely changed while how the business is doing it tend to change a
lot. If we’ll get back to humans, the ability to read always exists. Reading might be achieved differently by blind people, but they still have the ability to read.
For enterprise
architects who are building agile architecture it seems that abilities
(which rarely changed) are more important then business processes
(which tend to be changed). The ability of enterprise architect to
command his enterprise capabilities is vital to create agile
architecture that will support business changes over time. To better
command your enterprise business capabilities set what are the basic
attributes that each one of your enterprise capabilities should have
and assign them values. After understanding capabilities start to map
and model the processes that the enterprise is doing to achieve those
capabilities. If you’ll define the right capabilities and their
attributes you can turn them into services that your enterprise need in
order to reach it goals and objectives.