A flowchart, also called a process map, is used to visually describe a process. It is a graphical representation of various activities in a sequential manner. It includes various operations, inspections, delays, and decision loops involved in a process.
A properly drawn flowchart shows important activities that may result in desirable or undesirable process outcomes. Identifying such activities and their causes can help you eliminate or minimize redundancies and wasteful activities as well as strengthen activities that help achieve process goals and create customer value. A flowchart also serves as a communication tool. Thus, it is the foundation of effective process improvement initiatives such as Six Sigma. It is also useful in DFTS technology in that it helps define and improve the software development process. In general, flowcharts serve the following purposes:
Flowcharts use a variety of symbols. The most common ones are shown in Figure 6.1.
Figure 6.1. Commonly Used Flowchart Symbols
The following are the typical eight steps in making a flowchart:
Three types of flowcharts provide different levels of details, as discussed next.
This kind of flowchart, also called a top-down flowchart, provides a broad view of the process by showing just its major steps. The high-level flowchart shown in Figure 6.2 shows a simple process involving fixing a software defect. It does not deal with various substeps and feedback loops that accompany decision boxes. High-level flowcharts can be used to describe the major sequence of steps that link inputs and outputs in a process. It is useful for identifying various intermediate stages in the process and thus opportunities for monitoring indicators and for grouping individuals involved in similar activities. Usually fewer than ten major steps are required to construct a high-level flowchart.
Figure 6.2. Two Examples of Flowcharts
A detailed flowchart, shown in Figure 6.2, is a thorough portrayal of a process; it usually includes various substeps and activities. It also includes various loops that accompany decision boxes. They identify opportunities for improvement from the customer's perspective and show ways to eliminate waste. The detailed flowchart identifies waiting and other routines that do not necessarily create value for the customer. Such activities should be eliminated or minimized to make the process better, cheaper, and faster.
Swim Lane Flowcharts
This is a detailed flowchart in which the participants in a particular group of activities such as testing or coding are shown in identifiable horizontal or vertical lanes. It is particularly useful in designing an improved or new process where the roles need to be clearly identified.