A New Copy!

Today we begin Part 2 of  Daniel S. Vacanti’s Actionable Agile Metrics for Predictability. Part 2 is titled Cumulative Flow DIagrams for Predictability. Chapter 4, Introduction to CFDs lays out the Vacanti’s view on the composition of cumulative flow diagrams (CFD) and the principles that drive those views. Cumulative flow diagrams are some of the most powerful data visualization techniques and are used far less than they should be! Buy your copy today and read along!

Part 2 Cumulative flow diagrams for predictability

Chapter 4 Introduction to CFDs.

The Software Process and Measurement blog has tackled CFDs in the past. CFDs provide a basis for interpreting the flow of work through a process. A CFD can help everyone from team members to program managers (note I think my understanding and experience would suggest updating and tailoring some parts of the older entries on the topic). Vacanti opens Chapter 4 with the concept:

Cumulative flow diagrams are about arrivals and departures.  

The basic cumulative flow diagrams track the total number work items arriving in the process. When a piece of work enters the process is defined by the team’s interaction with the process but is typically identified when the team begins work on the item. The second component, departures tracks when work leaves the process. Departure typically refers to when work is complete, in Agile, when work achieves the definition of done. Later in the chapter, Vacanti points out that there can be complications with both arrivals and departures. An example of a CFD follows (x-axis is time, y-axis reflects the cumulative work that has that enters or exits the process):

The top line in accumulative flow diagram equates to arrivals and shows the cumulative arrivals the bands inside represent each of the steps within the process that are being measured.

Vacanti offers two critical properties of CFDs”  

CFD Property 1: The top line always represents the cumulative arrivals to process the bottom line always represents the cumulative departures.

CFD Property 2: Because a CFD is cumulative, no line on a CFD can ever decrease.

CFD Properties 1 and 2 make boundaries critical. Boundary decisions, once chosen, need to be adhered to. Secondly, the example in the book, Vacanti complicates the common entry and exit model (stuff enters, work happens and then is completed), with the possibility of work entering and then leaving immediately or in an incomplete state. Vacanti suggests adding time to the entry and exit dates. An example in the book Vacanti uses customers entering a retail store that walks in and immediately leaves (let’s say like me, they forgot their phone in the car), without the time data to interpret data that may be generated due to special circumstances. For example, I recently watched as a product owner pulled a piece of work just as it started to be addressed due to change in the market. The work entered and immediately exited.

Counting items without time data only works if work never moves backward or are just completely removed before they are done. Unfortunately, we can all identify scenarios where these rules are violated. Timestamps allow you to sort out the really hard issues like things that appear on the board.

The power of the CFD is that it shows a huge amount of information. In Chapter 3 Vacanti identified five assumptions that make Little’s Law valid. (Note: Steven Adams drew the five assumptions out in his comments). Violations of the assumptions translate visually immediately on the CFD.  

One final “rule” delivered by Vacanti is that a backlog is not to be included in a CFD.  Including a backlog violates Principle 1 – that a CFD is about arrivals and departures. Including backlogs deliver the appearance that items in the backlog are committed and have been prioritized.

Previous Installments:

Week 1: Introduction and Game Plan

Week 2:  Flow, Flow Metrics, and Predictability

Week 3  The Basic Metrics of Flow

Week 4: Introduction to Little’s Law

Actionable Agile Metrics for Predictability: An Introduction by Daniel S. Vacanti



Get your copy and begin reading (or re-reading)!