What is Flow Efficiency and how can you benefit from it?
Flow Efficiency is one of the most powerful metrics to help you improve the efficiency of your software delivery process. As the name suggests, it analyses the flow of work throughout the end-to-end delivery lifecycle, and reflects the proportion of time that a ticket was actively being worked on by the team versus the time it was stalled in some form of a queueing state (e.g. To Do, Pending QA, Pending Sign-off). In other words, it represents the time a ticket was actively being worked on as a percentage of the total time (i.e. Lead Time).
Flow Efficiency enables teams to quickly pinpoint stages in the delivery process where excessive friction or “waste” exists. By reducing the process “waste” and time spent in a queueing state, teams can quickly and quite dramatically increase their time to market and throughput without the need to increase headcount.
The Flow Efficiency status review chart identifies all the inactive and active statuses that tickets pass through within the issue management system (such as Jira or Azure). The illustrations above show just how easy it is for Teams to identify the bottlenecks and other “waste” within their delivery process and look to implement the corrective actions that will improve Flow Efficiency.
Flow Efficiency is very often used in conjunction with analysis of Cycle Time and Lead Time as organisations look to improve the overall effectiveness of their software delivery capability. Lead Time and Cycle Time are two of the ‘North Star’ agile delivery metrics which track an organisation’s ability to delivery software early and often.
Lead Time refers to the overall time to deliver an increment of software from initial idea through to deployment to live – i.e. the complete end-to-end software delivery process. Whilst Cycle Time is a subset of the overall delivery time, typically measured the time from development start to live (traditional Cycle Time) or from code commit to production (sometimes referred to as Code Cycle Time).
Key Use Cases
Analysis of Flow Efficiency is a basic first step for any delivery team looking to improve delivery efficiency and throughput.
So key uses cases are:
- Teams that are looking to increase speed to market and increase throughput or velocity
- Teams looking to identify bottlenecks in the software delivery process, particularly as they grow in size and complexity
- Often Flow Efficiency analysis is used when Cycle Time and Lead Time are being introduced as key overall software delivery efficiency metrics, as part of a broader move to more data-driven software delivery
By increasing Flow Efficiency, you should expect to see the following outcomes:
- A reduction in time to market for new functionality (evidenced in Lead and Cycle time)
- An improvement in overall throughput (e.g. a Scrum team’s increased velocity)
- A reduction in resolution time for bugs
- Increased morale in the team (process inefficiencies are detrimental to team morale)
- Stronger collaboration amongst team members
Plandek works by mining data from toolsets used by delivery teams (such as Jira, Git, CI/CD tools and Slack), to provide end-to-end delivery metrics/analytics to optimise software delivery predictability, risk management and process improvement.
Plandek is a global leader in this fast-growing field, recognised by Gartner as a top nine global vendor in their DevOps Value Stream Management Market Guide (published in Sept 2020).
Plandek is based in London and works with clients globally to apply predictive data analytics and machine learning to deliver software more effectively.