Objectives

Upon completion of this lesson, you will be able to:

  • visualize process flows using flowcharts
  • define the steps involved in modeling a process
  • use work sampling to understand process variations

Motivation

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.”

Modeling Data and Flows

There are two overall approaches commonly used:

  • Modeling data (information) flows via Data Flow Diagrams
  • Modeling activities that process information via Flow Charts

Information scientists often often use:

  • Context Diagrams to show process or system inputs and outputs

Introduction

In this introductory video cast, Dr. Schedlbauer presents the key ideas in modeling information-based processes.

Process Visualization

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:

  • UML Activity Diagram
  • Business Process Modeling Notation (BPMN)
  • Classic Flowchart
  • Rummler-Brache Notation
  • Line of Vision Enterprise Methodology (LOVEM)
  • SIPOC Diagram

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.

Flowcharts

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.

Activities

There are four common activities (also called tasks or steps) that we generally need to model:

  • activity: a simple activity done by a person or system
  • predefined process: a set of activities defined elsewhere (similar to a subroutine)
  • manual operation: an activity done by a person and not a system
  • manual input: input provided by a person to the process

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.

Control Flow

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.

Process Start and End

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.

Divergence on Decision Flows

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.

Divergence on Concurrent Flows

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

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:

  • «new» for a newly created object
  • «modify» for a state change to an existing object
  • «delete» for an object that is being destroyed and that will no longer exist

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 (Data)

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 (Documents)

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.

Data Stores (Databases)

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

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

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.

Worked Example

Summary

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.

Exercise

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

  • process starts when an alert is received by the application management system that a new application has arrived
  • Director of Faculty reviews the applications for minimum qualifications and compatibility of background with instructional needs; if background or qualifications do not match, send rejection email to applicant and stop hiring process
  • send application for review to at least one other person
  • if agreement on proceeding, contact candidate and interview them
  • if interview goes well, then schedule a demo lecture, otherwise stop process
  • send invitation to all teaching faculty announcing demo lecture
  • conduct demo lecture and after demo lecture collect feedback and rating from faculty who attended
  • if rating is at least a “consider hire”, continue, otherwise stop
  • alert HR of new hire and ask them to process paper work: new process {Process New Hire}
  • while the process {Process New Hire} is ongoing, send online teaching handbook for review to candidate and then conduct an on-boarding session
  • once all of the above conclude, start process {Assign Course} to new hire and alert them of the assignment
  • process concludes

The diagram below shows a partial visualization of the process. Only look at it after you have given it a try.


Files & Resources

All Files for Lesson 42.112

References

Schedlbauer, M. (2010). The Art of Business Process Modeling: The Business Analyst’s Guide to Process Modeling with UML & BPMN. CreateSpace Press.

Errata

None collected yet. Let us know.

Let us know.


  1. The mechanism for information objects presented here is borrowed from UML Activity Diagrams.↩︎