If there is one constant in application development work, it is the need to develop effective two-way communication with end users and stakeholders. Not only is there a need to translate from business-speak to tech-speak, but there is a simultaneous need to help business users define their own processes. The existence of dozens of books and even specialized degrees in business analysis speaks to how important (and complicated) this translation process can be.
In this article, I would like to discuss one of the tools I regularly use in this process: the humble swimlane diagram. Swimlanes have been around for a long time (as early as the 1940s per Wikipedia), using either horizontal or vertical bands to divide a flowchart into segments that correspond with different people or groups. The example below is a modified version of a real-world diagram I created and used recently in my work.
For people, I always use abstracted roles and not individual names. This makes assigning security rights easier and encourages business users to think more structurally about their work. I also include each discrete system as separate swimlanes. This is something that does not often appear on standard flowcharts. Not only does this communicate when a system is performing a behind-the-scenes task, but which system is performing it.
I use swimlane diagrams often to analyze existing business processes and determine where they can be improved. I also use them to reengineer and design new systems. They are clear, to the point, and easily digestible by every end user I have encountered.
As far as downsides go, swimlanes are more cumbersome to create than standard flowcharts and spread out far more quickly. When I use Microsoft Visio to create my diagrams, I usually need to break the process down into very small segments and spread them out across multiple tabbed pages. This makes it harder to see the big picture than in a standard flowchart.
Some of you might be wondering why I am bothering with this. I could use a combination of standard UML (Unified Modeling Language) Activity, Use Case, and especially Sequence diagrams to accomplish the same thing. UML is a recognized standard and would be more useful from a developer’s perspective than what I have here.
You would not be wrong to suggest this. In many environments, UML would make more sense. What I like about swimlanes, though, is that it effectively communicates the contents of a sequence diagram in a more business-friendly format. In practice, I found that swimlanes are more accessible to some business users than UML.
Tech Talk Live is the only conference of its kind in the region specifically designed for IT pros in education.
1020 New Holland Avenue, Lancaster, PA 17601