architect-handbook

Software Architect Handbook

View on GitHub

Development Overconfidence

Developers usually buy into a familiar lie: “We can clean it up later; we just have to get to market first”. Of course, things never do get cleaned up later, because market pressures never abate. Getting to market first simlpy means that you’ve now got a horde of competitors on your tail, and you have to stay ahead of them by running as fast as you can.

And so, deveolpers can’t go back and clean things up because they’ve got to get the next feature done, and the next, and the next. Therefore productivity continues its asymptotic approach toward zero.

Developers are overconfident in their ability to remain productive.

The bigger lie that developers buy into is the notion that writing messy code makes them go fast in the short term, and just slows them down in the long term.

Making messes is always slower than staying clean, no matter which time scale you are using.

The developers may think that the answer is to start over from scratch and redesign the whole system, but that’s the same overconfidence that led to the mess. Their overconfidence will drive the redesign into the same mess as the original project.