Why is Stakeholder not a Role in #ArchiMate?

In Plato’s ‘Socratic Dialogue’ Protagoras, Socrates and Protagoras (the great ‘Sophist’) have a discussion on what knowledge and skill is and how people acquire these. I am reminded of that discussion as I am thinking about how to explain my reasoning on the issue of Stakeholder versus Role. More about that at the end.

In my book, I’ve written a few proposals for what in my experience would be improvements for the ArchiMate language. One of these proposals is to integrate the ArchiMate Extensions better with the ArchiMate Core and part of that was to see Stakeholder as (a type of) Role. Those that do not agree generally argue that a Stakeholder is different than a Role, because the Stakeholder does not have behaviour that is specific for what you are describing, a Stakeholder needs not to interact with your architecture, while a Role does. An example given by one of my correspondents was:

I’m the neighbour of a restaurant. I’m stakeholder for the restaurant, not because of my behaviour, but for other reasons. Unless you would say that ‘being a neighbour’ is behaviour in the ArchiMate sense, but that is absurd.

Hence: Stakeholder fundamentally differs from Role and it is correct to have a separate concept.

Before going into the extreme of the neighbour of the restaurant, let’s go for a more common type of example, for instance those from the official standard itself. The standard has two examples. Example 48 shows two Stakeholders: CEO and Customer. Example 54 shows one Stakeholder: CFO. Here it is recreated:

Now for this example (and for the other from the standard), we cannot say the Stakeholders do not interact with the behaviour of our organisation, can we? Instead, we can say that the behaviour of  CEO, Customer or CFO may or may not have been modelled. But this is quite common. How many of you have modelled the architecture of, say, the Finance department? Or the HR department? Or the Business Continuity people? IT Support? Or the CEO for that matter? Not modelling behaviour is what we do all the time. We cannot model everything, we always model a selection.

In the view that led to a separate Stakeholder concept, there may be ‘parties’ that do not have a ‘performing’ role in our architecture at all, but they somehow have a stake in the results. Interesting, then, is what happens when a ‘party’ has both. One of the Stakeholders in Example 48 in the standard is Customer, even and it is obvious that the Customer is also a Role somewhere in our architecture. The separate concept for Stakeholder in fact forces us to model that party twice in our architecture, once for each aspect.

In fact, every stakeholder you can imagine does have some sort of behaviour (we do not accept passive stakeholders, though in extremis I can imagine it) and must be a Role in some other perspective. It will be a role somewhere, somehow. We may not model that behaviour here and now, fine, but that only means the relation with Drivers and such is a different one, not necessarily that the concept is a different one. So, we can show that with a different relation instead of by inventing yet another concept, e.g. like this:

Standard Example 54 - Amended - Step 1

The CFO is Assigned to (‘performs’) the Finance Business Function, but he is Associated with the Costs Driver. Same concept. Different relation.

Before going on, it is for me even clearer for the Assessment concept. That clearly is something that is created by some sort of Business Process, it is obviously a passive element. Such an Assessment, in other words is also a Business Object that is created (Accessed) by some sort of business behaviour: e.g. the Create Cost Assessment Business Process. So the integrated version becomes:

Standard Example 54 - Amended - Step 2Here we see that Cost Assessment is a Business Object that is Accessed by the CFO’s function. In the current setup of ArchiMate, as soon as a Stakeholder is also a Role in our organisation, we often need to model the same ‘party’ twice. Like this (I have used grouping to show which ones are in reality the same ‘party’):

Standard Example 54 - Amended - Step 4
This segmentation/fragmentation is not to my taste. It breaks an essential basic idea of what architecture is about: coherence.

What about a ‘detached stakeholder’, then? You know, the one that does not perform in our architecture at all, such as the neighbour in the architecture of the restaurant? Well, suppose our organisation is a charity and suppose that charity has strict cost limits that are enforced from the outside, e.g. a regulator. We won’t model the behaviour of that regulator (we may, e.g. when we model that we have to deliver reports to them, but let’s ignore that for now to create a ‘detached’ Stakeholder as per the original restaurant-neighbour argument), but we do want to model the regulator. I would be fine with:

Standard Example 54 - Amended - Step 3

Yes, the Regulator has behaviour that I do not model, not even the behaviour that directly interacts with our architecture. It still has behaviour somewhere, which alone already makes using a Role concept appropriate.

The separation of Stakeholder from Role for me is akin to inventing new architecture concepts for HR, Finance and everything else you often may not model fully. There is a basic question for me that underlies this and which takes me back to my first ever post on this blog (before ArchiMate 2 with its extensions even): aspects like system ownership, infrastructure exploitation, systems development, yes even enterprise architecture are also parts of your enterprise, so you should be able to model these in ArchiMate or ArchiMate is not worth to be called an Enterprise Architecture language. The case of Stakeholder is for me akin to ‘System Owner’ in the discussion on modelling your architecture in that first ever blog post. We do not want a separate ‘System Owner’ concept too, do we? If we take that route in extremis, we will extend our language with concept after concept, just because we do not understand that those aspects are aspects of the ‘enterprise’ as well, in this case Roles.

So, for me, even if the Neighbour does not directly interact with the Restaurant we are modelling, I have no issue with modelling the Neighbour as a Business Role. The Neighbour’s function is indeed ‘living next door’ and it contains processes like Sleep, BBQ in the garden, all kinds of behaviour that does not directly interact with the Restaurant, but is influenced by it. If the Neighbour’s Sleep process is disturbed, he will take action and that action in the end does interact with our Restaurant, to begin with the complaints department and ending in fights about permits, etc. That is not so different from the interaction the CFO has with application cost in our first example. The absurdity is not that ‘living next door’ is behaviour (because it is), the absurdity would be if we actually went so far as to model it explicitly. And confusing those two absurdities is part of what happens in the original example in the beginning of this post.

So, I won’t model  the Neighbour’s ‘living next door’ Business Function, nor his ‘Sleep’ Business Process. Even I am not that crazy. I might model the Neighbour’s interaction with our complaints department and might even model that Neighbours need to be involved in our ‘Special Events’ Business Process.

And when Business Role is a type of Stakeholder (in the book I propose the other way around, but this way is better) I can use any Business Role as Stakeholder, but I can still use the separate Stakeholder concept if I want to. So I propose this addition to the ArchiMate metamodel:

Stakeholder - New Metamodel Setup Proposal

For Assessment, I still think the original proposal in the book is best: make Assessment a Specialisation of Business Object.

So the answer to the question “Why is Stakeholder not a Role in ArchiMate?” is: “Because Role should be a Stakeholder in ArchiMate” 🙂

[Update Juli 10, 2014]

Jacob Vos triggered me on the ArchiMate LinkedIn Group about Business Actor. Jacob wrote:

I am missing the ‘role’ (;-)) of the Business Actor concept. The spec says it is an ‘organizational entity’. The spec says that a Stakeholder might be a for example a team or an organization. That sounds like: Business Actor. I know the notation of the Stakeholder concept points towards Business Role, but is that correct?

If you look in my book you’ll see that the Icon for Stakeholder there is an actor, not a role. This is because I created that part when the tool I use had not fully incorporated ArchiMate 2 (hence, it is an error in the book, see the Errata section at the end of the book’s home page for details).

I can imagine both a “Senior Risk Manager (Business Role)” to be a Stakeholder for something as well as a “Finance Department (Business Actor)”. I think Stakeholder is a more abstract concept than Actor or Role, hence, my first intuitive answer would be that I would like to see that Business Role and Business Actor are both Specialisations of Stakeholder. So, the proposed ArchiMate change becomes:

Stakeholder - New Metamodel Setup ProposalAn alternative would be to enable to have Role as Specialisation of Stakeholder and allow Business Actor to Assign to that:

Stakeholder - New Metamodel Setup Proposal Alternative

This also enable Business Actors being Assigned to Business Roles.  This also nicely fits with the current definition of Business Role, which is ‘responsibility for behaviour’. As a Business Role is by definition a Stakeholder in his/her own behaviour, we could say that a Stakeholder is like a Business Role, but without that responsibility. You could even think about moving the Assigment between Business Role and Business Behaviour to an Assignment between Stakeholder and Business Behaviour. A Stakeholder can be Assigned to Business Behaviour. A Business Role is a Stakeholder that is also responsible for that Business Behaviour. The proposal then becomes:

Stakeholder - New Metamodel Setup Alternative with BehaviourYou even do not need to model with two elements if your stakeholder is a Business Actor. A Stakeholder is only Associated with Motivational Elements, so you can Associate Business Actors to Motivational elements as derived relation.

But there is a disadvantage: what does it mean that a Stakeholder is ‘Assigned to’ Business Behaviour? We cannot change that into Association because then we could not derive the Assignment between Business Actor and Business Behaviour. And if a Business Role is Assigned to Business Behaviour, we cannot discriminate between Assigned to as ‘performs’  and Assigned-To as not-performs. Hence, the original suggestion with Business Role and Business Actor as Specialisations of Stakeholder is probably best.

Protagoras redux

Protagoras has gotten a really bad press over the centuries The bad press is still there today, e.g. on the Wikipedia page on the Protagoras dialogue, we read:

Protagoras says his claim that virtue can be taught is better made by a story than by reasoned arguments, and he recounts a myth about the origins of living things. […] Protagoras […] avoids engaging in dialogue and digresses into a rhetoric which does not answer the question sufficiently but still manages to arouse the excitement of their young public. […] It is a typical moment of Socrates opposite a Sophist where the latter is using eloquent speech to hide arguments that might not stand logical scrutiny while the former is trying to use his notorious question/answer format that will lead to a logical conclusion in his favour. Protagoras begins to bristle at this […]

In fact, Protagoras offers the choice to Socrates if Socrates wants Protagoras to recount a myth or give reasoned arguments as reply to his question. He is given the choice himself, and says the myth is ‘more interesting’ (not ‘better’) and then goes on to relate the myth and the reasoned arguments, and the latter part is more than twice the size of the former. And contains really strong arguments.

Socrates, on the other hand, is using clearly absurd reasoning during the discussion, especially when he uses arguments resembling: “if holiness is not just it must be unjust”. This might stand up to ‘logical scrutiny’, but that does not make it less nonsensical. Much of philosophy has been ‘bewitched by logic’ like this, if you ask me (and it was Uncle Ludwig who made that clear). In de dialogue, Protagoras is quite right not to accept being forced into that sort of silly nonsense.

Sadly none of his actual writings have survived, but for me, I think that — even being portrayed by Plato, who had an axe to grind — his position in that dialogue is the superior one, and it reminds me (resemblances and all) strongly of Uncle Ludwig of the previous century. I have never seen this link made in literature (but I am not a professional philosopher and I don’t know all literature on Protagoras) but the dialogue even mentions resemblance explicitly:

Well, [Protagoras] said, I admit that justice bears a resemblance to holiness, for there is always some point of view in which everything is like every other thing; white is in a certain way like black, and hard is like soft, and the most extreme opposites have some qualities in common; even the parts of the face which, as we were saying before, are distinct and have different functions, are still in a certain point of view similar, and one of them is like another of them. And you may prove that they are like one another on the same principle that all things are like one another; and yet things which are like in some particular ought not to be called alike, nor things which are unlike in some particular, however slight, unlike.

And why was I reminded of this? I think because the resemblance between Stakeholder and Business Role is not recognised, maybe. And because exaggerating slight differences into extreme contradictions is what Socrates does in that dialogue and what I think is also happening somewhat when people argue for the strict separation between a party for which the interaction with your architecture is modelled and a party for which it is not, leading to fragmentation if the party has both aspects. Besides, the Protagoras dialogue is never far from my mind, because it a) is brilliant and b) entertaining, c) reminds me of Uncle Ludwig, and d) is a typical example of reality being quite different than what is being told about it. Just look for The Late Birth of a Flat Earth for another shining example of an urban myth over a century old.  Someone should write a piece called: The assassination of Protagoras’ character. But I digress. As usual.

I suggest that people read the actual dialogue (quite entertaining, I can tell you) instead of believing the unfair reports made about it by some overzealous classical-logic-addicted philosophers.

This entry was posted in Discussing ArchiMate and tagged . Bookmark the permalink.

2 Responses to Why is Stakeholder not a Role in #ArchiMate?

  1. Pingback: ArchiMate 3.0: The Good, The Bad, and The Ugly | Mastering ArchiMate

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s