Saturday, October 3, 2015

Modeling languages make drawings superfluous (but not always).

Analysts communicate. We elicit requirements, test understanding and document our findings. A good command of spoken and written language is essential. And sometimes pictures can help. “Free form” drawings used to illustrate business scenarios can be very helpful (for example, if you are working for a jet engine manufacturer you could illustrate the complexities of tracking assembly parts using hand or computer drawn pictures, or even photographs. Truck routing optimization for a delivery company could be illustrated with nodes and arcs). As useful as these free-form illustrations can be, more help is available to analysts in the form of what are known as modeling languages. It is vital that analysts know modeling languages and can apply them effectively. Let’s learn more…
A modeling language is a set of diagram types, into which we draw symbols with special meanings. There are rules, often rigorous, about how these various symbols are used and connected. Learning modeling languages can seem intimidating (to prove this see this official reference). Modeling languages can be very complex (many of the diagrams and symbols look similar but have powerful or subtle differences.
But if you think about this is true of spoken language too! And more than 80% of the time you use a lot less than 20% of the modeling language “vocabulary” (also true of spoken language). Some very smart people created the modeling languages and diagram types, and by using the modeling language you can use their expertise to your advantage, as long as:
1.       You learn why, when and how you need to use them
2.       You learn the subset of the language that allows you to be effective rapidly, and
3.       You stick to the modeling language standards all of the time
One way to simplify modeling languages is to use special modeling software. Though this software is “special”, and may take some getting used to, there is a huge choice of such products, many at very cost effective prices for individuals (in fact, some are completely free, and are good too!)
So what should I use?
You will most likely need a process modeling tool (which uses a language called BPMN2), and an analysis modeling tool (which uses a language called UML). 
The really great thing about specialist modeling software, apart from the modeling language that is supported, is that the software “understands” the model, and either won’t let you make “grammatical” mistakes, or will highlight that something in the model is in error (kind of like a spell check). See our list of modeling software, with reviews to help you choose. See also reference books for beginners, and more advanced reference books).
Word of Caution.
Some analysts like to use drawing software products (often purchased as a supplement to office suites), some of which have UML and BPMN templates. I strongly advise against using such drawing software packages, because they don’t “understand” the modeling language and allow you to make mistakes. You also end up spending more time working out how to draw things, which distracts you from thinking about what you should be thinking about: modeling.