  Increasing code velocity (or the speed with which code changes are reviewed
and merged) is integral to speeding up development and contributes to the work
satisfaction of engineers. While factors affecting code change acceptance have
been investigated in the past, solutions to decrease the code review lifetime
are less understood. This study investigates the code review process to
quantify delays and investigate opportunities to potentially increase code
velocity. We study the temporal characteristics of half a million code reviews
hosted on Gerrit and Phabricator, starting from the first response, to a
decision to accept or reject the changes, and until the changes are merged into
a target branch. We identified two types of time delays: (a) the wait time from
the proposal of code changes until first response, and (b) the wait time
between acceptance and merging. Our study indicates that reducing the time
between acceptance and merging has the potential to speed up Phabricator code
reviews by 29-63%. Small code changes and changes made by authors with a large
number of previously accepted code reviews have a higher chance of being
immediately accepted, without code review iterations. Our analysis suggests
that switching from manual to automatic merges can help increase code velocity.
