Feedback Loops

O'Reilly Media
oreillymedia
Published in
3 min readSep 9, 2020

Editor’s Note: Making mistakes is a part of getting programming right; that’s why we use feedback loops. Liz Keogh is a Lean and Agile expert, well-known blogger and international speaker with more than 20 years of experience in coaching and organizational transformation, and that’s why we are sharing her piece from 97 Things Every Java Programmer Should Know with you here. Correct us if we’re wrong.

  • Because our product managers don’t know what they want, they find out from the customers. They sometimes get this wrong.
  • Because our product managers don’t know everything about systems, they invite other experts to become stakeholders in the project. The stakeholders get it wrong.
  • Because I don’t know what to code, I find out from our product managers. We sometimes get this wrong.
  • Because I make mistakes while writing code, I work with an IDE. My IDE corrects me when I’m wrong.
  • Because I make mistakes in understanding the existing code, I use a statically typed language. The compiler corrects me when I’m wrong.
  • Because I make mistakes while thinking, I work with a pair. My pair corrects me when I’m wrong.
  • Because my pair is human and also makes mistakes, we write unit tests. Our unit tests correct us when we’re wrong.
  • Because we have a team that is also coding, we integrate with their code. Our code won’t compile if we’re wrong.
  • Because our team makes mistakes, we write acceptance tests that exercise the whole system. Our acceptance tests will fail if we’re wrong.
  • Because we make mistakes writing acceptance tests, we get three amigos together to talk through them. Our amigos will tell us if we’re wrong.
  • Because we forget to run the acceptance tests, we get our build to run them for us. Our build will tell us if we’re wrong.
  • Because we didn’t think of every scenario, we get testers to explore the system. Testers will tell us if it’s wrong.
  • Because we only made it work on Henry’s laptop, we deploy the system to a realistic environment. The tests will tell us if it’s wrong.
  • Because we sometimes misunderstand our product manager and other stakeholders, we showcase the system. Our stakeholders will tell us if we’re wrong.
  • Because our product manager sometimes misunderstands the people that want the system, we put the system in production. The people who want it tell us if we’re wrong.
  • Because people notice things going wrong more than things going right, we don’t just rely on opinions. We use analytics and data. The data will tell us if we’re wrong.
  • Because the market keeps changing, even if we were right before, eventually we’ll be wrong.
  • Because it costs money to get it wrong, we do all these things as often as we can. That way we are only ever a little bit wrong.
  • Don’t worry about getting it right. Worry about how you’ll know it’s wrong, and how easy it will be to fix when you find out. Because it’s probably wrong.
  • It’s OK to be wrong.

Learn faster. Dig deeper. See farther.

Join the O’Reilly online learning platform. Get a free trial today and find answers on the fly, or master something new and useful.

Learn more

Liz Keogh is a Lean and Agile consultant based in London. She is a well-known blogger and international speaker, a core member of the BDD community, and a passionate advocate of the Cynefin framework and its ability to change mindsets. She has a strong technical background with 20 years of experience in delivering value and coaching others to deliver, from small start-ups to global enterprises. Most of her work now focuses on Lean, Agile, and organizational transformations, and the use of transparency, positive language, well-formed outcomes, and safe-to-fail experiments in making change innovative, easy, and fun.

--

--

O'Reilly Media
oreillymedia

O'Reilly Media spreads the knowledge of innovators through its books, video training, webcasts, events, and research.