In a previous post, I discussed the structural/behavioural divide in ArchiMate and how it differs from GOFBF (Good Old-Fashioned Business Function, the one where structure encapsulates behaviour). In this (short) post, I’ll show a way to model this in ArchiMate.
Note: the content of this post has been superseded by the content on this issue in my book Mastering ArchiMate. Follow this link to the book page (with downloadable PDF) for more information.
Two posts before this one provide the foundations for this one:
- On Structure and Behaviour in ArchiMate discussed the division between structure and behaviour in ArchiMate. Some extra attention was given to the position of Business Function. Business Function in ArchiMate differs from some customary approaches where a function is structural and seen as encapsulating behaviour (both in business descriptions and software engineering);
- Business Process versus Business Function discussed the difference between both types of behaviour in ArchiMate and how you could combine both. It produced a view that a Business Function has an internal Business Process that produces the Business Services of that function which may be used in the rest of the organization.
The full world of a Business Function delivering services to the organization can be modeled like this:
The gray box contains the ‘old school’ business function. The structure (role with sub roles) and the behaviour (function and internal processes). That doesn’t look like ‘encapsulation’ yet, but using ArchiMate’s versatile (though underdefined) nesting operator, we can make a view that suggests the encapsulation:
A bit nasty, this one, because the relation between ‘A Business Role’ and ‘ArchiMate Type Business Function X’ is Assigned-To, something not generally expected of an ArchiMate nesting.
We can simplify this picture further (note, all these views come from the same model, they are just presented in different ways to convey a different message):
The Realization relations from ‘ArchiMate Type Business Function X’ to ‘Service A of Function X’ and ‘Service B of Function X’ are derived from Composition (from function to process) and Realization (from process to service). We can remove ArchiMate’s Business Function from the view and summarize one level further to get one single object in the gray grouping:
And there you have it: a GOFBF viewed as a structure encapsulating behaviour. Conclusion: If you want to model a (structural) GOFBF, you can use Business Role in ArchiMate.