Feedback Requested: Are groups responsible for business processes?
I'm specifically looking for feedback on a workflow component I am working on.
We have implemented a workflow engine that maintains a distinction between ResponsibleFor and AssignmentTo. We have ambiguity around the combination of this concept with group assignment. I'd like to know what you think.
Here's the conundrum:
A workflow item has the alias of the person who is responsible for it in a particular stage of the workflow. Responsibility can span stages. Each stage is (ideally) aligned with a business task within an overall process.
Within a stage, we have steps. This "containment" allows us to model two of the three levels of abstraction within a single workflow model. Multiple people can be assigned to a different steps at the same time, and the workflow language has constructs for split and join to allow these activities to be coordinated. The interesting thing to note about this is that assignment does NOT span from one stage to another. When you leave a stage, all assignments are wiped clean, and the next stage gets an assignment to whomever is responsible for the item. This provides a way for the workflow modeler to use ad-hoc workflow, while constraining the users from messing up their own business process.
Now add the notion of "assign to group." Our customers have asked for a way to indicate that a group of people should be made responsible for a work item, and any one member of the group can "take responsibility" for the item. The taking of responsibility is not an event. It simply occurs. In our app, a person visits a web page, sees the items assigned to the group, selects the item he or she wants to own, and clicks "assign to me".
My questions, your thoughts:
In your organization, would it be more correct to say that a "group" is responsible for an activity, or that a person is responsible and that the person has delegated assignment to the group. In other words, if a group is responsible, who is accountable if the item isn't worked? If the item is ultimately escalated to someone, wasn't that person responsible all along?
If you go with the idea of group responsibility: does it span stages? If we accept that a group is responsible for a set of stages, then one person can take responsibility at one stage... does the responsibility revert to the group when the next stage begins? In effect, can the group be responsible but an individual be assigned?
Comments
- Anonymous
May 05, 2005
I'm not sure how this fits into your model, but I tend see the 'assign to group' function not as an assignment, but as a 'limit the pool of potential assignees' function. The work item is unassigned until somebody takes ownership. This view is more akin to a security group than an assignment. In that respect, it becomes easier (I think) to let it span stages. - Anonymous
May 10, 2005
The comment has been removed - Anonymous
May 17, 2005
A quite detailed treatment of the distinction between "responsible to" and "assigned to" can be found in the recently published "resource allocation patterns", which extend the well-known "workflow patterns" to consider task-to-resource relations. See:
http://sky.fit.qut.edu.au/~terhofst/rp/index.jsp
Note however that the "resource allocation" patterns does not address the issue of "group work" and the accompanying "shared responsibilities" issues. In other words, the resource patterns are just one step in the direction of providing principled answers to questions such as yours, but (fortunately) there is still more to be done. - Anonymous
June 08, 2005
If you are assuming that one instance of the workflow engine handles the entire business process, then perhaps you can afford to be prescriptive. But if you want to allow federation or interoperability between workflow engines, then you probably want to allow some flexibility about the handover from one engine (instance) to another. For example, this might mean that engine A regards the entire group as responsible for something, while engine B manages intra-group delegation and accountability. And this also seems to reflect more accurately the way management processes often work in large organizations. - Anonymous
June 13, 2005
I think that delegating responsibilities is better, than pre-assigning some group, even if a person re-assignment is easy to do.
In the real world, the delegation works better.
Important part is to get CONFIRMATION of the assigned person, plus APPROVAL by management (top next in hierarchy). Delegation could be subject of instant business rules validation.
To avoid stale business flow, the delegation confirmation / approval should escalate higher b notifying next level management if there is no response on the regular bases (incindent).
Basically, idea is that in real world, totally automated business flow is impossible, and our task is to not exclude inter-human communication. Still, such communication has to be traced and protocolized in frames of the business flow application. - Anonymous
June 27, 2005
I'm not a big fan of group responsibilities, but when assignment is done by the user himself, there's always the risk of an activity not getting assigned at all. Maybe one in the group should be picked by the system if noone has claimed the assignment within a certain time span?
This is obviously depending on what kind of group you have. There could be a "group manager", or the activities should be evenly distributed over the group. Anyway, I really think there should be one single person responsible.