Tips to avoid pain in your BPMS implementation
Many businesses approach a BPMS implementation with hope and excitement, buoyed by the promise of rapid project completion, business empowerment and impressive ROI. But not all achieve the benefits they expect, and have to battle through considerable pain before achieving success.
There are a number of reasons for this pain, one of which is poor quality of the implementation. I believe that by applying lessons of how to develop good software to BPMS projects, quality will be improved.
I offer 5 tips, taken from the habits of good developers, for process engineers to follow which will improve the quality of the implemented solution. These alone do not guarantee success, but will increase the quality and maintainabiity of the BPMS technology solution.
Tip 1 – Create Standards and Enforce Them
Ask a group of developers to review a code block and you will find a strong correlation in views as to the quality of the code. Present a group of process engineers with a workflow diagram and the result is very different. They comment if it adheres to the BPMN standard but often will not be critical of the underlying implementation.
With BPMS there are often many ways to achieve the same goal. Make sure standards are defined up front to gain a consistent approach when implementing processes.
This is also true for documentation. Coders expect to create an amount of documentation and to have it critiqued, but this control is often missing when reviewing BPMS implementations. Make sure all processes have an agreed amount of documentation to improve understanding and re-use.
Standards should be enforced using frequent peer review as is common in coding projects.
Tip 2 – Architect your Solution for Re-Use
In any software development project, good developers are obsessed with code re-use. They use code libraries which contain tested and reliable functions which can be used across many projects. Developers know that re-use is a key factor in achieving stability and speed.
When starting a BPMS implementation, take time to consider how to build processes that can be re-used across multiple solutions and implement a configuration management approach to support re-use.
Tip 3 –Create Test data and Build Test Harnesses
Developers build separate applications known as test harnesses. These execute code blocks, using pre-configured values and data. If the results of executing a test harness are unexpected the developer immediately knows their code is producing incorrect results and will debug and correct.
When implementing the BPMS take a similar approach. Design test data and harnesses which will be re-used throughout the project lifecycle. This will speed up process creation and produce higher quality output.
Tip 4 – Gain Confidence in Requirements before Building User Interfaces
Good developers take time to ensure requirements are robust with data and process flows agreed before they build user interfaces.
BPMS implementations could learn from this and avoid wasted effort on implementing screens which may significantly change if the process has not been properly defined.
Tip 5 – Test All Likely Execution Paths
All good developers know that their own test strategy should cover a range of scenarios, designed to test the “non-happy” but all too frequent execution paths.
Process design should have a similar degree of coverage, ensuring that all likely execution paths are configured and tested so the end user is not presented with an error strewn application or one which doesn’t support the business process.
Following these simple and somewhat obvious tips, will have a significant impact on the quality of your BPMS implementation. It can be tempting to buy into the hype of “zero-code” and “rapid ROI” and forget about the need for standards and control. When the lessons of successful software development are applied to the BPMS, your chances of success are significantly improved.