In this video I examine the current approach to business process automation using BPEL, including it's variants. There are a number of issues.
Process instances once started follow a predetermined path, following a process diagram much the same way software follows a program. While this might make sense for predictable processes which have very little variability it does not suit real world processes which are unpredictable. In the real world data may be corrected and tasks that were completed run again. Human Tasks are limited to being treated like any other automated process. In my experience this results in aborted processes which cannot proceed.
Invariant process for a instance
In BPM systems once a process instance has begun with a specific process design there is no easy way to have the process instance begin to follow an updated design. For long running processes this might mean taking weeks to flush out old process instances or ending them in order to load them again.
Process designs and diagrams are difficult to understand. They are useless for giving staff visibility of the process. BPM processes require developers to write their own user interfaces using BPM API rather than being able to be used out of the box.