Ever been in a conversation like this?
Engineer: “We’re going to have to cut feature X if we want to launch on time. It’ll take two months to build, but the deadline’s in a month.”
Product manager: “That’s a shame - our competitors have that feature. I thought you demoed it last week?”
Engineer: “That was just a prototype. We can’t ship it to users.”
Product manager: “Why not? It looks awesome, and it worked fine in the demo.”
Engineer: “Sure, it basically works, but the code is a mess, and we haven’t done any testing. It’s not ready to ship.”
Product manager: “It doesn’t have to be perfect. We need to move fast now - we can always fix it later.”
Engineer: “That’s what you said last time. Fine, we’ll ship the prototype… again. Don’t blame me when it breaks.”
Each person is trying to manage the risks they know about, and do what’s best for the business. Despite the best of intentions, these conversations can feel frustrating for both parties. It’s easy to feel like the other person doesn’t understand your concerns, or is stubbornly clinging to their own principles. The optimal decision is probably somewhere in the middle, but this kind of discussion rarely gets there.
I previously argued that we should stop using the word “quality” because it tends to polarise conversations. Now I want to offer an alternative. I propose that most conversations about schedule or scope would go better if they were framed instead around confidence.