Motivation

2014-04-25_11-46-45.png
Imagine you are trying to explain how to do something. Perhaps you need to describe to a funding agency just how it is that your organization processes cases. Or maybe you just want to review with your housemate the steps that are involved in pulling off the dinner party you are having tonight. Or maybe she calls saying she has a flat tire on her bike and you are trying to explain over the phone how to change the inner-tube:

You: Don't worry, it's not that hard. You just remove the wheel and replace the tube. Do you have a spare? Is it the front wheel or the back? Do you have quick release hubs? If not you'll need a wrench. So you take the wheel off first. Then you want to remove the old tube. Oh, you'll also need some tire-irons. These tools should be in the utility bag on your bike. You do have one, don't you? Anyway, start just a short ways from the valve on either side. Carefully put thin end of tire iron under the edge of the tire rim from one side or the other and leverage it up. Then hook this tire iron on a spoke. Now take the other tire iron and do the same about 6 inches further, moving away from the valve, but don't hook this one. Then either slide it along farther, levering the edge of the tire over the wheel rim. Keep going until you reach the other side or the tire pops off the wheel. Then we put the new tube in. Then we inflate. Etc.

Perhaps the most important skill for solving complex problems is slow thinking. To cultivate this skill we need to learn to slow down, think step by step, and avoid getting mired (prematurely) in detail. Flow charts are one tool we can use to develop this set of skills.

Flow charts are also excellent vehicles for communicating the results of good, clear thinking in an unambiguous manner.

Let's get specific: a flow chart is a diagram that can represent a sequence of actions and deterministic alternative courses of action. What should be done, in what order, under what conditions. By "deterministic" we mean that nothing is left to chance - at each decision point, we assume we can ascertain what conditions hold and the flow chart tells us what action to take based on that.

They are also useful as representations of stepwise refinement or top-down design in which details are deferred in order to get the preliminary logic of a process correct without getting mired in minutiae. We'll look at this in the next section.

Examples of the kinds of things flow charts can represent abound: recipes, instructions, protocols, are contingency plans.

If a picture is worth a thousand words, a good diagram must be worth at least a million. Visual diagrams fulfill two important functions:

  1. reduce or tame complexity to permit focus on features of a problem relevant to the task at hand (it stabilizes my model so I know what I am thinking);
  2. externalize our understanding of a problem so that the same model can be subject to multiple cognitions (it permits multiple thinkers to think about the same object).

The second of these can be especially important when working with informants or clients. You show them a flow chart of your understanding of how a process works and walk through it with them. This often elicits insights on both sides (e.g., "No, it's not supposed to work that way" or "I never noticed that connection.")

Flow charts and their variants are among the most useful diagrams you will ever encounter. They can be used both prescriptively (a a protocol telling us what procedure to follow under different conditions) and descriptively (as when the organizational ethnographer discerns the factors that lead to decisions in practice) and analytically/diagnostically (to identify problems, suggest improvements).

There are three levels of competence in connection with flow charts:

  1. Being able to read a flow chart, understand what it represents, carry out the protocol it describes
  2. Being able to construct a flow chart based on information about a process or in while designing a process
  3. Being able to use a flow chart analytically to understand and manipulate a process

More generally there is a basic skill of being able to think logically about processes that comes with facility with flow charts. The techniques involved in making them are incredibly useful, general purpose heuristics.

Introduction

A flow chart is a visual representation of a process, that is, a set of actions ordered in time.

The first element of process that it captures is sequence, the order in which a set of actions takes place. A to-do list is not a flow chart and neither is a list of alternatives:

to-do-list.gif
Friday-night-alternatives.gif

Figure 1. Unordered lists are NOT descriptions of PROCESS

…but a description of how one spends one's day might be:

the-day-as-a-list.gif
days-routine-as-flowchart.gif

Figure 2. A sequence of actions can be represented as a flowchart


What makes this a process is that the individual actions are arranged in a definite sequence; this representation of our daily activities is meant to convey the fact that we shower before we drive to work and that we drive to work before we work.

Stop and Think: What temporal aspects of one's work day do the list and the simple flowchart show and what aspects do they fail to represent? (Hover over whitespace below to reveal answer)

By convention, actions, things that get done or happen, are represented in flowcharts with rectangles. The sequential relationship between actions is represented by arrows. Typically, time "flows" downward (or sometimes to the right) in a flow chart. A further convention is to put a small circle at the entry and exit points of a flow chart.

generic-sequence-flow.gif

Figure 3. A simple flowchart

Decisions and the "Flow of Control"

Most real world processes involve contingencies: if it's a work day, get up and go to work, otherwise, sleep in. The power of flow charts comes from using them to represent the decision points and the way that alternative "paths" through a process are taken, depending on specified conditions (such as "is today a work day?"). This gives us some insight into just what it is that is flowing in a flow chart: control in the sense of steering our way through a series of connected action steps.

In a flow chart, a decision is represented by a diamond. We almost always work with binary or yes/no or true/false decisions. We call the basis of the decision a "condition." Thus, we say "if this condition is true then do one thing, otherwise, it is false and so do the other thing." A diamond will sometimes be referred to as an "if-then" structure. Figure 4 shows the flow chart for the sequence "Do the first thing and then, if CONDITION is true, do the the ONE thing otherwise (if CONDITION is false) then do the OTHER thing.

decision-01.gif

Figure 4. IF CONDITION DO the one thing ELSE DO the other thing

A decision like this represents a fork in the road. We come up on it, we evaluate the condition, and we take one or the other tine of the fork. In the flow chart, there is always one flow INTO the decision diamond and two flows out, one for yes (CONDITION is TRUE) and one for no (CONDITION is FALSE).
decision-02.gif
Our convention will be to always have the out-arrows can come from the side vertices (corners) of the diamond (makes charts easier to read) or from one side and one bottom (often helpful to save space or show the dominant pathway in a process). In either case, these arrows should always be labeled. If they are not labeled we will assume that arrows to the left are "yes" or "true" and to the right are "no" or "false." If we have one side arrow and one down arrow and no labels, we will assume the direction of the side arrow determines its logical valence.

Summary So Far

We have introduced four flow chart components. Rectangles which represent actions, diamonds which represent decisions, circles which are used as entry and exit points, and arrows that indicate the flow of control between entry points, actions, decisions, and exit points.

flow-chart-components-01.gif
Problems

71, 72, 73, 74, 75 

References
  1. Wikipedia articles on Flow Charts
  2. Flow Charts for Simple Tasks: Tutorial with exercises at Univ Plymouth, UK
  3. Flow Charts for Classification: Tutorial with exercises at Univ Plymouth, UK
  4. An overview by HCI consulting in Australia
Other Examples

Immigrant Crimes
Life's Big Questions