Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New Template: Update review-cycle-duration-within-a-change-request.md #246

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 32 additions & 12 deletions focus-areas/time/review-cycle-duration-within-a-change-request.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,32 @@
# Review Cycle Duration within a Change Request

Question: What is the duration of a review cycle within a single change request?
**Question:** What is the duration of a review cycle within a single change request?

## Description
## Overview
Review Cycle Duration measures the time taken for one complete review cycle within a change request. A review cycle starts when a change request is submitted or updated and ends either with an acceptance, rejection, or further requested changes. This metric helps maintainers assess the efficiency of the code review process, identifying potential bottlenecks and areas where delays occur. Understanding the duration of these cycles provides insight into the effectiveness of review practices and the overall workflow of contributions within a project. Characteristics of reviews that have different cyclic pattern lengths. Abandoned or semi-abandoned processes in the review cycles, where either the maintainer or the submitter is slow in responding.

A change request is based on one or more review cycles. Within a review cycle, one or more reviewers can provide feedback on a proposed contribution. The duration of a review cycle, or the time between each new iteration of the contribution, is the basis of this metric.
Monitoring this metric allows for identifying trends such as increased review cycle lengths due to complex contributions or delays in reviewer responses, which can impact the project's health and contributor engagement.

## Objectives
## Want to Know More?

This metric provides maintainers with insight on:
Code review process decay, as there are more iterations and review cycle durations increase.
Process bottlenecks resulting in long code review iterations.
Abandoned or semi-abandoned processes in the review cycles, where either the maintainer or the submitter is slow in responding.
Characteristics of reviews that have different cyclic pattern lengths.
<span markdown="1"><details>
<summary>Click to read more about this metric.</summary>

## Implementation
### Data Collection Strategies

Review Cycle Duration is measured as the time length of one review cycle within a single change request.
The duration can be calculated between:
- The moment when each review cycle begins, defined as the point in time when a change request is submitted or updated.
- The moment when each review cycle ends, either because the change request was updated and needs a new review or because it was accepted or rejected.

### Filter
To calculate Review Cycle Duration, the following data points are collected:
- **Start of review cycle:** Timestamp when a change request is submitted or updated.
- **End of review cycle:** Timestamp when the change request is updated, accepted, or rejected.
- **Review feedback:** Record of interactions, including comments and change requests.

This data can be collected from version control systems like GitHub or GitLab.

### Filters

Average or Median Duration, optionally filtered or grouped by:
- Number of people involved in review
Expand All @@ -33,8 +38,23 @@ Average or Median Duration, optionally filtered or grouped by:
- Developers who contributed to a change request
- Change request
- Number of review cycle on a change request (e.g., filter by first, second, … round)

### Visualizations
- None specified

</details></span>

## References
- Example of data for developing this metric: [Wikimedia Gerrit Change Request Example](https://gerrit.wikimedia.org/r/c/mediawiki/core/+/194071)

## Contributors
- None specified

- Example of data that could be used to develop the metric: https://gerrit.wikimedia.org/r/c/mediawiki/core/+/194071
## Additional Information
- To edit this metric, please submit a Change Request here: [https://github.com/chaoss/wg-metrics-development/blob/main/focus-areas/time/review-cycle-duration-within-a-change-request.md](https://github.com/chaoss/wg-metrics-development/blob/main/focus-areas/time/review-cycle-duration-within-a-change-request.md)
- To reference this metric in software or publications please use this stable URL: https://chaoss.community/?p=3445

<!-- # For groupings in the knowledge base
Context tags: Code Review Process, Change Requests, Review Cycle Efficiency
Keyword tags: Code Review, Change Request Submissions
-->