
The Problem With Software: Why Smart Engineers Write Bad Code (The MIT Press)

The result of this misdirected civility is deep mediocrity. Serious improvement is highly unlikely, and any kind of complete restart or rewrite is just about impossible. No one is ever going to say, “Let’s trash this code and rethink the whole front end,” even when it’s the best thing to do.
Steve McMenamin • Adrenaline Junkies and Template Zombies: Understanding Patterns of Project Behavior (Dorset House eBooks)
Systems where defects are swept under the rug, or “will be dealt with at the end of the project” inevitably gain that unshakeable perception of being “buggy”, which will harm your digital product, no matter how innovative it is.
Exploring the problem space: a guide to building the right solution
Software Craftsman, The: Professionalism, Pragmatism, Pride (Robert C. Martin Series)
amazon.com