In this blog, you'll learn
When we describe different kinds of architecture, we do it using principles and models. To show why each principle is important, each one is explained with a rationale, and is related to certain strategic objectives. By applying these principles to every change, we can be sure the solutions we’re working on are always broadly in line with the future vision for that organisation. Personally, I like to make this more concrete by adding a paragraph to each principle called “implications”
In previous blogs, I’ve used the metaphor of a city’s zoning plan to explain enterprise architecture. Here, the principle might be: “We build sustainable, climate-friendly residential areas.” The rationale could be achieving carbon neutrality by 2050. And the implication is incorporating trees and grass, with separate sewerage for rainwater.
Alongside principles, we describe architecture using models. This has two stages. First, we decide what we’re trying to achieve with the model: which message are we conveying, and to whom?
Then, once that’s agreed, we draw up the model using all the building blocks at our disposal, both inside and outside the organisation. These might include existing enterprise architecture, as well as reference architecture and patterns.
Some models can only be used once. But most of them – like the enterprise architecture and domain architectures – will need to be used repeatedly and understood in a variety of contexts. It’s therefore important to reach clear agreements in advance about layout and language use.
This is why we use a framework and metamodel.
Models come in many shapes and sizes, so it’s important that we can describe them in a consistent way. We therefore use a common language, ArchiMate.
ArchiMate gives us guidelines about which elements and relationships we can use, much like words and grammar in a spoken language. We can build these into models, which are the equivalent of sentences. And these can, in turn, become part of a larger story: the business, domain, or project architecture.
And like any language, these rules give us many ways to express ourselves. Over time, the language has expanded to include additional concepts that are only useful for specific cases. This gives us too many options in some areas, and in others it’s not explicit enough about certain distinctions.
We therefore needed extra agreements about how we use the language in practice – and we recorded those in our metamodel. This shows the ArchiMate elements and relations we use most often in practice, mapped onto our own architecture framework.
While the metamodel shows only the parts of ArchiMate we use most often, we can use other elements if we need them. It works as a guideline, or a starting point – and we can adapt it as needed within the limits of the language.