# How to Select a BPMN Modeling Tool for Business Process Modeling

Selecting the best Business Process Model & Notation (BPMN) tool for your Business Analysis or Business Process Modeling (BPM) project can be difficult, even if you are an expert Business Analyst or Solutions Architect. BPMN is a powerful, but formidable, visual modeling language to master, and the “Muddle-Driven Marketecture” vendor hype and tool featuritis associated with commercial BPMN tools can overwhelm even savvy analysts. Business Analysts and Solution Architects who want to transition to Business Process Modeling (BPM) technologies need to climb two steep learning curves to reap their benefits: 1) achieving fluency in BPMN 2.x as a lingua franca for business and technical communication; and 2) learning how to drive the “clickology” of a BPMN modeling tool, 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 your 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 more than an order-of-magnitude ($$\mathcal{O}(10)$$). The prices for BPMN commercial modeling tools with comparable features range from ~$300 to$3K+, which is greater than an $$\mathcal{O}(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 Laws of Software.) Since many Business Analysts 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. So do you want to blow your BPMN tool and training budget on a $10K/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.

\begin{align} U & \propto \frac{k}{{F \times C}}, \\ P & \propto {F \times S}, \\ Q & \propto \frac{U}{P}, \\\text{where}~F &=\text{number of Tool Features,}\\ C &=\text{average #Clicks per Feature},\\ S &=\text{Sales & Marketing budget},\\ U &=\text{Usability}, \\ P &=\text{Price}, \\ Q &=\text{Quality}. \\ \end{align}

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

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 usability (a.k.a. ease-of-use) and standards compliance. After all, what good is a pricey executable BPMN modeling tool if its user interface is so counter-intuitive that your Business Analysts and Solution Architects 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 modeling tool selection for your Business Process Modeling project, we recommend that medium-to-large size projects (10+ Business Analysts/Solution Architects) conduct a bona fide trade study for their BPMN tool selection process. For smaller projects with smaller teams (< 10 Business Analysts/Solution Architects), 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 modeling 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:

## Specify objectives and requirements for your BPMN tool

You should begin by specifying clear and precise objectives and requirements for your BPMN modeling 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: Business Requirements Specifications, Business Process Workflows, Business Data Models, …” 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 simulate all business process workflows 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 20 total users and 10 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 evaluation criteria

After you have specified your requirements your should define objective evaluation 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 example, consider the following BPMN modeling tool evaluation criteria, which are elaborated up in the related related How to Define BPMN Tool Evaluation Criteria article: Usability (Ease-of-Use), Functionality (Drawing, Simulation & Execution), Standards Compliance, Interoperability, Technical SupportTeam Modeling Support and Value.

## Assign relative weights to evaluation criteria

After you have specified your selection criteria you should assign numerical weights to them to quantify their relative importance. The assignment of relative numerical 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 example, consider weighting the criteria in the evaluation criteria example above as follows:

$$Score_ {tool} = \overline{x} = \sum_{i=1}^{n} w_i * c_i$$

where Tool Evaluation Score ($$Score_ {tool}$$) is the weighted mean ($$\overline{x}$$) of the evaluation criteria.

Note that the same evaluation criteria e.g., (c1 = Usability, c2 = Features: Drawing, c3 = Features: Modeling & Simulation, c4 = Standards & Interoperability, c5 = Technical & Team Modeling Support, c6 =Value) can be weighted differently for different team and project needs. For example, a small Agile Modeling team supporting an Agile development method such as Scrum with no need to generate software code from its models might assign the following weights to the evaluation criteria: (w1 = 20%, w2 = 20%, w3 = 0%, w4 = 20%, w5 = 20%, w6 = 20%). In contrast, a large Model-Driven Development team seeking to generate production software code from its models might assign the following weights:  (w1 = 20%, w2 = 15%, w3 = 25%, w4 = 15%, w5 = 10%, w6 = 15%).

## 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 standards compliance. 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 candidate 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 200+ Activities, 20+ Data Object, and 10+ [Swim] Lanes). Your BPMN example model should thoroughly 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.