A big part of an architect’s job is charting benefits and drawbacks of decisions that can be made in the transformation initiatives of any organization. Once the need for a certain capability has become apparent, the implementation of such a capability is put on the roadmap, and there are always several ways of tackling this need. The first step is to figure out how to bring about the change in the organization: what skills people need to know/possess, what processes need to be put in place or adapted, and which tools or components are needed to support these processes. At one of my recent projects the needs for a BPMS component was determined, so now comes the job of determining which BPMS is the most suited for the organization.
BPMS solutions rose to prominence at the beginning this century and were a tool take evolved from the ERP components that reigned supreme just a decade before. As Peter Fingar and Howard Smith described in their book “Business Process Management – The Third Wave”: Where ERPs are excellent tools to use for processes that are commonplace, those differentiating processes that are unique to your organization are more difficult to achieve in such solutions. Hence the need arose for automating these ever-changing processes, and BMS seemed to fit the bill. While they still are an important tool in the belt of process automation, nowadays alternative possibilities to handle these types of processes exist, for example in the form of business event-driven micro services architectures or deep learning intelligent automations.
Deciding on which technology to go for from the plethora of possible BPMS vendors is not an easy task. Gartner hands us their Business Process IQ Framework to rank the different solutions based on a list of capabilities:
This results in the Gartner quadrant dividing up these vendors into the Niche Player, Challenger, Leader and Visionary categories, as shown below in the Gartner Quadrant for December 2018.
While Gartner makes an evaluation based on a list of vendors that offer solutions that offer these capabilities, it is not clear whether or not they consider these capabilities equivalent, or whether there is an importance ranking to them. They also consider commercial vendors only. The mission I received was to look at those solutions on the market that were open source and free to use (as the build vs buy debate on this system has already been waged), but could be upgraded to a supported system by services offered through the creations or third parties. Another restriction on the choice was that it should be a Java-based solution as this is the weapon of choice for custom development at this organization. This led to the evaluation of three solutions: jBPM, Flowable and Camunda.
Starting from the Business Process IQ Framework capabilities, the first point of order was to divide these capabilities into measurable items and assigning them a score from 1 (worst) to 5 (best). Once I had scored all three technologies in these items, I put my findings to the deciding organ, which in this case was the architecture board, and we collectively added a weight (=level of importance) to each of these items. This calculation gave us a final choice, although the final scores of each of these were pretty close to each other. If this proximity would give room for hesitation, the evaluation can always be extended with new items that might cause a larger differentiation. I have added the excel file in this article as a reference of which items we used, and how we ranked them.
An afterthought: The choice for the organization fell on Flowable. Now that it has been in use, a slight preference could be given to Camunda, as they do have better documentation than Flowable. To counter this, since both Flowable and Camunda are forks from the Activity BPMS, and the creators of the original system are part of the very active forum for Flowable, the less elaborated documentation shouldn’t pose too much of a drawback.
Thought | BPM |