10

4 Key Flow Metrics for Agile Teams

 2 years ago
source link: https://dzone.com/articles/4-key-flow-metrics-for-agile-teams
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

What Is Flow Engineering and Why Does It Matter for Software Delivery?

Flow Engineering is the science of creating, visualizing, and optimizing the flow of value from your company to the customers. It addresses the million-dollar (likely more) challenge of most product companies is: How do we create value in the form of products and services and ship this value to our customers as quickly, sustainably and frictionless as possible.

From a product management point of view, we might look at how quickly we can achieve customer adoption and satisfaction. From an engineering platform point of view, we might look at DevOps metrics such as DORA, which have a similar aim. And from a software development point of view, we might look at code quality and the number of features shipped. All these different viewpoints have something in common: we want to measure and optimize the flow from our ideas to implementation and product delivery.  

Delivery stream from creator to consumer

Managing the value stream flow from us to the customer

Flow Engineering is a modern approach to seeing value delivery as a flow from inception to the outcome. The goal is to have the flow be as wide and unobstructed as possible for it to deliver the maximum value.

4 Key Flow Metrics for Agile Teams

To optimize the flow, it helps to visualize our internal engineering and delivery flow. On top of that, we like to understand our current capabilities to see where the bottlenecks are and where we can make cost-effective improvement

For measuring software delivery capabilities, it helps to focus on a few North Star metrics, that capture our capabilities as well as impediments. These flow metrics are:

Velocity

The speed at which we are delivering. How quickly can we ship a feature? How long is our so-called cycle or lead time from start to finish? The shorter our lead time, the faster is our delivery (Learn more about cycle time).

Throughput

The amount of work that can get done. How many features do we ship in a quarter? How many releases do we do in a week? How many tickets can we resolve? Throughput signifies our current rhythm in terms of delivery and its capacity; the maximum number of items we can get done in the current setting.

Flow Efficiency

How much waste or friction do we encounter? For instance, how much-unplanned work are we doing? How many bugs do we have to resolve due to poor quality? How often does the released product need patching and how quickly can we do this? How often do we bypass approval processes or skip expected reviews?

Flow Risk

What are impediments to delivering smoothly? Do we plan more items than our capacity allows? Do we overload teams? Do we have process hiccups leading to delays? Do we have too many context switches reducing the overall effectiveness? Do we do too much-unplanned work leading to frustration and confusion?

Flow engineering can be compared to a stream of water from its source (us) to the ocean (the customer). We prefer a wide, fast-flowing, unobstructed and clear stream that provides a clear passageway from the source to the ocean.

How to Measure Flow Metrics

For us to improve the flow of software delivery to the customer, we not only need to align engineering with the business, but we also need to reduce friction within our own systems. We can only do that if we can measure our current state. Fortunately, in modern software organizations there a many data points that can be captured automatically to generate a holistic picture.

Jira Cockpit viewFlow metrics types in Logilica

Most companies run some form of agile software delivery process. This might be running agile Scrum teams, having a Kanban process, or running agile at scale using SAFe. Typically, this is underpinned by DevOps infrastructure that handles our feature planning, software development, and build processes as well as our test and release tools.

All this generates large amounts of information. For instance, each code change tells a story about what changed, where something changed, how long the change took, and who was involved in each step. The metadata of the change includes details of whether that code change was reviewed, who was involved in reviewing it, and how many iterations it took for it to be approved and merged.  Additionally, we easily get supplementary DevOps information: the duration and success of a build; the corresponding test coverage details; and the resolution times of feature or bug tickets.

Most organizations already have valuable data coming from:

  • Feature planning and ticket systems such as Jira, Monday, or Shortcut.
  • Software repositories with their associated metadata from GitHub, GitLab, or Bitbucket.
  • Build and release automation infrastructure including GitHub Actions, GitLab Pipelines or CircleCI.

The key to success is to extract that data from the different engineering tools and silos, fuse the data and apply smart domain-specific analytics to generate flow insights to optimize and manage the end-to-end delivery process.

Implementing Engineering Management With Flow Metrics

Logilica helps engineering managers to get insights for decision-making by connecting to many of the data sources seen above, fusing the data, and computing metrics and insights automatically. Those metrics can then be sliced and diced by engineering leaders and drilled down into evidence. This enables an open, data-driven team culture for making more informed and collaborative decisions.  Jira throughput

Example of Jira flow throughput tracked in Logilica

Flow metrics are a core concept and are extensively used by software delivery teams and agile engineering groups to deliver sustainable value faster. The flow metrics are balanced across different sources around three core pillars:

  1. Speed of delivery: How much and how quickly can we ship?
  2. Quality of delivery: Do we follow processes and meet our quality goals?
  3. Team sustainability: Do we ensure to stay within our capacity and avoid burning out our engineers?

Centering flow metrics around the core pillars ensures the ability for a balanced approach that does not favor one-sided extremes, such as focusing excessively on delivery cycle times, resulting in neglecting the process and the burnout of team members. 

Matching the three core pillars with the flow metrics provides a consistent and flexible mental model across the engineering organization and beyond. 

Conclusion

Software delivery is a complex journey and some metrics are essential to keep tracking and optimizing the process.  However, no single metric will solve it all, and it is much better to center metrics around the right concepts than single values.

Flow Engineering is a thriving discipline that focuses and velocity, throughput, and risks to rally everyone’s thoughts around smooth, fast, and reliable delivery. 


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK