A few days ago I migrated our build server, aptly named Bob (the Builder), to Ubuntu 10.04 LTS and incorporated a new product to the existing suite. The new product is Review Board, which we’ll be using for regular code reviews within our development team. I’ve written previously on the various products we use as part of our continuous integration system, and Review Board has now joined their ranks as a much needed assistant helping us cast a human eye on code quality. We also use Sonar for code quality analysis, but that’s only one part of a very big picture. I’ve seen through experience how code reviews can significantly improve quality, and I know my own personal experience is very well supported by many books and blogs on the subject.
One challenge we have is fully integrating this into our development environment, as some developers work in ABAP and others in Java. The Java developerment environment neatly integrates with Review Board, but the ABAP has some interesting obstacles. What we’ve done to overcome this challenge is to write a proof of concept application in ABAP that allows a developer to export ABAP code (in a neat human-readable form) into a Subversion repository. From there, the developer can request a code review using the post-review command line tool. It all works as expected, but it’s still quite a manual, time-consuming process. We hope to develop this further, making it much easier to use, and roll it out to the other development teams.
The next decision we have to make is to choose whether to do pre-commit or post-commit reviews. Both have their strengths and weaknesses, so we’ve decided to try them both out before making a firm decision on how to take it forward.
Only a week or two in, and I’m already seeing the benefits of implementing Review Board! More updates to come as we iron out the creases in our review process…