Efficiency is the percentage of code that is not rewritten by its author within 30 days.
Which reports use Efficiency?
See Efficiency in reports like Team health insights, Check-in, and Metrics overview.
See Efficiency per commit in Proficiency.
Note: Efficiency is the inverse of Rework. See Rework in reports like Project timeline and the pin drawer for commits in Work log.
What does Efficiency measure?
Efficiency is a measure of how often you write code that stays in your system. It's a measure of how often you're able to write code that stays in your system for a meaningful period of time.
Keep an eye out for users and teams that show a sharp decrease in Efficiency, especially when they're working in new or complex areas of the code. Unexpected decreases in Efficiency can be an indication of people being stuck on how to move forward with their work. They might need help or direction, or they may be taking time to explore possible an meaningful solutions. A conversation will help determine what the path forward is.
Low Efficiency numbers can often be increased by ensuring your team's work is supported with clear requirements and user stories to minimize ambiguity that leads to delay and inefficiencies, which are costly to your business. And if you notice that specific team members, particularly those newer to a project, have low Efficiency, encourage mentoring and pair programming opportunities to facilitate knowledge transfer and speed up problem solving.
How is Efficiency calculated?
To calculate Efficiency, first calculate the percentage of HALOC that is Rework.
Rework% = 100 * (Rework HALOC / total HALOC)
Then subtract the Rework percentage from 100%.
Efficiency% = 100 - Rework% = 100 * (1 - (Rework HALOC) / (total HALOC))
To calculate Efficiency across multiple commits for a user, first sum the Rework HALOC and the total HALOC across all the commits, then complete the Efficiency calculation as before.
To calculate Efficiency per commit, average the Efficiency percentage of each commit, without combining their HALOC first.
To calculate Efficiency across multiple teams, sum the Rework HALOC and the total HALOC for each user, then calculate Efficiency using those values.
Note: Flow does not average the Efficiencies of each user to find the team Efficiency, since that does not provide a true indicator of the team's overall performance because it does not account for the varying quantities of HALOC among team members.
What data is included in Efficiency?
Efficiency excludes commits that are
- By a user excluded from metrics
- By a hidden user
- By a viewer on a team when looking at team-filtered reports
- Excluded by outlier detection
- Manually excluded
- Merge commits