I’ve heard this question (the first ) many times, and sometimes I have not heard the question but it looks like if the people who I am talking to would know the answer to this question other questions will not arise. Samples of this questions are:
- What’s the difference between Windows Workflow Foundation and AgilePoint?.
- What’s the difference between AgilePoint and X (replace X with the name of a whatever product developed before 2003 that now has been renamed to BPM and many products developed after this year that want to be in the BPM wave).
So let’s say what’s the difference in a few words:
Workflow->static->automation->developers->system to system
BPM->Process->flexible->Management->business users->user to user and user to system.
Workflow tools
Workflow tools were developed in 90’s (maybe the 80’s too) and were focused on task automation, used mainly by developers and usually manage interactions between systems.
The behavior of the workflow in runtime was predictable, that is, there is a defined path and you cannot change it, the workflow behavior is static at runtime.
This is usually associated to code, maybe automatic code generation, compilation and traditional development methodologies.
What happens when something must be changed because the business has changed? and what happens when the requirements change because processes are not well defined in the requirement phase?
We all know what happens… problems and more problems, the business users need a car and they get a train. Sometimes the train is really beautiful and really fast but unfortunately a train only runs on rails.
BPM Tools
Technically it was almost impossible to develop a BPM tool before the beginning of the XXI century, so I can not believe that a tool developed before is able to provide BPM functionalities, call me skeptic if you want.
In a BPM tool you do not run workflows you run PROCESSES, Business Processes, that is, processes that are understandable from the point of view of business and that meet the needs of business.
The behavior of a process sometimes is not predictable, sometimes people do not make their work, sometimes the applicant of a grant is the cousin of the CEO and no approval is required…
A BPM tool must manage this situations, when you travel by car, sometimes you want to lunch in a beautiful village near the motorway and go to see that incredible castle made in the XII century…, when you travel by train maybe you can see the village in the distance (if you are not in a tunnel).
Some people call it flexibility, other agility.
Agility must be available
Design time
Requirements change. Many times (in my experience, always) requirements change, new requirements are discovered when users see their processes running, the world changes, your competitor change,…
A BPM tool must allow t change processes easily and this changes must be welcome.
Run Time
Users make mistakes, cousins have uncles that are CEO’s and some people do not make their work, so the BPM tool must allow to manage this scenarios.
Process owners must be able to change the flow if they need to, they should be able to move a process forward or backward, they should be able to change the fure behavior of a process by migrating it to a new version…
Epilogue
If someone tries to sell you a car with iron wheels… think it twice before buying it.