I have heard the love of money described as the root of all evil. I have even heard premature optimization described as the root of all evil.
MythicalManMonth says that lack of calendar time is the single biggest factor leading to project failure (or something like that). QualitySoftwareManagement cleverly rephrases it to something like "lack of calendar time is the single biggest factor that causes projects to recognize their failure."
What do you think are the biggest factors leading to DeathMarch projects? What do you think are the biggest factors leading the creation of BadSoftware??
CreepingFeaturitis (aka too much scope), the unbending spines of management, and the lack of spines of engineers. I was once told to write X number of features in two months. I asked management to prioritize them so we knew which ones we could drop if we ran out of time. Management's response: "Can't drop any of them." Consequently, we did the least important tasks first out of spite.
Oh? And you didn't say CountTheHands? Bad doggie. Although the real solution was QualityFunctionDeployment, since that would have put priorities to the features.
Perhaps the nearly universal lack of understanding of the ramifications of dependencies (i.e. coupling) and how things actually get coupled is the RootOfAllEvil. Coupling has distinct effects on understandability, maintainability, reusability, and testability. The Knuth quote implies that considering speed before other things (though he didn't enumerate those things) is completely problematic. Those other things include correctness and understandability. -- ChrisDailey?
(The quote was originally from Hoare, not Knuth. --dm)