Many companies perform software development without code reviews – the systematic examination of source code intended to find and fix mistakes overlooked by the original developer – or at least without formal reviews.
This paper shows code review practices have not changed much over the years even though software development have dramatically evolved.
Here are the key findings of the study:
- Code reviews are valuable, but approaches tend not to be formal.
- Modern development is increasingly complex, and code reviews are not keeping pace. (i.e. Code reviews are low priority tasks)
- Code reviews don’t always include the right people. (e.g. Architecture and QA Team are left out, only only software engineer are part of the review)
- Tools don’t play a significant role in reviews. (e.g. code coverage and code analysis tools)
- Process and time limits inhibit code reviews.
- Social media plays an increasingly important role in technology research, e.g. for technical support, but not for code reviews.
However, all IT professional that were interviewed said code reviews added value, mainly in the three following ways:
- Bugs are uncovered earlier in the life cycle
- Best practices are shared among engineers
- Re-factoring and code simplification are encouraged and more opportunities for code reuse are provided.
When asked about the challenges for implementing formal code reviews, IT professionals’ answers were (most difficult to easiest):
- Finding the time in the schedule for code reviews
- Keeping the team motivated to review code
- Knowledge of the application / operating system
- Getting access to the right people
- Getting access to adequate tools
- Getting everybody in the same location
Finally, the white paper provides best practices for code reviews summarized as follows:
- Make code reviews part of the technical development (including part of the schedule) to keep people interested and motivated
- Use tools to automate understanding and increase information. This also save time.
- Increase participation with social medias such as wikis, microblogs and discussion forums.
You can read the white paper about code reviews if you want to know the details.