Rework
Emily Fueger avatar
Written by Emily Fueger
Updated this week

Definition

Percentage of code changes in which an engineer rewrites code that was recently updated (at any time within the past three weeks).

This metric is calculated based on Lines of Code (LOC) and includes rework that's a natural and expected part of the process. For example, if you push a commit and then subsequently make another commit touching that same line of code, it affects Rework whether or not its in the same PR.

Merge commits are ignored. Rework is calculated based on when commits are pushed.

  • Note: Rework percentages shown in Velocity do not include decimal values.

    • This means that if 0% Rework is shown for a commit, the real percentage is between 0% - 1%.

Why it matters

Rework, also known as code churn, represents efficiency at the coding level (whereas Pull Request Success represents efficiency at the pull request level). High rework indicates wasted efforts that are both, slowing productivity and frustrating engineers. 

How to use it

Rework is a natural part of the software development process and will vary contributor by contributor, depending on the nature of their work and their experience level. Look out for high Rework across the entire organization or for cases where the Rework of the individual is elevated relative to their typical number. High Rework can be a sign of late changing product requirements, unclear technical direction, or lack of familiarity with the codebase.

Benchmarks

The median organization averages a Rework rate of 7%. A tenth of organizations achieve 5% or less Rework, while a tenth of organizations have more than 10% Rework.

Did this answer your question?