The magnitude of changes to the codebase over a period of time.
Calculation: This is a synthetic measure we developed to help teams understand the significance of all the changes to the code. This metric factors in three variables: the type of code being written (e.g., new code vs. updating existing code), the proximity of the edits to one another, and the specific nature of the change on a line by line basis (e.g., formatting changes are simpler than logical changes). Diffs in lines of code is a multiplier for each of these factors (a larger change with the exact same combination of factors will count as higher impact).
Note: this metric does not include merge commits.
Why it matters: While other metrics such as Pull Request Throughput and Cycle Time represent the quantity and the pace at which units of work are being completed, Impact represents the collective significance of those commits to the codebase.
With this metric, you can compare the coding productivity of the engineering organization over time in a way that accounts for the varying difficulty of different types of work and is independent of process differences. Tracking this metric over time helps you understand how your organization’s coding capacity is evolving over time.
How to use it: When Impact is increasing for a team or organization, that means there’s an increased capability for programming. When it’s decreasing, that might suggest that there may be impediments.
While Impact may differ developer by developer, you should expect this metric to increase over time, as an engineer matures in the organization. This metric can help you uncover high performers who may deserve recognition or serve as an early warning sign that this team member is in need of some coaching.
Related: Are these metrics actionable?