0

Selecting a BPMN Modeling Tool

by Editor on 15 November 2011

Customized BPMN Training

Let F = #Features, C = average #Clicks/feature, S = Sales & marketing budget, U = Usability, P = Pricing, Q = Quality:

  • U ∝ k/(F∙C)
  • P ∝ F∙S
  • Q ∝ U/P

— Nyrbok’s Laws of Software: Usability, Pricing, and Quality 

Selecting the best BPMN modeling tool for your team or Business Process Modeling (BPM) project can be difficult, even if you are a skilled visual modeler and an expert software developer.  The ”Muddle-Driven Marketecture” vendor hype and tool featuritis associated with many commercial BPMN tools can overwhelm even savvy developers. Software developers who want to transition to BPM technologies need to climb two steep learning curves to master BPMN modeling: 1) achieving fluency in a visual modeling language—BPMN; and 2) learning how to drive the “clickology” of one or more BPMN tools, many of which have mediocre (or worse) user interfaces.

Background: The Importance of Tool Selection Due Diligence

Since Business Process Modeling project stakes are high in terms of both time and budget, it behooves you and you team to choose your BPMN modeling tool wisely. While the efficient use of your BPM team’s time is of paramount importance, it is also noteworthy that the prices of commercial BPMN modeling tools vary by two orders of magnitude.   The prices for BPMN commercial modeling tools with comparable features range from ~$300 to $3K+, which is a Order(10) difference, where modeling tool quality is not always directly proportional to price. (Indeed, a case can be made for inverse proportionality between tool quality and price—see Nyrbok’s Law of Software Quality.) Since many software developers also need to consider the associated training and coaching (consulting) costs for the BPMN tool they choose, keep in mind that more expensive tools can also be more difficult to drive. (See Nyrbok’s Law of Software Usability.) So do you want to blow your BPM tool and training budget on a $3K/seat BPMN modeling tool that drives like a rough-handling semi-trailer truck, or a $300 BPMN tool that drives like a nimble sports car? For a 10+ person BPM team with tough deadlines and a tight budget, you likely need to make a smart tool choice.

For example, consider a 20-person BPM project with a $100K budget for BPMN modeling tools and training. Will the project team be better off spending $60K for 20 licenses at $3K/seat with $40K left over for basic training, or spending $6K for 20 licenses at $300/seat with $94K left over for advanced training and expert coaching? The answer, of course, depends upon many factors other than price. In addition to the advanced features frequently hyped by high-cost BPMN tool vendors to justify their prices (notably model simulation and executability capabilities), you also need to consider more mundane, but essential features, such as ease-of-use and standards compliance. After all, what good is a pricey BPMN modeling simulation tool if its user interface is so counter-intuitive that your software developers revert to Visio drawings + Excel spreadsheets for their project deadline deliverables? (This may help explain why the Visio drawing tool remains our planet’s most popular “modeling tool.”)

Given the importance of BPMN tool selection for your BPM project, we recommend that medium-to-large size projects (10+ software developers) conduct a bona fide trade study for their BPMN tool selection process. For smaller projects with smaller teams (< 10 software developers), you may want a less formal and more “Agile” (as in Agile development and Agile modeling)  tool selection process. In any case, you need to perform some basic due diligence for BPMN tool selection, lest you squander your project budget and blow your delivery schedule. (Caveat emptor applies here, as elsewhere!) Here are the basic steps that your BPMN modeling tool selection process should follow:

  1. Specify objectives and requirements
  2. Define selection criteria
  3. Assign relative weights to selection criteria
  4. Identify candidate BPMN tools
  5. Evaluate candidate BPMN tools
  6. Select BPMN tool

Specify objectives and requirements for your BPMN tool

You should begin by specifying clear and precise objectives and requirements for your BPMN tool. Have you defined a pragmatic objective for your BPMN tool consistent with the practical goals of your BPM project? An example of a pragmatic and measurable objective is: “The project’s BPMN modeling tool will be able to specify the following software development artifacts: Software Requirements Specifications, Business Process Workflows, …”

You should also specify specific functional and non-functional requirements for your BPMN tool. Your functional requirements should define the essential and advanced features of an acceptable BPMN tool. An example of an essential functional requirement is: “The project’s BPMN tool must be able to draw all 4 diagram types as specified and illustrated in the OMG BPMN v. 2.x specification.” An example of an advanced functional requirement is: “The project’s BPMN tool must be able to automatically generate software documentation and software code as follows ….”  Your non-functional requirements should specify usability and performance requirements, along with metrics for measuring them. An example of a usability requirement is: “The project’s BPMN tool User Interface (UI) must provide context sensitive help that explains all common modeling functions and how to achieve common modeling tasks.” An example of a performance requirement is: ”The BPMN tool’s team modeling capability must be able to support up to 100 total users and 50 concurrent users, while maintaining a UI response time limit of 1 second for common editing operations and a UI response time of 10 seconds for model repository check-out/check-in operations.”

Define selection criteria

After you have specified your requirements your should define objective selection criteria for determining which BPMN tools satisfy those requirements. Determine a balanced set of tool characteristics that are consistent with your requirements, and define objective criteria for measuring those characteristics, including clear thresholds beyond which a candidate BPMN tool is deemed unsatisfactory.

For information about the BPMN tool selection critieria used on this site see the related BPMN Tool Evaluation Criteria article.

Assign relative weights to selection criteria

After you have specified your selection criteria you should assign numerical weights to them to quantify their relative importance. The assignment of relative numberical weights to your criteria allows you to tailor your tool selection to specific team and project needs, and it can also reduce evaluator bias.

For information about the BPMN tool selection critieria weights used on this site see the related BPMN Tool Evaluation Criteria article.

Identify candidate BPMN tools

You are now ready to identify candidate BPMN modeling tools to thoughtfully evaluate. It’s important to realize that you are not expected to evaluate all the BPMN tools in the universe whose vendors claim BPMN standard compliance/support. Indeed you will soon realize, if you haven’t already, that since there is no BPMN reference implementation or test suite for testing BPMN standard compliance, it is relatively easy for tool vendors to take implementation shortcuts (e.g., not updating BPMN v. 1 constructs and terminology to BPMN v. 2) that may fail to meet your requirements.

First you should compile a “long list” of BPMN candidate tools by starting with those that you may already know about or have been recommended to you, and extend it via professional networking and Google research. Then apply the BPMN tool requirements that you have previously applied to quickly filter out non-contenders. For example, if your tool requirements include “… shall automatically generate documentation in HTML and RTF formats …” and a candidate tool does not include support for this function, it should immediately be dropped from your list. In most cases, if you have done a good job specifying your requirements, your “long list” should reduce into a manageable “short list” of five or fewer candidate BPMN tools.

Evaluate candidate BPMN tools

Now you can take your “short list” of candiate BPMN tools and perform a hands-on evaluation of each of them, systematically applying your weighted evaluation criteria. In order to perform this evaluation fairly and consistently across competitive modeling tools, use the same BPMN example model for test driving each tool. The BPMN example model that you choose should be of moderate complexity (say 100+ Activities,  20+ Data Objects, and  10+ [Swim] Lanes) and exercise all the BPMN diagram types defined in the latest BPMN specification. If you don’t have your own BPMN moderate-complexity example yet, use the examples in one of the better BPMN text books as as a neutral starting point.

Select BPMN tool

If you have followed the preceding steps carefully to this point, you will likely end up with two or three BPMN tools that are fairly close in their cumulative evaluation ratings. No worries; this is to be expected. At this point, since it’s likely you’ve learned a lot about BPMN modeling tools by your evaluation process to date, you should review your requirements and weighted evaluation criteria, and tune them based on what you have learned. In most cases, this will suffice to make a final BPMN modeling tool selection.

Next post: