Now that is under state-ing it.

A lot of BPM/Workflow systems use a state to provide some information to the user as to where a workflow instance is at.  Other systems rely on this state as a key piece of information to keep control of where a workflow is at.

This may be less then a good idea.  The reason only becomes apparent when many tasks within one workflow instance can be worked on in parallel.  Lets pick an example where there is only one task in each of these 3 parallel lines of control.  Each of these steps is either completed or not completed.  Therefore there are 8 possible states.  Having a process that has 8 different states is already at the limit. 

Now consider there are 5 parallel lines of control.  In each of these paths there are 3 tasks which need to be completed and are done some in a series.  So in each path there are 4 states no tasks completed, 1 task completed, 2 tasks completed and 3 tasks completed.  Because we have 5 parallel lines of control we have 4 to the 5th possible states or 1024 states.  And having this many parallel lines of control is not by any means extreme.

All I can say is be weary of any kind of workflow system that is overly reliant on a state concept for tracking the progress of a workflow instance because it can leave you in a very sad state.


Leave a Reply

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

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

Google+ photo

You are commenting using your Google+ 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 )


Connecting to %s