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:

  • They help you understand how a particular process is carried out.

  • They help you recognize unnecessary steps in the process or sources of poor quality.

  • They help you decide whether the process creates customer value or meets some other requirement.

  • They simplify the process to make it more reliable, safer, faster, or cheaper.

  • They identify various stakeholders in a process.

  • They help you plan required product and process improvement initiatives.

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:


Understand the process by visiting the workplace/domain of process activities.


Observe the activities, and talk to those who carry them out, not the managers.


Identify what is causing the process to start and what it leads to.


Observe the sequence of activities leading to the end of the process.


Identify "yes/no" decision loops, if any, and the consequent activity.


Write down a description of each activity from beginning to end.


Draw the chart, and check with the participants and process owner for accuracy.


Reconcile discrepancies, if any.

Three types of flowcharts provide different levels of details, as discussed next.

High-Level Flowcharts

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

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

Design for Trustworthy Software. Tools, Techniques, and Methodology of Developing Robust Software
Design for Trustworthy Software: Tools, Techniques, and Methodology of Developing Robust Software
ISBN: 0131872508
EAN: 2147483647
Year: 2006
Pages: 394
Similar book on Amazon

Flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net