Code Review is an Architectural Necessity

By Colin Dean

Elevator Pitch

This talk looks at Code Review from an architect’s viewpoint, arguing that Code Review is an essential component of a product’s architectural plan because of the quality attributes it may provide. It also covers tips and sets expectations for what Code Review can and cannot solve.

Description

Code Review is not a new concept, but a specific term for an older concept – Peer Review – that focuses the review process on the code under examination instead of the person who submitted it. While Code Review is common in open source projects, organizations developing in private often employ inefficient, frustrating, or virtually non-existent review processes. This talk looks at Code Review from an architect’s viewpoint, arguing that Code Review is an essential component in a product’s architectural plan because of the quality attributes it may provide. It also covers tips and sets expectations for what Code Review can and cannot solve.

The audience will:

  • Appreciate that many other professions are subject to rigorous review processes and accept that software must, too
  • Understand the difference between Code Review and Peer Review
  • Value tools that enable Code Review, such as Github’s pull request feature
  • Understand the problems that Code Review solves: mental model sync and tribal knowledge development
  • Understand a handful of “-ility” quality attributes that Code Review delivers
  • Learn some tips for effective reviews and review workflows
  • Internalize the limitations of code review, such as not solving political problems

Notes

I have delivered variations on this talk at SATURN and GitHub Universe. They were very well-received. Several veterans of software architecture complimented me on my content and one said that I inspired him to include Code Review as an architectural step in his next project, instead of relying on his developers to whimsically do it.