Working with a large ArchiMate rollout, I’m struck by how much people struggle with the distinction between passive structure, active structure and behavior. In this post, I'm going to offer some observations on how useful the ArchiMate grid has been when I've been put on the spot.
Takeaway: I've found that the 9x9 grid of Archimate – Passive/Behavior/Active and Business/Application/Technology has been an excellent skeleton to support understanding of ArchiMate, both for myself and for others.
I wrote once about how you have to have a metamodel to be able to do meaningful modeling. Given that this is the case, I almost always suggest that people use ArchiMate. While I do think that ArchiMate has a pretty clean approach compared to some other frameworks, this is based on more than aesthetics – it's that ArchiMate is well on its way to becoming the de facto standard for architecture modeling, in the same way that BPMN has for process maps.
Unfortunately, while the ArchiMate language itself is pretty mature, there's still a lack of reference models and examples for people to work from, and I find that people often struggle to apply the language, even after training. Now, I'm not a certified ArchiMate trainer, and don't represent myself as such, but the reality is that I've had plenty of cases of people asking me, as someone more familiar with ArchiMate than them, what the best way to represent a specific situation is (and explain why).
A secondary question is often “What viewpoint should we use?”
After being put on the spot like this plenty of times, I've found that the best part of the ArchiMate specification to refer back to, is the grid at the start of the specification.
ArchiMate explicitly divides entity types into passive objects, that are acted upon, active objects, that do things, and behaviors, the things that they do. These columns in the grid help you ask the question – is this a thing that does something, is an activity, or has something done to it. In other words, is it Active, Behavior, or Passive? The second question is to understand which layer it falls into, but in my experience this is usually much more obvious.
The next way that the grid helps is in embedding the concept within ArchiMate – services are behavior that the layer exposes to the layer above, interfaces are active structure that the layer exposes to the layer above. So an Infrastructure Interface is an active structure object exposed to the application layer, while an infrastructure service is a behavior exposed to the application layer (probably by one or more infrastructure interfaces).
So, when I'm put on the spot and asked, “what object should {random concept} be”, I always look to the grid and ask
- What layer does this belong to?
- Is it Behavior, Passive Structure or Active Structure?
In this way, using the ArchiMate grid becomes an invaluable way to sort concepts into their correct ArchiMate buckets.