I have an open question. I'd love to get community feedback.
A process can be decomposed into activities. Who performs the activities? Are activities performed by roles with actors assigned to those roles, or are activities performed by actors in roles? In other words, is it a binary or ternary relationship?
Pedantic question, perhaps, but this is the kind of thing that causes heartburn when creating a domain model for IT management. Understanding these relationships is important if we are to build software that allows an IT person to correctly capture and describe business processes.
Here are these two options, in detail...
Ternary relationship: an activity is performed by an actor in a role. One consequence of this connection is that a person or system (actor) is directly traced to the processes that the actor performs. The assumption being that any actor can play any role in any process, including many roles. It also assumes that an activity cannot be described using only a role, but MUST be described by both a role and an actor. Another major difficulty with this view is that it is very difficult to demonstrate that conflicts of interest have been addressed, as required by corporate best practices and, in many cases, legislation. By containing an actor within a role, it is possible to demonstrate that an actor has remained compliant.
Two binary relationships: An actor behaves in a role, and an activity is performed by a role. One consequence of this connection is that a person cannot be directly traced to the process, since an actor is part of a role, and a role performs an activity in a process. This is a simpler relationship, and it allows us to describe a process activity as "performed by a role" without any notion of the specific actor that will fill that role. This appeals to the notion of encapsulation, and allows us to constrain an actor to a role. On the other hand, this structure does not represent reality. The notion of a person, performing a role, within an activity is better for tracing the actual events, because a person may act outside of their assigned role, and perform an activity in another way.
Supposition: Both views are correct. From a planning perspective, we can insure compliance with policy by requiring actors to perform within a role, and attaching the role to the process. Then, when recording actual activity, we would record that an actor, behaving within a role, performed the activity, regardless of whether they are actually assigned to that role. This allows good auditing, while insuring that compliance to policy and legislation is demonstrable.
The reason I pose this as an open question is to ask you, gentle reader, if you view this relationship in a different way. What does your experience tell you? What concerns would not be addressed by the potential resolution, or have not been considered in the two views?
Jim Ludden points out, in the comments, that I had not defined the terms involved. So here goes:
- Prescribed or expected behavior associated with a particular position or status in a group or organization. (BusinessDictionary.com)
- The actions and activities assigned to or required or expected of a person or group (Wordnet, Princeton University)
An abstraction of a person or group of people, described through an understanding of their motivations and pre-existing conditions.
A single logical step in a business process. (Source: WfMC Glossary)
Looking up the definitions was valuable, because it makes it more clear that the definition of a role is not independent from the understanding of the activities themselves. In effect, a role is an assignment of activities to an actor. Pretty much makes "option 1" a non-sequitur. The rest of the analysis is useful, however, in that we can describe what a person Can do, and then in a seperate way, what a person Did do. Thanks to JimL.