The client is one of the biggest and most innovative Tier-1 financial institutions in the world. Operating at 6 continents and in 35 countries.
In the project with hundreds of modules and developers, working in co-located highly diverse teams quality code reviews can be challenging, both on the author and the reviewers’ side. We needed to ensure proper checks, tests, and selected reviewers for given pull-request so nothing important was omitted. At the same time the whole process is as efficient as possible. We also have to optimize the execution of all checks and tests.
We introduced automatic pick-up of reviewers based on pull-request changes and groups of expertise which resulted in dozens of minutes saved for every pull-request.
We implemented an automatic selection of tests and builds which need to be run for given PR together with the ability to easily launch them from the pull-request page. This saves us up to a few hours saved for every pull-request which otherwise would be wasted on waiting on unnecessary builds and tests.
We added test results aggregation and summary directly on the PR page, allowing pull-request authors and reviewers to quickly inspect the current state of the testing process and easily identify the issues if they would appear. We estimate that it saved at least dozens of minutes for every pull-request.
We created an active pull-requests overview with an automatic check of all pre-merge conditions. Thanks to it people responsible for final approvals and pull-requests merging could quickly identify what they should focus first. That saved them at least a few hours per day.
Thanks to all changes that we had implemented, the process of code review is now greatly optimized. It’s not only much faster thanks to focusing on what is important, but it’s also much safer because of all the implemented safeguards. We believe that with all those changes every pull-request is now merged 50 to 70% quicker, with smaller amounts of issues and problems.
Now, both authors and reviewers can focus on what is important – creating business value – instead of wasting time-fighting with the tooling.