Monday, July 7, 2008

Tips for the Business Process Developer - Task Visibility

A task doesn't get done until someone knows that it needs doing...

That's a fairly obvious statement, and one that we often take for granted when implementing Managed Business Processes. As a process-engine steps through a process it assigns tasks to participants... and presumably the participants are notified as the tasks are assigned.

The most common way of notifying a participant of a task to perform is to add an entry to their task list and then send the participant an email telling them to check their task list. If the participant constantly checks their task list, the email is unnecessary, but you'll often have a mix of participants who perform tasks on a regular basis and those whose participation is much less frequent (like a manager handling an escalation task).

Often you will encounter the request to bypass visiting the task list altogether... just let the user perform their tasks via email. There are a few technical caveats to satisfying this request (such as authenticating the user), but it's not an unreasonable request. For a simple task such as an approval there may be very little feedback that you require from a participant, so why not let them fulfill the task via their BlackBerry?

On pondering this common request to perform tasks via email, I almost came to the conclusion that a BPM solution doesn't need a task list at all:
- Why not just use the client's email inbox for this purpose?
- Why do we need a separate task list at all?

The answer to that last question might well be "No". Maybe we don't need a separate task list to hold the tasks that we've been assigned. Maybe all we need is a filtered view of our standard email inbox.

The only real difference (that I can think of) between an email inbox and a task list is the dynamic nature of the task list. My task list contains tasks that are specifically assigned to me as well as unclaimed tasks that are assigned to the groups that I belong to. As I complete my tasks, they dissappear from my task list. If someone else claims a task that is assigned to one of my groups, then that task also disappears from my task list. If my email client supports "recalling email" then I can accomplish pretty much the same behavior.

The statement "pretty much the same behavior" is what leads me to think that we still need a separate task list for our BPM solutions. There's obviously great benefit in exposing task assignments via email (or text messaging, or paging), but the task list itself can encompass much more than simple notification...

So what do you think? Is a BPM specific task list necessary, or will your email inbox suffice?

No comments:

Post a Comment