
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)!
November 13, 2017 at 7:37 pm
I am glad a re-read this chapter – Vacanti instills the fundamentals of CFDs!
Two of the hardest things in practice when measuring with CFDs in-mind are
1) Determining when the clock starts for work-items. Often we learn that work has already started before we had a chance to assign that first time-stamp to it.
2) Making sure that work-items do not move backwards in the process. I have had cases where we needed to take a work-item all the way through to Done with the “abandoned” filter and re-introduce it so the this CFD condition (no backwards movement) is followed.
November 15, 2017 at 7:39 am
Agreed – the refresh of the assumptions of Little’s Law in the previous chapter proved the basis but the actual blocking and tackling require discipline.
November 19, 2017 at 7:37 pm
[…] Week 5: Introduction to CFDs […]
November 19, 2017 at 10:11 pm
[…] Week 5: Introduction to CFDs […]
November 26, 2017 at 10:15 pm
[…] Week 5: Introduction to CFDs […]
December 2, 2017 at 11:55 pm
[…] and Predictability Week 3: The Basics of Flow Metrics Week 4: An Introduction to Little’s Law Week 5: Introduction to CFDs Week 6: Workflow Metrics and […]
December 3, 2017 at 10:15 pm
[…] Week 5: Introduction to CFDs […]
December 9, 2017 at 11:57 pm
[…] Week 5: Introduction to CFDs […]
December 10, 2017 at 10:10 pm
[…] Week 5: Introduction to CFDs […]
December 16, 2017 at 11:56 pm
[…] Week 5: Introduction to CFDs […]
December 17, 2017 at 10:05 pm
[…] Week 5: Introduction to CFDs […]
December 23, 2017 at 11:57 pm
[…] and Predictability Week 3: The Basics of Flow Metrics Week 4: An Introduction to Little’s Law Week 5: Introduction to CFDs Week 6: Workflow Metrics and CFDs Week 7: Flow Metrics and CFSs Week 8: Conservation of Flow, Part I […]
December 24, 2017 at 10:11 pm
[…] Week 5: Introduction to CFDs […]
January 6, 2018 at 11:56 pm
[…] Week 5: Introduction to CFDs […]
January 7, 2018 at 10:11 pm
[…] and Predictability Week 3: The Basics of Flow Metrics Week 4: An Introduction to Little’s Law Week 5: Introduction to CFDs Week 6: Workflow Metrics and CFDs Week 7: Flow Metrics and CFSs Week 8: Conservation of Flow, Part I […]
January 13, 2018 at 11:55 pm
[…] Week 5: Introduction to CFDs […]
January 14, 2018 at 10:14 pm
[…] Week 5: Introduction to CFDs […]
January 20, 2018 at 11:56 pm
[…] Week 5: Introduction to CFDs […]
January 21, 2018 at 10:15 pm
[…] Week 5: Introduction to CFDs […]
January 28, 2018 at 12:04 am
[…] Week 5: Introduction to CFDs […]
January 28, 2018 at 10:21 pm
[…] Week 5: Introduction to CFDs […]
February 4, 2018 at 1:55 am
[…] Week 5: Introduction to CFDs […]
February 4, 2018 at 10:10 pm
[…] Week 5: Introduction to CFDs […]
February 10, 2018 at 11:56 pm
[…] Week 5: Introduction to CFDs […]
February 11, 2018 at 10:16 pm
[…] Week 5: Introduction to CFDs […]
February 17, 2018 at 11:55 pm
[…] Week 5: Introduction to CFDs […]
February 18, 2018 at 10:10 pm
[…] Week 5: Introduction to CFDs […]
February 25, 2018 at 10:10 pm
[…] Week 5: Introduction to CFDs […]
March 3, 2018 at 11:56 pm
[…] Week 5: Introduction to CFDs […]
March 4, 2018 at 10:11 pm
[…] Week 5: Introduction to CFDs […]
March 10, 2018 at 11:56 pm
[…] Week 5: Introduction to CFDs […]
March 11, 2018 at 9:07 pm
[…] Week 5: Introduction to CFDs […]
March 20, 2018 at 8:54 pm
[…] Week 5: Introduction to CFDs […]