Quality vs Speed

How is it simultaneously important to release this thing quickly and unimportant to build it well?

Posted by Jake Corn on December 18, 2019

If you're a software developer you've probably encountered this question before. Quality vs Speed. I don't know if I have all of my thoughts together on this topic but I will leave some for now.


Why is it so important to release this thing quickly? Was there an error in estimation?

Is it more important than other features? If it is much more important than others and will produce so much more value why are we working on the others at all? How is it simultaneously important to release this thing quickly and unimportant to build it well?

Will the value of getting it done quickly outweigh the cost of not doing it correctly?

Is this known or even knowable? Can I see some data?

Is it a design smell that there is additional cost in doing something right? Why can't I do something correctly and on schedule?

Are you asking me to cut corners without reason to do so?

Without knowing these things does that make the perceived urgency into an illusion?

**********************

Imagine a world where much of the software was created with urgency but no inquiry. Does that sound like the current state of affairs?

In the seminal book "The Pragmatic Programmer" there is a section on "Good Enough Software". It stands to reason that a normal web app doesn't need to adhere to the same quality standards as the software that runs on an embedded medical device or the targeting system of a missile. However, does your project have a definition for "Good Enough" and have they prioritized in their system and feature set the definition of "Good"?

I don't write this to guilt anyone (I've done it myself -- released software without doing the quality checks I should have) but...

We can do better.

-- jake