Philipp Hauer's Blog

Engineering Management, Java Ecosystem, Kotlin, Sociology of Software Development

Workshop: Effective Code Reviews

Code reviews are a powerful tool to improve the code quality, establish best practices, and spread knowledge. However, there are many open points when you try to implement an effective code review process in your team. Just think of the ticket handling, the review ping pong, the challenges of written reviews, the handling of refactorings, or a reasonable approach to finding the reviewer for a ticket.

Moreover, code reviews can come to nothing or even harm your interpersonal relations when they are done wrong. Hence, it’s important to pay attention to the human aspects of code reviews. Both the author and the reviewer need a compass for navigating through a constructive and respectful code review.

All in all, there are many challenges and pitfalls on the path to an effective code review process. This workshop helps your team to cope with them.

Code Review Process Workshop

Goals

  • Guide a team to develop their own effective code review process. In the workshop, we are going to elaborate on all steps and aspects of the code review process. We will pay attention to the relevant questions, trade-offs, present possible solutions, and point to pitfalls.
  • Increase the awareness for the human aspects of code reviews to avoid interpersonal conflicts and to make the reviews more effective. Therefore, we’ll discuss concrete phrasing techniques and the relevant mindset.

Agenda

The Code Review Process - Big Picture

The Code Review Process - Big Picture

  • The Code Review Process - Big Picture
  • The Tech Talk: Guidelines that are created by the team and continuously improved.
  • The steps of the code review process:
    • When to review at all? Triviality threshold, ticket handling, branch handling, proper changelog size, how to handle refactoring in reviews
    • Ready to review? Definition of Done, the review column, and the ticket assignee
    • Who reviews? The push vs the poll principle, equal reviewers
    • How to perform the code review?
      • What to look out for in a code review.
      • Focus on the essentials.
      • Comment conventions.
      • Code review checklists.
      • How to speed up code reviews.
      • Code review ping pong and tooling support for this.
      • The human aspects of the code review
        • Feedback rules for both the author and the reviewer.
        • Phrasing techniques and the required mindset.
        • Three filter model
      • Face-to-face reviews vs. written code reviews
    • How to finish the review? Squash & Rebase vs Merge, How to integrate rebase and squash into the review process.
  • Wrap-Up, Summary, Lessons Learned

Customization

The workshop can be highly tailored to your needs. We can extend or reduce the content, focus on your specific issues and set the degree of interactivity as you prefer.

Contact

If you have a request or any questions I would be happy to answer them via email: