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?