Name
Changing your organisation one code review at a time
Description

It's Monday morning, and you just reached your office to enjoy another fantastic day at your organisation. Your team did a successful production deployment yesterday, and the new, high-quality release is already getting praised by your customers. The agile team delivered on their sprint estimates and found a solution to a difficult problem together. Developers finished their work on time, and the whole team did not find any significant defects. All feature branches were merged without any conflicts and delays. During the previous sprint, developers removed all technical debt, fixed all bugs and refactored code that was slowing you down. All your code went through the detailed, fast and productive code review process. Developers learned a lot from each other, and you removed the remaining silos of knowledge. The deployment pipeline run CI/CD process with 100% TDD test coverage, security and performance checks and DevOps team released the software reliably and predictably. There was no downtime for your customers and no need for late-night bug fixing and rolling back the deployment session. You are not surprised as this is how every day feels for you and your team. Your CEO just smiled, said hello, ask how you are doing and congratulate you on another successful delivery. Your team are ready for the next challenge, happy, excited and ready to go again. You know this is going to be a great day!

If you are "lucky" enough to be in a position where everything above is just a routine for you and your organisation, you do not need to attend this talk. On the other hand, if it sounds like a dream and impossible to achieve, this talk is an opportunity for you to learn how to improve your current situation, starting with "one code review" at a time.

In this talk, we want to explore how reviewing "every single line of code" impacted our organisation, teams, products we create and individuals. Experience the theory and practice how code review allowed us to move to the higher quality, faster and more predictable software development process.

Together let us discuss technical concepts including high-quality code practices, trunk-based development, CI and CD in the world where software has to be released to users multiple times a day. We will learn how we remove technical debt and have a "0 bug policy" really working. Participate in discussion why we believe that reviewing "every single line of code" triggered our the ability to deploy production code reliably, frequently and with limited risk, lower our lead time and crucially lower about mean time to recovery. We will consider all the above metrics and impact we see.

I also want to show how our development team improved their hard-core coding skills, how they raised by teaching others and being mentored at the same time. How giving positive, constructive feedback is a daily routine now and how our developers learned to say "thanks for your help:)". Learn about the policies we had to change to accommodate the code review process, and why do we STOP the whole company when there is even the smallest issue with one line of our code. In our opinion, there is no better time to improve it than now. We know it sounds crazy and counter-intuitive, but we hope that to start the conversation, share and learn together.

Learning Outcomes:

  • Learn what it means to deliver high-quality software and why it does not have to be a compromise between speed and quality.
  • Learn the crucial aspects of high-quality delivery, and why they matter. Participate in discussion about:
  • Prioritisation
  • Short lead time
  • CI/CD,
  • Mean recovery time
  • Trunk-based development
  • Small batches
  • Code review
  • Learn how to use different ways of code review practice to impact your delivery with a significant focus on "reviewing each line of code" and "stopping" the organisation to improve as soon as possible. Experience how a simple change impacts your developers and help you create teams full of happy, continually improving and growing developers
Pawel Kaminski
Session Format
Talk