Effective code reviews in agile teams

room: Grand Ballroom E — time: Monday 16:00-16:45, Monday 16:45-17:30
Level: Practicing

This session describes a lightweight approach to code reviews used in co-located and geographically distributed agile teams. It covers lessons learned from several agile projects: real value, best practices and pitfalls of code reviews. The presentation explains how to make code reviews effective, relatively painless, and liked by the team. Moreover, it presents some interesting aspects of code reviews growing beyond their original intention. The session includes a demo on how Atlassian Crucible integrated with leading IDEs via Atlassian IDE Connector facilitates the whole process.

Process/Mechanics

The talk (slides) combined with live demo of doing code review. Two presenters. Optimally with 2 laptops and two screens or single split screen (to demo human-human interaction via code review system).

Three main parts: theory, theory in practice, tools which make effective code review possible.

Detailed agenda:

  • 5:00 Introduction - about speakers and company, short agenda, asking people about their experience with code reviews and tools
  • 3:00 Why to review code - advantages
  • 3:00 Why not to review code - disadvantages
  • 3:00 Why traditional code review suck
  • 10:00 Top 5 ways to make code reviews better: best practices to follow and pitfalls to avoid
  • 10:00 How we at Atlassian perform code reviews
  • 5:00 Non-obvious advantages of code reviews
  • 20:00 Main concepts and live demo of doing code reviews using Atlassian Crucible
  • 20:00 Code review in your IDE - Atlassian IntelliJ and Eclipse Connectors
  • 10:00 Q&A

I had problems with finding optimum stage for this talk. It’s about agile processes rather than tools, but I was not able to find any stage around agile processes/practices. Feel free to move it to some other stage. As tools play important role in this presentation, I decided to put it to Tools for Agility stage.

We came up with this session and presented it for the first time at Devoxx/Javapolis 2008 (http://devoxx.com/display/JV08/Effective+code+reviews+in+agile+teams) as a BOF. We had totally full room (with people standing and occupying the floor) and many people were really interested about this stuff (about 1.5 hour spent on chats in front of the room ;)). As we know now even more about this subject + we have more to demonstrate, I think that 90 miin session is optimal. This session will not definitely be just a replay of what was at Devoxx. It’s quite different (at least more than 50% of the content differ) and bases on several more months of our experience with code review and introduction of the new tool - Atlassian Eclipse Connector which is now about to be released publicly (at EclipseCon).

Learning outcomes
  • attendees understand real advantages of doing code reviews
  • attendees know main pitfalls around code review process
  • attendees learn several war stories around code reviews and their place in agile teams vs. pair-programming
  • attendees know the tools which make code review process effective
  • attendees learn how code review can facilitate cooperation of geographically distributed teams
Featured participants
Primary target persona