The other day I was looking for a soft to facilitate code reviews at work. I didn’t have much time to spend on it and didn’t want something too fancy, just something that would simplify the process. We have tried doing it by meeting regularly, by email, by IM conference room, by Trac ticket etc. none of those were really good and mostly the code reviews were not performed as often as they should be because devs thought it was more of a pain than anything else to do this. We release updates and patches really quickly so we need something that can accommodate both long and bulky reviews as well as small and short ones easily. The most important point is to be able to perform asynchronous reviews as most of the time it is very hard to find common free time.
Following is a short, quick, dirty and probably inaccurate review of some of the software I encountered on the way.
So I was looking around and I first found this: Crucible. The tool looks OK, and the video is interesting. Overall, the price is quite reasonable but above my budget. Although I do note that this is free for OpenSource projects which may come in handy on some of my personal projects. It also links to JIRA (bug tracker) so for the people already using this, I suppose this is a great tool.
I then found CodeCollaborator from SmartBear. This looked very promising. It had many revision control system integration links, it allowed for dynamic chat, dynamically creating issues and even server side script integration to trigger custom actions. The only downside: the pricing. If you work in a department with 10 devs you can get away with it for 2k/year. Still quite expensive.
Finally, I found this little open source project called ReviewBoard. It does most of what I was looking for: reviewing based on diffs not yet commited, comments directly on the diff and a really simple user interface (but a terrible admin interface but I guess that’s better than the other way around ^^).
I ended trying this out, it took me about an hour to install on XP, the biggest hurdle was to get lighttpd to serve it instead of the inner debugging server. I also had to install pysvn manually which was not specified in the documentation; nothing terrible though. It’s free which is always good and the guys at work seemed to love it. So that will be my choice for now. But I’ll come back to it and I’ll do more in depth reviews of the different software in the near future.