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.