Code review is very very important inside RainingClouds. Any code that goes into the master branch goes through at-least two different developers.
Asynchronous reviews happens over every of the commit made by any developer. For this we follow Pull request based model. Anyone who has completed the development of any feature makes a pull request on the master branch, allocating a reviewer. As soon as the pull request is sent, the reviewer is notified about the pull request. Reviewer has to review the code and raise any of the issues that he has by EOD. Till then the developer can pick up the new feature and start with the development. Each feature has a new branch, so that nobody messes up with the code associated with one feature. And there are virtually no cases where more than one developer works on a particular story, and if there is any case where we require more than one developer then we split up the story so as to divide them between the two developers.
This happens rarely, when a developer is stuck or his last commit has a lot of issues. In this case two developer sit to develop / fix a piece of code on a single machine, so as to make sure the quality of the code. Each of the synchronous review is counted inside the RainingClouds, and we make sure that the developers has the proper understanding of the project and the technology to avoid any kind of hindrance in the project development.