Once you recognize the potential of a Business Process Management solution, you want to get it built and deployed as quickly as possible to begin realizing the benefits. However, as an experienced software developer, you understand that thorough design and testing are even more important to the ultimate quality of the solution than the mere coding. The best BPM solution will offer productivity to reduce development time, but it also will provide tools to analyze and improve a process so that what you develop is efficient and optimized.
You may consider JBoss jBPM (offered with support as Red Hat BPM Suite) because you think that it offers a BPM solution at a very low cost. You may think that IBM’s Business Process Manager is basically the same thing, just for a lot more money. Based on my experiences with both solutions, IBM has a number of features that JBoss does not, and I think that they very much are worth the cost. These IBM features will make your BPM application easier to implement, run, and optimize:
- IBM Blueworks Live takes less than half the time than jBPM to capture a process and does it with greater collaboration and insight. jBPM does not even include a process capture solution, so a business expert must use a tool like PowerPoint or Visio to design the process.
- IBM’s Process Designer can import the process captured with Blueworks Live, so it takes half the time of jBPM to implement the process. With jBPM a developer must re-create the process design by translating the PowerPoint or Visio representation, adding time and a source of error.
- IBM’s testing, auditing, and monitoring are far more comprehensive than jBPM’s. jBPM has a limited ability to debug, inspect process data, view audit histories, and optimize processes based on KPI’s. IBM’s capabilities reduce testing time and make it easier to gain the insight to improve a process.
Are you wondering if these features are worth paying for? I built a simple BPM solution with both IBM BPM and JBoss jBPM to try to figure that out, so let’s look at each of these factors in more detail.
From an Expert’s Mind to a Complete Specification
Developing a business process management solution begins with defining a critical business process that is not managed by software. The process likely crosses packaged systems, like SAP, legacy systems, and people in a variety of roles and departments. Although many in your company may recognize the process at a high level, for example “order to cash,” “fulfilling an order,” or “handling a claim,” no one, not even “Bob in Accounting” seems to know exactly how the process works or should work. As a result, the first step of implementing a BPM solution is to capture the process from the experts’ minds to create a complete process specification.
With IBM, experts can capture a process using Blueworks Live. Blueworks Live is available in the Cloud on a subscription basis, so process experts and stakeholders simply need to subscribe to begin. Once connected, the team can collaborate using social networking like streams and posts and can edit the process together in real time, allowing team members to work productively together whether they are in the next cubicle or another country.
Blueworks Live quickly captures a “Billing Disputes” process
Blueworks Live is simple to learn, but it is functionally rich because it is designed specifically to capture processes. As a result, it “asks the right questions” by soliciting about the process important business information such a task’s owner, expert, role, completion time, cost, and risk. The team can “play back” process sequences to verify the accuracy of the process and make improvements. Using the tools in Blueworks Live, stakeholders can thoroughly analyze the process before it ever is implemented, ensuring its accuracy and efficiency with less time, cost, and risk than “trial and error.” After the stakeholders have completed their process capture and improvement, the process developers can re-use the design by importing the process directly into IBM’s Process Designer to complete the implementation and deployment.
Blueworks Live can analyze business factors and playback scenarios
JBoss jBPM does not include any process capture tool. It has only the jBPM process editor for developers, so the process experts must find another way to capture the process and share it with the developers. Microsoft’s PowerPoint would produce a cleaner, more smudge-resistant design than hand drawing, but creating the desired boxes, diamonds, and lines took me twice as long as Blueworks Live for the same process. Besides taking longer, PowerPoint does not “collect” information about the business process – it is just a drawing tool.
Microsoft PowerPoint can capture a process, but not analyze it
Although Visio at least is designed to draw flowcharts and even includes a template for Business Process Model and Notation (BPMN), it lacks the analysis and playback capabilities of Blueworks Live, so the process expert has a prettier picture than with PowerPoint, but not a smarter one.
Microsoft Visio can produce a business process diagram, but it offers no insight
As a result of these limitations, a solution using jBPM begins at a disadvantage over one built with IBM. The process experts cannot as easily verify and optimize the process design, so any mistakes and inefficiencies will pass from the design into the implementation and deployment. A mistake or inefficiency could cost far more than the BPM software licensing costs. For example, if you failed to identify a way to reduce the process cost by even 10%, consider how much that would be worth to your business over several years of lower operating costs and improved customer service. To compound this problem, we will see later that jBPM also lacks IBM’s tools to provide process insight and optimization, so these inefficiencies will be difficult to identify, diagnose, and improve.
From Process Implementation to Process Deployment
Once the business experts have captured the process, a developer must implement it. Process implementation includes the following activities:
- defining, populating, and mapping data as it passes through the process
- creating user interfaces for the human-based tasks
- defining business rules that affect the flow of the process
- invoking services that access backend systems or databases
A developer (i.e., me) using IBM Business Process Manager’s Process Designer was able to implement a “billing disputes” process in half the time needed to implement the same process with jBPM. The main IBM advantage was IBM Process Designer’s ability to import the process design from Blueworks Live, saving the developer from re-creating the task flow. With jBPM, the developer had to re-create the process design from either PowerPoint or Visio.
“Billing Disputes” process imported from Blueworks Live
“Billing Disputes” process re-created from the PowerPoint design
Both IBM BPM and JBoss jBPM allow the developer to generate a basic user interface for human-based process tasks. However, only IBM BPM allows the developer to replace the widgets in the user interface with ones that provide a mobile look-and-feel, offering a much more productive interface for mobile process users.
IBM provides a mobile process interface without mobile programming
IBM BPM’s deployment options make developing and executing a BPM solution quicker, more flexible, and more cost effective than with jBPM. For example, a development team building a proof of concept can use IBM’s BPM on Cloud to get started without worrying about provisioning hardware, installing the software, and managing the development, test, and production environments. The cloud solution also can be more economical, as the cost is based on a monthly subscription for each process user. Ultimately the solution can be deployed to an on-premise environment or a private cloud environment like IBM Pure Application System. The PureApplication system offers a BPM pattern, a pre-built configuration that the system can manage automatically based on Service Level Agreements such as response time or system utilization. JBoss jBPM does not offer a subscription-based cloud solution like BPM on Cloud or a pre-configured, automatically managed private cloud solution like the Pure Application system, so creating and managing development, test, and production environments can add time, cost, and effort that could be better spent building a successful BPM solution.
After deployment, IBM BPM’s process collaboration adds greater value to a solution by enabling teams of experts to work together to ensure efficient, consistent, and high quality results. Social networking techniques like streams, “follows,” and “mentions” allow process users to share expertise, pose questions, and track process instances of interest. IBM BPM also can identify colleagues who successfully have completed a process task, helping a process user to find an expert to assist with a difficult or important task. Process users and experts can collaborate in real time by sharing the task information screen, even allowing the expert to complete the task while the assigned user watches and learns.
BPM collaboration allows experts to work together to achieve better process outcomes
jBPM lacks any social awareness and communication, forcing users to collaborate using separate technologies, losing any context or tracking that can serve as a training or auditing tool to improve process results. Consider how much this feature might be worth to your business. If collaborating could reduce your process execution time even by 10% or could improve the quality and consistency of your process results, how much would that be worth over several years? If you are applying BPM to your critical business processes, these benefits available to the IBM solution easily could outstrip the licensing and development costs of the solution.
Monitoring and Improving a Process
After deploying a process, you want to know as much as possible about how it is operating so that you can better manage the business. For example, are any critical orders delayed? Where is claim number 475? Who changed the price on that sale? IBM’s debug and auditing capabilities make it easier to get this information, improving the efficiency and business results of your processes.
Whether during development or in production, your processes may have errors that cause them to fail or behave in an unexpected manner. With IBM BPM’s service debugging, your developer can step through the process to determine the source and cause of the problem. With jBPM, the developer has no debugging ability other than adding scripts with “println” statements.
Occasionally the process problem is not with the code but “user error.” IBM BPM’s audit history allows someone to see how, when, and by whom every piece of business data in a process has been changed. From the console, an administrator can search for processes by data fields (e.g., all claims over $500, all orders with a customer name of “Acme”) or by task operator (e.g., all orders approved by George).
IBM BPM searching for processes with an amount >= $500
Besides searching for process instances, a manager tracking a process may want to know where in the process the outstanding instances are. By showing the process diagram with counters for the in-progress instances, the manager gets a simple but powerful depiction of where bottlenecks are or processes that are in need of re-assignment or escalation.
IBM BPM shows on which task outstanding instances are
JBoss jBPM lacks these powerful monitoring capabilities, making it harder for you to manage your process effectively. Although it lists in-progress instances and provides some limited auditing, jBPM does not allow a manager to see where outstanding process are without inspecting each one individually, and it offers no way to search processes based on the business data. With these limitations, the business could incur considerable time and expense trying for example to find a missing claim or the order of an irate customer.
Limited auditing with jBPM
Besides managing the process, ultimately you want to gain insight into its operation so that you can make it run more efficiently. The information and tools that IBM BPM provides make it easier and quicker to optimize a process by identifying bottlenecks and other areas of improvement. From the IBM Process Designer, a developer can display the process diagram overlaid with the historical data for process Key Performance Indicators. For example, a developer easily could see the percentage of process instances that exceed the expected wait time for each task in the process, along with details and graphical distributions of each instance. With such tools, a business expert can determine where additional resources may be needed to reduce process execution time.
IBM BPM Process Optimizer identifies problem areas in a process
For problem areas within the process, IBM BPM will recommend improvements, such as bypassing a slow task or escalating instances that remain too long on a certain task.
IBM BPM recommends bypassing or escalating a process task
JBoss jBPM has very limited process monitoring. For example, the monitoring console displays minimum, maximum, and average processing time by task, but gives no indication of how those times compare to the values expected by the business. As a result, business experts may find it difficult to determine where bottlenecks are in a process, and without recommendations like those from IBM BPM, may struggle to determine how best to remove those bottlenecks if they can find them. This ability to optimize a process could alone simplify the decision to choose IBM BPM. Imagine how much it would be worth to your business if you could avoid over-staffing or could remove a process bottleneck that hurt your customer satisfaction.
jBPM provides some process monitoring, but little insight to optimize the process
With such limited tools to optimize a process with jBPM, you likely will reap less of the rewards of your investment in your business process management solution. For example, jBPM’s inability to compare actual results to KPI service level agreements will make it more difficult to determine whether your process is performing efficiently. While IBM BPM provides tools to compare a proposed optimization to the current process, jBPM may leave you wondering if a change is worth the effort and thus make you more reluctant to incur the expense of the change.
What are the Risks of Using jBPM?
The technical advantages of IBM BPM that I’ve described here are not simply esoteric features that are irrelevant to a real-world solution – if you didn’t have them, you might even be putting your business at risk. Admittedly, that sounds a bit melodramatic. While certainly not life-or-death, think about these risks that you run without the features that IBM BPM offers:
- Design without collaboration and analysis. Using PowerPoint or Visio, process stakeholders will find it more difficult to review and provide input to a process design. With no analysis or playback, stakeholders may miss opportunities to correct or improve a process before implementation. As a result of these deficiencies, process designs can contain errors and inefficiencies that might not be caught until they cost money in production.
- Implementation slower and error prone. Translating the process design from PowerPoint or Visio can result in increased time, cost, and errors. No built-in mobile interfaces requires significantly more time to offer a mobile look-and-feel to process users. Deployment can be less flexible and efficient without a public or private cloud solution. No process collaboration can result in inconsistent, costly decisions.
- Monitoring without critical information. Finding particular processes can be time consuming. Identifying where processes are delayed is more difficult, resulting in unhappy customers and lost orders. Difficult to debug processes makes development take longer, and limited auditing makes it more expensive to find errors in production.
- Optimization without insight. Greater difficulty finding process bottlenecks can result in delayed processes, dissatisfied customers, and lost business. The inability to identify exceeded Key Performance Indicator thresholds can result in missed opportunities to deploy resources to resolve the problem. No optimization recommendations can result in a process that is less likely to be improved.
Can you afford to take these risks with JBoss jBPM? If you can, you must have more job security than I do!
IBM BPM Builds Better Processes than JBoss jBPM
Drawn to JBoss’ low licensing costs, some businesses might try to convince themselves that jBPM is “good enough” for their BPM solution. Can you afford to risk your business on jBPM? jBPM can create and deploy a business process (heck, you could even build it in Java from scratch), but without key capabilities to enable a careful, collaborative design and insight to optimize its execution, the solution is too risky to invest your money and the time of your developers and business personnel.
I hope that I have made the case to you that IBM BPM’s greater productivity, insight, and completeness can deliver a solution with less risk, shorter time to business value, and a lower Total Cost of Ownership. However, IBM BPM’s real benefit lies in its ability to improve the way that you run your business:
- Execute your processes collaboratively to ensure quality and consistency and automate key decisions with business rules to save time and money
- Gain insight into your process strengths and weaknesses, and discover how to optimize the process to reduce costs and improve customer satisfaction.
- Start quickly with IBM’s BPM on Cloud with the flexibility to later deploy on-premise or to a private cloud, based on your computing and security needs
It’s not all about licensing costs – they represent less than 10% of your Total Costs of Ownership. Get the most out of your investment in business process management by using IBM BPM.