Upon completion of this lesson, you will be able to:
The Business Analysis Body of Knowledge (BABOK) explains that “a process model is a visual representation of the sequential flow and control logic of a set of related activities or actions. Process modeling is used to obtain a graphical representation of a current or future process within an organization. A model may be used at its highest level to obtain a general understanding of a process or at a lower level as a basis for simulation so that the process can be made as efficient as possible.”
There are two overall approaches commonly used:
Information scientists often often use:
In this introductory video cast, Dr. Schedlbauer presents the key ideas in modeling information-based processes.
Visualizing the activities and information flows in an organizational or system process is necessary to understand the process, be able to analyze the process, establish execution time and cost parameters, and to communicate the process to others. it is an externalization of an information object, using the terms of the SECI Framework.
Several visual notations have been developed over time to graphically depict processes. Those notations include:
This lesson presents the classic flowchart notation as it still is one of the most commonly used notations and is often a bit simpler to use than the others. However, some important process structures cannot be easily depicted in flowcharts; choreography of concurrent process flows is one example.
Process flowcharts describe the flow of information and the sequence of activities in the process. They are typically used to map out simple organizational processes.
An example of an organizational process is the process of admitting students at the (fictitious) University of Balden: the triggering event is the receipt of an application by a prospective student; the admissions group receives the application and the application is required to be randomly forwarded to one of several admissions review teams. A tentatively admitted candidate must then be reviewed and approved by the college to which they applied and by a subgroup of the major to which they applied; once fully approved, an automated email is sent to the applicant to inform them of their rejection or acceptance.
A flowchart maps out all of the steps, who in carries out which activities, which activities must be done in sequence or may be done concurrently, and how the process starts and ends.
The most commonly used flowchart symbols are summarized in the diagram below:
While there are several additional symbols, they are generally not useful and will not be covered in this lesson. Furthermore, the definitions and names of some symbols have been modernized to make them more applicable.
All of the diagrams in this lessons were drawn in LucidChart and can be found at this link.
There are four common activities (also called tasks or steps) that we generally need to model:
The diagram below shows their symbols:
An activity is a task or work carried out by a single party (a system or a person) and that is considered a single step and is generally not broken down further, and can be accomplished in a reasonable amount of time (a few minutes) in a single “transaction” or “session”.
A predefined process is a set of steps that are generally combined and treated as a single step, although it can involve many complex process flows but those are not considered relevant for the process map where the symbol appears. The flow of a predefined process is mapped in a separate diagram. We can think of a predefined process as a “subprocess” or a “subroutine”.
In some process maps it is useful to distinguish between activities done by a person and those done by an information system. Those done by a person are manual operations.
If an activity is an input activity, i.e., where a person provides information to the system, it can also be visually distinguished with a different symbol. Typing information into an entry form or uploading a file are examples of manual inputs.
Activities are connected by control flows which are shown as arrows. The transfer of control from one activity to another is presumed to be instantaneous, i.e., as soon as one activity end, the next one starts. If there is a delay between the end of one activity and the start of the next activity, then a delay must be added in between. A delay activity has a different symbol and is also shown in the diagram fragment below.
The delay can be for some specific period of time (e.g., wait 10 seconds) or until some event occurs (e.g., wait until the system finishes saving the file). The delay activity contains the specific delay conditions as text.
The start of a process is some triggering event. A process can only have one start point, but may have several end points that result in different process post-conditions (i.e., different process outcomes). Some process paths result in a successful outcome while others a failed outcome.
A divergence in a process splits a process into two or more different paths, only one of which is taken, generally depending on the outcome of a decision.
The decision is often either an activity with different outcomes or a question with two or more answers. The path taken is the one whose condition evaluates to true. Naturally, at least one condition must always be true or the process deadlocks. Furthermore, no more than one condition can ever be true or the process becomes non-deterministic as one of the paths whose condition evaluates to true would be chosen at random – clearly not a desirable outcome.
Rather than having multiple inflows to a single activity, as is the case with “Step Three” in the above diagram, we merge control flows into a single flow so that every activity has always exactly one incoming control flow. The use of a “merge” symbol is illustrated below.
A divergence into two or more concurrently running branch paths is useful when we want to show that some activities are (or could be) done at the same time or when the order in which the sets of activities are done does not matter.
The control flows emanating from the divergence can have guard conditions to indicate when those concurrent branches should start.
The merge is required as it acts as a “join of concurrent threads” and the outgoing control flow will only move to the next activity when all incoming branches have either finished or terminated. A branch can have its own termination and the merge will not wait for it to complete.
Information objects is any aggregate set of data values that are provided by a process actor to a process, received by a process actor from a process, generated by a process, stored during the process, or loaded from a data store by a process. Receiving an information object could mean a getting a physical print-out, an object is the form of a file or part of a file, an object’s values displayed on a display, or information entered though a user interface dialog.
While not completely necessary, we often distinguish between information objects that are digital (like a file or a row in a database) and those that are “physical” or non-digital (like a printed document, a physical object, or a paper form).
When an activity in a process creates, modifies, or destroys an information object, a dashed line is drawn from the activity towards the object and an optional label indicating the state change is added:
When an object is needed by an activity a dashed line is drawn from the object towards the activity with the label «use». Alternatively, when an information object is transported from one activity to another, its object id can be added to the control flow in underlined form.
An information object must have a unique id and be an instance of a class from the domain ontology. The id and class are separated by a colon : and both are underlined1.
Digital information objects are those generated by an information system and stored only within the confines of an information systems memory and data storage devices. Of course, an information object may have a digital representation and a non-digital representation. For example, a driver’s license exists in a database as a digital object but it is also printed as a plastic card (in most places in the world) and is therefore a physical or non-digital object – but it is the same object.
Digital objects almost always require movement to and from a data store, e.g., a database or a file in a file system.
Non-Digital information objects are most common physical documents. A few examples of non-digital documents are printed information, paper forms, passports, licenses, labels, etc.
The diagram below demonstrates the use of a non-digital (physical) information object in a flowchart to illustrate information flows. It shows the modification of an existing object, the use of an object by an activity, and the movement of an object from one activity to another.
A data store is a collection of digital or non-digital information objects. It generally is used to represent a database or file system in which digital objects can be stored, or a file cabinet or file folder in which non-digital objects may be stored. A data store must have a name: the name of the database or name of a folder, or some other way to know where the data is located.
To indicate that an information object is stored in a data store, either draw a line from the object to the data store or add the object’s id and class (underlined format) to a dashed line emanating from the activity that moves the object to the data store – or both if that is clearer.
Swimlanes are a common addition to flowcharts, although they were not originally part of flowcharts. A swimlane is a container in the form of a box that contains all activities carried out by a process actor. A process actor is any person, group, department, organization, or system that carries out activities in a process. Swimlanes allow the process architect to show who does what in a process and visualize process boundaries and hand-offs.
Swimlanes can be drawn horizontally or vertically and can contain sublanes to show who within a group does certain work.
Notes are comments that can be added to a diagram to explain a process mechanism, constraint, or other insight that cannot be easily explained in another way. Constraints should be enclosed in braces ({ and }) to distinguish them from general comments.
Notes can be attached with a dashed line (without arrows) to some modeling element or apply to the diagram at large.
Analysts often write the notes in a “cursive” font and italicize them so as to visually indicate that they are “notes” on the diagram.
Flowcharts continue to be a valuable method for visualizing process, although they have been supplanted by UML and BPMN. Although many of the symbols are no longer meaningful, they can be repurposed to use flowcharts for modern organizational and system process analysis.
This lesson presented a set of symbols with updated definitions for visualizing process flows.
Using a process modeling or visualization tool of your choice, model the process below as a flowchart. Be sure to use swimlanes to delineate responsibilities.
Process: Hire Part-Time Instructor
The diagram below shows a partial visualization of the process. Only look at it after you have given it a try.
Schedlbauer, M. (2010). The Art of Business Process Modeling: The Business Analyst’s Guide to Process Modeling with UML & BPMN. CreateSpace Press.
The mechanism for information objects presented here is borrowed from UML Activity Diagrams.↩︎