Flow metrics measure how value moves through a software product's end-to-end value stream. This tutorial explains how CloudBees uses flow metrics in our platform to provide a high-level view of the software development lifecycle (SDLC) through a business lens.
Flow metrics can help businesses make more decisive decisions by showing the rate of value delivery concerning desired business outcomes. They can also provide a historical analysis of performance over time. CloudBees can aggregate data from your ticket management or work item management software like JIRA and connect it to your actual work in a code repository such as GitHub, and backtrack and put this information together and tell you how value is moving and progressing through your development lifecycle.
CloudBees categorizes work tasks for a given product value stream into four flow item types:
Feature (a business value)
Risk (possible lack of security or compliance)
Bugs (a coding defect)
Tech debt (a potential blocker to future delivery)
Configuring your flow metric dashboards
Configuring flow metrics requires connecting your Jira using the Analytics Configuration side navigation. If you've never set up flow metrics, you must set this up the first time.
From the side navigation, select Analytics → Analytics configuration
Click the Create Project button in the upper right corner.
Select a project management software, such as Jira.
If no options appear, navigate to Configurations → Integrations and create a JIRA integration. Once completed, your JIRA integration will appear.
Once you choose your project management, you can select a project from JIRA.
In the next section, you must map feature, defect, risk, and tech depth to other issues.
JIRA issue types include tasks, bugs, or epics. For example, features could be epics, and you can match them to an issue type. You can also map it to a full-blown JQL (Jira Query Language) instead of a ticket type.
Similarly, you can do the same for defects, risks, and tech debt.
Here's my current configuration for the software delivery platform.
Having set this up correctly, I can return to my flow metrics report.
Before moving into each widget, let’s discuss some common UI elements:
Filtering: Use the filters to choose the component and the duration for which I want to see flow metrics down to the component level. When filtering, please note that weeks run from Monday to Sunday.
Drill downs: You can click any data point in the bold blue font for a deeper dive. These drill-downs will present you with all relevant Jira links for further investigation.
Hovering: Each report has a tooltip explaining what it covers. For each graph type, you can hover over to get a breakdown.
Viewing: all pages within the CloudBees platform can be viewed in light or dark mode. For the purposes of this blog, we use light mode.
This widget displays the work load, which is the amount of work that the team is managing, providing insights into the team's workload and capacity.
The work load widget shows the average number of work items in progress within a specific value stream, including bugs, features, risk, and technical debt; these are indicators of productivity.
When analyzing the graphic, we notice a few trends for October.
There are about 80 features week over week that are always in progress. Towards the end of the month, this number dropped.
The number of bugs in progress increases throughout the month
Tech debt and risk remained zero.
An increasing work load suggests excess work in progress, which can lead to future delays in flow item completion time. Frequent software delivery reduces workload and improves cycle time and velocity.
Work item distribution
This widget displays the distribution of work items, providing insights into the types and volume of work that the team is handling.
Work items distribution tells you the distribution of completed work items. When analyzing the prior example:
You can see what percentage of time the team has been working weekly on bugs versus features, but not risk and tech debt, due to no data for the defined filter.
You can hover over the graph to get week-by-week views. The trends here show that the team spent much more time on features than bugs at the beginning of October. As the weeks progressed, the team focused more on bugs and fewer features.
Monitoring work items distribution helps prioritize specific types of work during different product lifecycle stages. For new business features, this helps to balance the mitigation of risk, bugs, and technical debt
This widget displays the work velocity, which is the rate at which the team is completing work items, providing insights into the team's productivity and efficiency.
The Velocity widget displays the number of completed work items by type. While the work item distributions widget tells you the distribution and the percentage of work items by type, velocity tells you the number of items completed on time.
In this example, you can see that the team completed 241 work items. Most of the feature work was completed in early-mid month. Towards the end of the month, we worked less on features and will spend more time on bugs, which is the red line here.
An increase in velocity over time signals that productivity is improving. Tracking velocity helps forecast software delivery rates and uncover any problems at an early stage.
This widget displays the cycle time, which is the time taken to complete a work item from start to finish, providing insights into the team's efficiency in completing work items.
Cycle time conveys how long the team takes to achieve a specific item type. You would assume that features are larger to fix than bugs. But that is only sometimes the case. This example displays the average time to create and close an issue in Jira.
As you increase the speed of your software delivery, you reduce the cycle time. With detailed data on flow item completion times, you can confidently predict future cycle times and better understand the efficiency of your value stream.
This widget displays the trend of flow efficiency over time, providing insights into how the team's efficiency and productivity are evolving.
Work efficiency tells you how much time the team spent actively working on it and how much time these bugs and features typically were in the waiting period. The work efficiency and cycle time widgets can be used together.
Average active work: provides a breakdown by issue type of active work. In this example, bugs were 95%, and features were 65%.
Work wait time: The chart explains what makes up the waiting time. In this example, 22% is due to code review, while 15% was in a Blocked state.
You should better understand flow metrics, how to set them up, and how to interpret the results. Now, it’s time to get started. Try the CloudBees platform for free to put these steps into practice. For complete documentation on flow metrics, click here.
To learn more about additional CloudBees analytics reports, visit the below documentation.