When designing true process-based applications, a first step in the right direction is use the correct definition level of ‘the business process’. In this blog post I will concentrate on human processes, i.e. the type of business processes in which people interact with each other and with applications to produce some work. This topic is really is critical when you want to automate your business processes: if you don’t get the definition of your business process right, your design of the (human-) process-based application will fail.
You can find many definitions of a business process on the web. Most of them are valid. For the sake of simplicity, I use the following definition to highlight those parts that, in my experience, are crucial for the issues discussed in his article:
“A Business Process is a series of logically related activities or tasks performed by different actors and executed together to produce a defined set of results. “
For the design of a process-based application it is important to start from the right definition level of the process. In my definition the “performed by different actors” indicates this level. If 2 or more consecutive steps in your process flow are executed by the same person, you are probably modeling task steps at work instruction level instead of at process level. If 1 step in your process flow represents work executed by different actors, then you are probably modeling at a too high level.
Consider the following example:
In step 1, the call center agent may have to look up customer details first, and then look for previous orders of the customer before he/she can finally start entering the price request details. These different task steps are not reflected in the process flow because they don’t belong there.
Also this whole ‘Price Quotation Process’ could be just 1 step in a higher-level process flow called ‘Sales Process’ (other steps at that level could be ‘Sales Order Process’, ‘Invoicing Process’, etc).
To conclude this entry:
When designing a process-based application, make sure to start from the right definition level of your business process, i.e. the level where each step is executed by a different person. (In most cases this means that your process flow has swim lanes with a role in each swim lane to identify the people in the organization authorized to execute the activities in the swim lane.)