Definitions provide several benefits. The first is that once a definition for an object or concept is agreed upon, it is far easier to have a discussion without getting confused. A second and equally important benefit is that definitions provide a platform for establishing attributes that can be used to describe the object or idea. For example, if we were describing a flow of water, we could use direction, speed, and volume to describe and measure the flow. If we use Daniel Vacanti’s definition of the flow of software development and maintenance, “the movement and delivery of customer value through a process,” we can identify a common set of attributes that can be used to describe flow. Attributes are critical because even with a definition we need to communicate and measure nuances. Just think if you only had one word to describe rain or hot;, a lot would be lost.
As with many concepts in agile, different people have different perspectives on flow attributes – I know, I asked. For example, Scott Ambler suggested a couple of attributes: smoothness, and scent. He added, ”If the flow is turbulent or smells bad, there’s likely an issue somewhere.” Mike Burrows, the author of Kanban From The Inside, responded with several attributes including smoothness, timeliness, good economic outcomes, and complexity. Daniel Doiron added low WIP (work in progress) and slack. Teasing a thread from these comments and other sources yields four high-level attributes that are useful on a day-to-day basis.
- Capacity is how many items can be in progress at any one time (not in the process but being worked on – in progress).
- Pace is the speed at which work items move through the process or value chain.
- Variability is the level of inconsistency inherent in the process.
- Value Delivered is the amount of benefit that ends up in end users’ laps when it exits the process or value chain.
Each of these attributes can be measured. For example, flow velocity and throughput are measures of pace. The next section will tackle metrics specifically.
Each attribute can be described/broken down generating a cascade of attributes that can be used better describe the concept or to measure the nuances. For example, if we are using WIP to measure capacity. Attributes such as touch time, status, slack, and open item aging might be useful attributes to more deeply understand WIP.
Next – Integrating Flow and DORA Metrics
This article is part of a larger theme on flow. Please read Agile and Lean Basics: Flow in conjunction with this article.