In a lot of projects i have done for customers there are a few misunderstandings i often see with BPM or Business Process Management.
1) You are not doing BPM when using a BPM tool
It is often called already BPM because it is hot, but the business is not process oriented at all.
This is because a BPM tool is introduced bottom up, but the organization is not process oriented at all. In fact the business is process oriented (by default there is of course always a process), but this is not analysed or controlled.
2) Flexibility comes not for free
This is maybe in theory but in practice i have rarely seen this. Making a solution flexible requires a lot of future knowledge which is often very difficult of course. You can only make your BPM solutions flexible where you know you need the flexibility.
3) BPM does not solve it all
As with all new hypes, this is the next magic tool that solves it all. Of course this is not the case and it requires a lot of good thinking and experience to implement a BPM solution. In fact it may be far more difficult because it often expands more business units within the organization.
4) BPM(N) is not a new programming tool
Within a BPM solution there exists a BPMN drawing toolbox. With this tool you should model the business process on certain levels. What i often also see is that Services are also implemented with this tool. However it may be better practice to implement the Service within Java or another platform.
5) Testing BPMs is not something you do afterwards
Testing is often a underestimated effort. I personally think that 1 developer needs 1-3 testers.
And there are probably a lot more ...
Please feel free to react and add more when you like.