Commit Frequency

What is commit frequency?

Commit frequency measures the number of commits integrated into the trunk/main branch per developer per day. It is used as a proxy for features shipped.

High commit frequency often indicates that your team is able to continuously integrate new code into the main branch, while low commit frequency can indicate challenges in deploying code changes. 

Improve frequency with small units of work

Commit frequency is inversely related to commit size—the sum of additions and deletions integrated to trunk/main. As commit size decreases, commit frequently typically increases.

High performing teams break down their work into small, incremental units of work. They commit early and often during the development process, reducing large blocks of work into well-defined units. When commit size stays small, developers integrate their changes faster with their team's work. They make their work visible to others and avoid unwieldy code changes that languish in branches, stalled by conflicts.

When coupled with automated tests, frequent commits also provide shorter feedback loops to developers. Frequent commits allow teams to identify issues and make improvements to their code earlier in the development cycle when they are easier to fix.  

Large commits are often too large and cumbersome to be shipped easily. They decrease commit frequency and introduce delays into the development process. Oversized commits are harder to review because they require more context for reviewers, consume more time to merge, and are more likely to conflict with other changes to your codebase.

Get insight into development cycles

Commit frequency also provides insight into where your team is currently in the development cycle. 

Frequent commits occur more often at the beginning of a sprint or cycle when developers are rapidly adding to the codebase. As teams focus on QA and testing later in the development cycle, the size and frequency of changes made to the codebase often decrease. Developers spend more time hunting down bugs and polishing their code than building new features. 

Understanding your team’s development cycles helps you measure progress and plan future work. Long cycles can lead to burnout, stress, and poor work-life balance. Moreover, long development cycles can indicate that your team could spend more time planning or researching at the start of the cycle. 

Measuring commit frequency

Team commit data is analyzed through Software's GitHub integration. When you connect GitHub to an organization, you will be able to see up to 90 days of historical data. GitHub metrics, such as commit frequency, are updated daily.