Why CODEOWNERS concept doesn’t scale?
Whether it’s a change in import statement, or a 1000 lines feature work, the rules are the same
Small number of reviewers can get overwhelmed with reviews, even if they don’t care as much about the change itself
Many reviewers may want to just track the changes, and not necessarily be the bottleneck to review. The CODEOWNERS doesn’t allow such a concept
On the flip side, some changes may require approval from multiple parties, e.g. infra and security teams, but this is not possible today
There’s no context of seniority or domain knowledge. It’s hard to find the right reviewer in a team.
In a global team working in different time zones and vacation schedules, code reviews can get stuck
Speed up code reviews with smart reviewer assignment
Introduce flexibility to your code review process. FlexReview acts as a GitHub app that replaces thestrict CODEOWNERS requirement by GitHub for merging a PR. It provides a status check that validates the reviewer approvals based on the configured rules.
24% to 58%
Define global rules once or at any directory level using a config file. You can define global rules and then customize it at directory level. This ensures higher level of flexibility without compromising simplicity.
FlexReview can also process the CODEOWNERS file format, so you can continue using the CODEOWNERS file, and add customization using the flex-review.yaml
In many cases, reviewers just don’t have enough time to review the code or may not even have the full context to provide a meaningful feedback. In such cases, reviewers can delegate the responsibility to another reviewer, irrespective of whether they belong to the same owners group. The approval from this new reviewer will act as an owner approval in such cases.
/aviator flexreview delegate @anotheruser
FlexReview will automatically remove the current reviewer from the review list, add anotheruser to it, and associate that with a temporary ownership power for this particular PR.
FlexReview suggests potential reviewers based on their seniority and domain knowledge. This helps you find the most suitable reviewer for your code changes, ensuring a more effective and efficient review process.
FlexReview uses smart heuristics to detect PRs with minor changes. In case minor changes are detected, FlexReview will automatically relax the review requirement.
Note that this is calculated for each sub-section of the code split by reviewer. So a PR may still have major changes in one sub-section and minor in the other.
Some of the criteria to define minor changes:
less than 2% of the changes in the PR impact this sub-directory
changes in package import lines
changes in code comments
FlexReview provides detailed audit logs to track and monitor the code reviewer assignment process, ensuring compliance and transparency
Automatically assign reviewers that are in the active time zones when creating a PR. This ensures that code reviews can progress smoothly, even in global teams with different time zones and work schedules.
With FlexReview, you can assign multiple reviewers to a code review based on the files modified. For example, for a very security sensitive file, you might want to require an approval from a security engineer in addition to an application eng.
Connect with Google Calendar to automatically detect who is in out of office and reassign their pending reviews.
In case the primary reviewer is unavailable or unable to review the code changes, FlexReview allows you to designate alternate reviewers. This ensures that the review process can continue smoothly even in the absence of the primary reviewer.
Define Service Level Objectives (SLOs) to set expectations and ensure timely reviews. Define criteria to automatically dismiss review requirements from the code owners if the SLOs are not met.
Additionally, FlexReview offers on-premises support, allowing you to deploy and manage the application within your own infrastructure. This gives you full control for stronger data privacy and security. Also works with self-hosted GitHub.
FlexReview is SOC2 Type II compliant, so you can be confident that your code review process meets the highest security and privacy standards.