You are here:

Change Requests

Question: What new change requests to the source code occurred during a certain period?

Description

When a project uses change request processes, changes are not directly submitted to the code base, but are first proposed for discussion as "proposals for change to the source code". Each of these change requests are intended to be reviewed by other developers, who may suggest improvements that will lead to the original proposers sending new versions of their change requests, until reviews are positive, and the code is accepted, or until it is decided that the proposal is declined.

For example, "change requests" correspond to "pull requests" in the case of GitHub, to "merge requests" in the case of GitLab, and to "code reviews" or in some contexts "changesets" in the case of Gerrit.

Objectives

Change requests are a proxy for the activity in a project. By counting change requests in the set of repositories corresponding to a project, you can have an idea of the overall activity in changes to that project. Of course, this metric is not the only one that should be used to track volume of coding activity.

Implementation

Filters

  • By period of time. Start and finish date of the period.
  • By source code type to apply change requests
  • By actors (submitter, reviewer, merger). Requires actor merging (merging ids corresponding to the same author).
  • By groups of actors (employer, gender... for each of the actors). Requires actor grouping, and likely, actor merging.
  • Status (open, closed)

Visualizations

  • Count per month over time
  • Count per group over time

These could be represented as bar charts, with time running in the X axis. Each bar would represent change requests to change the code during a certain period (eg, a month).

Tools Providing the Metric

Data Collection Strategies

Specific description: GitHub

In the case of GitHub, a change request is defined as a "pull request", as long as it proposes changes to source code files.

The date of the review can be defined (for considering it in a period or not) as the date in which the pull request was submitted.

Specific description: GitLab

In the case of GitLab, a change request is defined as a "merge request", as long as it proposes changes to source code files.

The date of the change request can be defined (for considering it in a period or not) as the date in which the change request was submitted.

Specific description: Gerrit

In the case of Gerrit, a change request is defined as a "code review", or in some contexts, a "changeset", as long as it proposes changes to source code files.

The date of the change request can be defined (for considering it in a period or not) as the date in which the change request was started by submitting a patchset for review.

To edit this metric please submit a Change Request here: https://github.com/chaoss/wg-evolution/blob/main/focus-areas/code-development-process-quality/change-requests.md

To reference this metric in software or publications please use this stable URL: https://chaoss.community/?p=3610

The usage and dissemination of health metrics may lead to privacy violations. Organizations may be exposed to risks. These risks may flow from compliance with the GDPR in the EU, with state law in the US, or with other laws. There may also be contractual risks flowing from terms of service for data providers such as GitHub and GitLab. The usage of metrics must be examined for risk and potential data ethics problems. Please see CHAOSS Data Ethics document for additional guidance.

Tags:
Was this article helpful?
Dislike 0