I recently heard a presentation from a competitor to Microsoft Biztalk talk about their business process modeling tool. It competes with Biztalk in many ways: visual programming, rules engine, etc. However, the salesman said something that threw me off, because the statement was so wildly naieve, that only a salesman could have said it, and only a business person would have believed it. They said:
Our tool is all your company needs to manage your business processes.
If it weren’t so tragically sad, it would be drop dead funny.
The fact that I can write a business process in a visual language doesn’t mean that a tool allows me to manage my corporate business processes. There’s a bit more that has to be in there. Things like:
- ability to catalog the enterprise’s business processes and make them available, as documentation, in a portal for users without the tool to see and leverage. The portal cannot present a simple list of processes. They have to be organized for search and consumption by end users.
- ability to add attributes to business processes, like maturity, simplicity, and variation from corporate standards. Ability to search for processes by attributed (simple data search).
- ability to add workflow to a process for approving and including new business processes into the corporate portfolio, which provides a linkage point for governance to exist.
- ability to share processes across a distributed team responsible for owning them, training folks on them, and reinforcing them.
- ability to analyze the long list of processes in an enterprise and find processes that are ‘similar.’ This supports many things from the simple (search for a process) to the sublime (find two processes that are candidates for process redundancy reduction).
- ability to estimate or measure the cost of a process. Of course, the requires the ability to calibrate cost for an organization, and to have that cost vary by geography.
- ability to collect statistics and measurements about a process from end users along the way and to feed that information to data collection and reporting systems as part of the process management portal. (Think TSP/PSP).
BPEL is a language, and a nice one at that. It provides a paradigm that allows us to bridge the gap between visual programming and declarative code. But BPEL and BPMN are simply languages. They are not tools to MANAGE an enterprise process. That requires more capabilities than a language can provide.