Architecture Modeling Is Hot!
More and more people are modeling the architecture of their enterprise. Those people are often called architects and the language they use is often ArchiMate.
A benefit of modeling the architecture of the enterprise is that you get an overview and insights into all the dependencies and interrelationships of products, processes, applications, and infrastructure. If you do not have them as an overview or insight, they can be killing (showstoppers) in a project when you want to change products, processes, applications, and infrastructure.
ArchiMate is a one-size-fits-all modeling language and defines three layers. This blog looks into the ArchiMate business layer and how to make it more useful with extensions.
What Exactly Is ArchiMate
ArchiMate is a pretty new modeling language for Enterprise Architecture maintained by The Open Group. It contains a small set of concepts to model any enterprise with. The small set of concepts is both its strength and its weakness: you can model any enterprise rather quickly for communication purposes, but you can't model anything in detail for engineering purposes. For that, you need for instance BPMN or UML.
ArchiMate is a powerful language as long as you respect its purpose: cross-domain modeling and communicating dependencies over layers.
About The Business Layer
ArchiMate defines a business layer. The business layer is a set of coherent business concepts. Below you see an interactive diagram of the ArchiMate business layer modeled here on Dragon1.
The business layer meta-model tells us what relationships exist between the concepts, and also if you create a business model using these concepts, how you may and may not relate things. ArchiMate also has a CRUD matrix with more detail about how you may model and connect concepts.
Because almost every organization has functions, products, processes, and services, also ArchiMate defines them. Business functions and business processes produce the business services and business services are grouped by products. Products have value and contracts. Business actors and business roles use business services. I would personally relate things differently, but this is how ArchiMate defines it (in its business layer meta-model).
And that is an important fact. Every architect will do things differently than other architects. The challenge is to find a language where you can collaborate. And even though you as an architect may not agree on what and how ArchiMate relates and defines things, ArchiMate in practice seems useful to model the architecture of an enterprise high level.
Go to the watch page for this business layer meta model and to the ArchiMate Modeling channel for even more interactive examples.
Remarkable Definitions For Concepts
The definition of the concepts reveals what the creators of the language mean with the concepts. Please look carefully at those definitions, because you may be surprised by what is meant. The better you know the definitions of concepts and how they differ from standards or your preference, the better you can handle them.
For instance, the definition of Actor and Role in ArchiMate differs a lot from UML (The Unified Modeling Language many architects knew first). In UML, an actor specifies a role played by a user or any other system that interacts with the subject. In ArchiMate actor and role both are defined. An actor is defined in ArchiMate as an organizational entity only. One would not assume that a user or any other system equals an organizational entity.
Looking at the Business Service definition, ArchiMate does not define what they mean by service, the definition is almost circular. It may be assumed that with service "the work is done for or the action of help given to an actor" is meant.
Let's take a look at the definition of Product. ArchiMate defines a product as a group of services. More common is to use "an article or substance that is manufactured or refined for sale" as a definition for a product.
There is no need to use a smaller definition than necessary in this case. Why exclude products without services? In practice, we see that using more fundamental definitions for the concepts helps to get more out of ArchiMate.
The business concepts defined in the ArchiMate 2.1 language and grouped in three sets, are:
- Value - the relative worth, utility, or importance of a business service or product.
- Product - a coherent collection of services, accompanied by a contract/set of agreements, which is offered as a whole to (internal or external) customers.
- Contract - a formal or informal specification of an agreement that specifies the rights and obligations associated with a product.
- Meaning - the knowledge or expertise present in a business object or its representation, given a particular context.
- Business Object - a passive element that has relevance from a business perspective.
- Representation - a perceptible form of the information carried by a business object.
- Business Service - a service that fulfills a business need for a customer (internal or external to the organization).
- Business Process - a behavior element that groups behavior based on an ordering of activities. It is intended to produce a defined set of products or business services.
- Business Function - a behavior element that groups behavior based on a chosen set of criteria (typically required business resources and/or competencies).
- Business Event - something that happens (internally or externally) and influences behavior.
- Business Interaction - A business interaction is defined as a behavior element that describes the behavior of business collaboration.
- Business Interface - a point of access where a business service is made available to the environment.
- Business Role - the responsibility for performing specific behavior, to which an actor can be assigned.
- Business Actor - an organizational entity that is capable of performing behavior.
- Business Collaboration - an aggregate of two or more business roles that work together to perform the collective behavior.
- Location - a conceptual point or extent in space.
Why these business concepts are defined and no other ones and why some concepts are grouped, is not made clear in the ArchiMate Specification. From a Dragon1 open EA Method point of view, these concepts are elements of higher-order Business Concepts like 'Business Process Management' and 'Information Product Based Service Delivery'.
It would be very interesting to know and see what the higher-order concepts are that lay behind the concepts in ArchiMate.
Naming Conventions And Definitions
Using ArchiMate can lead to a lot of discussions. For instance, what business actors to name and how to name them, or are they not actors but roles?
Because the language itself leaves a lot of room for interpretation, it is wise to choose a clear definition and list of examples per concept as design or stop criteria.
Always create a naming convention document and make it clear if you are misusing concepts for other concepts intentionally. Write your definitions down to communicate internally how you are using ArchiMate. Note: Don't forget to communicate the version of ArchiMate you are using!
Extending ArchiMate To Make It Even More Useful
Even though you can model a lot of situations and businesses with the small set of ArchiMate concepts, a few concepts often really are missing to model or communicate modern concerns and opportunities. These concepts are Business Activity, Business Capability, Business Ability, Business Disability, Robot, Animal, Human, and Person.
We are at the beginning of a revolution in organizations, at Dragon1 we call this Robotization. And that revolution requires modeling robots versus humans.
- Business Activity - A business activity is the work done or things done or state of things that is engaged in for the primary purpose of the organization or business. Normally an activity requires more than one person (human) to carry out the workout. A business process strings activities together to optimize their dependencies.
- Business Capability - A business capability is an extended ability to do something, like a concept or process (with the help of others): Distributors can make an organization capable (enabling) of selling any products anytime (any second, constantly) anyplace on earth. A capability is not often is about a quality aspect and often performance-specific (SMART): Are you capable of selling your product to anyone?
- Business Ability - A business ability is the possession of the means, talent, and skills to do something, like a concept or process (on your own): An organization is often able to sell products on their own on earth (but maybe not anytime, anyplace and constantly). Ability often is about a quality aspect and not often performance-specific (SMART)
- Business Disability - A business disability is the lack of the possession of the means, talent, or skills to do something, like a concept or process (you can’t do it either way): Any organization today has a disability of selling products in outer space because of lack of infrastructure and facilities. No organization can do it on its own or with the help of distributors.
- Person - A person is an individual human
- Human - A human is an intelligent and complex life form with the ability to speak and have self-awareness. It is an organism that feeds on organic matter.
- Robot - A robot is an intelligent and complex artificial life form with the future ability to speak and have self-awareness. A robot could eventually feed on organic matter. A robot is capable of carrying out a complex series of actions automatically.
- Animal - An animal is non-intelligent and complex life form. It is an organism that feeds on organic matter.
With these extra Dragon1 concepts as an extension for ArchiMate we can model robotized hospitals and modern plants or digitized mega-farms distinctively and understandable. Being able to only use a concept like an actor or role does not lead to distinctive enough or understandable models of these kinds of new businesses.
ArchiMate has a standard way of extending the language correctly. We have done that on Dragon1, so now everyone with a user license can make optional use of these extra concepts as part of the Dragon1 Extension for AchiMate, complete with definitions, symbols, and example viewpoints and views.
Finally: ArchiMate Is Powerful
ArchiMate is a powerful language and its business layer contains essential concepts with which one can model high level any type of business. We can only say: give it a try, use it wisely for only its purpose, and let us know if you created an ArchiMate metamodel via info@dragon1.com.