April 30, 2010 by huionn
There are two perspectives to BPM, one is from business perspective, another is from development perspective.
For business, BPM:
i) improves process quality
ii) facilitate continuous process improvement
iii) reduces cost
iv) improves customer satisfaction
In fact, BPM just provides a platform to streamline the process and monitor the progress. Continuous improvement in organization’s business process can only be realized if business analysts/managers perform the BPM cycles continually.
I am more keen to learn the benefits of BPM in software development.
Here are some benefits from my understanding.
i) BPM provides a consistent architecture to model business process – process, sub-process, activity, signal, execution, state, fork, join, etc. Consistency improves understandability of overall system.
ii) each activities are loosely coupled – adding, removing and replacing activities will therefore require less effort.
iii) business process modeling bridges the gap between user requirement and implementation – it is important to ensure as early as possible that the proposed process can fulfill user requirement, because usually any changes in process flow will have deep impact in implementation.
iv) improve development productivity (if the BPM suite does not incur too much restriction to developers – I think this is a key advantage of popular open sources which are more responsive to user feedback)
v) BPM promotes process visibility – BAM provide reporting and monitoring tools for business activities
Drawbacks of BPM
i) there is learning curve – paradigm shift from coding to process modeling can be hard, as well as learning new APIs
ii) harder to debug – dynamic and complex systems are always harder to debug
iii) is BPM system invasive to development model?