“You can’t edit a blank page.”

It was advice given to me by a writer friend, and it’s just as useful in this context too.

In a previous role I got so wound up in wanting to make sure I did things the “right” way, that I ended up not doing a vast amount of anything for fear of doing it the “wrong” way.  Once I managed to see that in doing so, I wasn’t being particularly productive, I threw out that way of thinking, brought my team in, and started drawing boxes.  It didn’t matter at this stage whether they were right or wrong, but they prompted the conversation and it meant we could produce our first baseline.

We began by focusing on applications, the automated data flows between them, the users who interact with them and the manual processes they are involved in.  By keeping the model at this level, we ended up modeling most of our first baseline in “Application Component”, “Business Role” and “Flow” relationships.  Not the most detailed architecture in the world, but enough to walk our stakeholders through to show the complexity and sheer number of manual tasks involved in the systems.

I think that is the first point to be made.  In my mind it does not matter whether an architectural model is 100% valid ArchiMate, so long as it works for you and your stakeholders.

This example has been updated, please see update below.

With the applications in place, we started to build up the technical architecture supporting them.  Adding in the “Node” to represent a server (physical or virtual), and “Assigning” a “Device” to define the hardware type, the “System Software” to represent the operating system, and another “System Software” to show the installed application itself.  All of this then “Realised” the logical application being modeled.

By following these basic patterns, I managed to model a fair “first draft” of the baseline application architecture for my organisation without tying myself in knots that I was doing it “wrong”.

Update – 15/12/2016

Yesterday, I had a “penny drop” moment regarding “Artifact” and “System Software”, and following Jean-Baptiste’s comment below, I shall revisit the technology example above.

Whereas before I had modeled the application software itself as the “System Software”, this is indeed wrong in what I was trying to describe.  Following the comment below, this is stating that the “First Logical Application” is running on a platform such as Java.  What I was trying to show was the application running/hosted on the server.  So, in my new example, I have tried to show both patterns in a more “layered” manner.  Hopefully this makes more sense.