# Cumulative Flow Diagram

** Download the sample CFD excel here: **sample-cfd.*

*Cumulative Flow Diagram* (CFD) is a valuable management tool for (1) tracking and forecasting the completion of work items, and (2) indicating the need to act upon flow and process improvement.

The *CFD* provides a graphical representation of how the work is moving through the system, helping stabilize the system, act upon bottlenecks and control the scope of work. It is a simple, yet very informative tool that depicts the work in progress (WIP), entry rate, exit rate, lead time, throughput, elapsed time, completed, remaining, and total scope of work.

Below is a CFD with many of its parameters. Each of these will be explained in detail on this article.

First of all, you must understand how the CFD is constructed. The presented CFD is built based on a table that is updated on a weekly basis. Below is such table with its matching CFD.

This table depicts the system workflow as: s*cope -> WIP -> done*; or, in other words: *to do -> doing -> done*.

Many tools build the CFD for you automatically, saving the manual work for the creation of it. However, for your learning, I recommend you to build a CFD simulate what happens in a real project. The CFD presented in this article was generated by Excel. You can download this model here: sample-cfd.

Work Items:The number in each cell of the table shown represents the amount of work items that stage for this week. It is important to clarify that the work item is a unit that makes sense for those who will read the CFD. Common examples of work items in the software development area are: functionality, function point, stories, stories point, bugs, tasks. Another essential consideration is that not mix different work items in the same CFD. That is, a CFD functionality should only contain features, while a CFD points stories must contain only points stories.

### To do / Doing / Done

Although CFDs can and are commonly used for workflows with several stages, I strongly recommend starting with a simple *to do -> doing -> done* workflow for fully understanding the CFD. Later on, once you master the CFD and feel the need for even more data, consider breaking the doing stage into its detailed workflow.

The amount of work regarding the t*o do / doing / done* work items is depicted in the CFD as per the image below.

### When is all done?

When is all the work done? This is the magical question everyone attempts to answer. By using the CFD there are two simple ways to answer such question: (1) graphically, or (2) mathematically.

By expanding the graph you can answer such question. Imagine the moment in time depicted at the CFD below.

At such specific moment (represented by the blue arrow on week 6) you know the amount of work complete, and you know the elapsed time. With these two parameters you can draw the completion rate line (the yellow arrow on the next picture). You have your answer by extending the completion rate line until it reaches the total work scope line.

Although you can do it graphically, I rather do it mathematically. It is the rule of three.

rule of three: the method of finding the fourth term in a proportion when three terms are given. / a mathematical rule asserting that the value of one unknown quantity in a proportion is found by multiplying the denominator of each ratio by the numerator of the other.– Dictionary.com

### Scope change

The scope line is the top most horizontal line accounting for the total work items. This line is clearly defined and must only change when work items are either added or removed from the work scope.

The CFD total scope must account for all work items going through the system. If new work arises, they should be added to the total work scope and the total work line should be adjusted. Thus, the new line makes it easy to identify when work are being added. The scope line also tracks where work is being removed. This scenario is illustrated in the figure below.

### Work in Progress (WIP)

Work in progress, WIP for short, is the number of work items currently in progress. For example, the scenario of the figure below has a Kanban with WIP of one: three work items are in the to do stage, one is being worked on (WIP), and four items are already complete.

On the CFD, the WIP at a moment is the height of the vertical line for the WIP area on such moment. The figure below represents the WIP on week 5.

### Lead time

Lead time is the time between the work item is added to the system (the doing stage) and the work item comes out of the system (work completed; the done stage). For the *to do / doing / done* Kanban presented previously, the lead time is the time it takes to complete the one (and only one) work item on the doing stage.

As it is usually the case, more than one work item will be in progress on the doing stage. For such reason, typically the question to be answered is: in average, how long does it take to complete a work item?

The answer to this question is depicted on the CFD. The image below shows a horizontal line representing the lead time: how long does it take for a work item to go through the system? Or, stating the same question with different words: how long does it take for a work item to move from the doing to the done stage (from the blue area to the green area on the CFD)?

### Throughput

Throughput is the rate at which work items are passing through the system. On the CFD, throughput is depicted by the angle of the completed work items line (the line between the green and the red areas). Below are two images with two marks on the CFD, comparing two distinct moments; the second one has a much lower throughput.

### Little’s law

“The average number of work items in a stable system is equal to their average completion rate, multiplied by their average time in the system.” ~ John Little, 1961

The text above is from “A Proof for the Queuing Formula” by Little, J. D. C. (1961). It is known as the Little’s law.

John Little studied and proved the relationship between WIP and lead time. As it turns out, it is a simple first equation. And by solving such equation you are able to find out the average time for work items in your system.

My whisky bar provides us a great stable system example to illustrate how you can apply Little’s law to understand and track WIP, throughput, and lead time.

My wife and I have an agreement. The right side of the bar is mine, the left side is hers. I only drink whisky. My side of the bar fits 12 bottles of whisky.

Whenever a bottle finishes, I remove it from the bar. Then I open a new one, and add it to the bar. My bar is a stable system: the rate at which whisky bottles enter the bar is the rate at which they exit.

The number of whisky bottles at my bar is constant: 12 bottles. Per year, I finish an average of 6 whisky bottles. So, what is the average time for whisky bottle in my bar?

#### Let’s apply Little’s Law

WIP = L x T, or, in words, average number of work items in a stable system (WIP) equals the average completion rate (T) x average time in the system (L)

Using the whisky bar terms: 12 bottles (WIP, or number of whisky bottles in the bar) = 6 bottles / year (Throughput, or average completion rate) x Lead time, or average time in the bar.

12 bottles = 6 bottles / year x Lead time,

Therefore, the average time a whisky bottle stays in the bar is 2 years.

It is counter intuitive! You went through the formula and got the answer, but you might have 2 months in your mind. Two months, and not two years!

This is a common confusion. When you read that an average of 6 whisky bottles is finished per year, you might have done a simple calculation: 6 bottles per year equals a bottle every 2 months. And it would have been 2 months for a given bottle if the bar would fit only one bottle.

Think about it. The whisky consumption is not from only one bottle. All of them are opened and under consumption. If only one glass is poured, one bottle reduces a little, while other 11 are not worked on. And the bar has 12 open whisky bottles.

#### So, how does that work?

Having less bottles in the bar means that each bottle will finish faster. As described, per year, 6 whisky bottles are finished. But the bar fits 12 bottles. This surely is affecting the average lead time.

For a moment, forget about Little´s Law. Let us tell you another episode. Whisky is good for the heart. For this reason Paulo drinks a very small zip every day. For this comparison, consider his drinking habit to be very constant.

Last summer, Paulo went to a beach house where he did spend two months. He took a few clothes, his laptop (to work remotely and write about this topic), and one whisky bottle. As the car was full, he was not going to carry the whole bar. He chose a new unopened bottle and took with him.

On the spot! That bottle was empty in exactly 2 months. So, what happened?

It is simple, and John Little has proved it nicely. The WIP or work in progress in the beach house bar was 1; only one bottle. The throughput was still the same: 6 bottles per year. Once again, doing the simple math:

WIP = L x T, or, in words, average number of work items in a stable system (WIP) equals the average completion rate (T) x average time in the system (L)

Using the beach house bar numbers: 1 bottle (WIP, or number of whisky bottles in the bar) = 6 bottles / year (Throughput, or average completion rate) x Lead time, or average time in the bar.

1 bottle = 6 bottles / year x Lead time,

Therefore, the average time a whisky bottle stays in the bar is 2 months (1/6 of a year).

WIP = L x T; the average lead time is directly proportional to the WIP, and that relation is the throughput. As proved in the whisky bar example, less WIP means faster delivery of work items (whisky bottles). Less means faster!

Ok, I am sure you had enough mathematics for now. The CFD proves the same point. The next figure shows the CFD with both WIP and lead time representations on two different moments. On it you notice Little´s law main point: smaller WIP represents smaller lead time.

Please note that the presented CFD was extracted from a real project, proving the point: once WIP was reduced, the average lead time has also reduced.

### Stabilizing the System

Whenever a bottle finishes, it is removed from the bar. Then a new one is opened and added to the bar.

This statement describes how whisky bottles are removed from and added to the bar. On it, two very important system concepts: Pull system and Stable system.

### Pull System

Pull System describes the movement of work items driven by actual demand. In the bar example, a bottle that is finished opens a spot on the bar. Therefore creating a demand for a new bottle to be opened and placed at the bar. Essentially, the movement of work items (whisky bottles) is driven by actual demand: a finished bottle is removed from the bar, opening space for a new one that is promptly added to the bar, occupying the vacant space.

Lean manufacturing describes Pull System in terms of a product, which is pulled through the system rather than pushed through the system. An example of a Push System would be adding bottles to the bar despite of any bottle being removed from it. Basically new bottles would be added without any demand (space on the bar) being created.

A> On the 80´s Ford motors and Toyota were great examples of Push and Pull system, respectively. Following a push system, Ford would produce mass amount of cars that would stay in the factories garages and stores waiting for the clients. On the other hand, following a push system, Toyota would focus on fast manufacturing of a customized car, as soon as a new demand was triggered by a client placing a purchase order.

### Stable System

The whisky bar is a stable system: the rate at which whisky bottles enter the bar is the rate at which they exit. Simple like that!

“A stable system is a system for which the inbound rate equals the outbound rate” (by John Little)

John Little defined stable system on his research and writing about process measurements and improvements.

### System stability on the CFD

The CFD is your best ally for stabilizing the system. On it you can clearly visualize the entry and exit rates. The next three images depicts: (1) the entry rate, the rate at which items are being added to the system; (2) the exit rate, the rate at which items exit the system, and (3) a stable system, a system for which the entry rate equals the exit rate.

Whereas the entry rate and exit rates are not equal, the system is unstable. The next two images depicts two moments where the system is unstable. On the first one, the entry rate is higher than the exit rate, therefore WIP is increasing. On the second image, the exit rate is higher than the entry rate, therefore the WIP is decreasing.

On these CFDs you can, once again notice Little’s law: reducing WIP reduces the lead time. Please note that the sample CFD has data from a real project. Unstable periods do happen. The main point is that CFD is a tool for noticing and acting upon instability. The following two figures depict the sample project. It started stable, went through an unstable period (where the team acted upon it), and then followed by another stable period.

*Download the sample CFD excel here: **sample-cfd.*