I think that almost everybody in the software industry would agree that most of the software that is produced today does not have the quality that it should. Let’s assume that this is a fact: the quality of software, in general, is deficient.
How can we improve the quality of the software that we produce? Many experts have proposed myriads of tools, techniques, methodologies, approaches and paradigms that promised to deliver better software, that is, software of higher quality. Supposedly, this was to be achieved because the proposed tools, techniques, etc. were more powerful than the current ones. The argument goes like this: if the results that you are obtaining are of poor quality, use more powerful tools. Better tools will allow you to create the same things, but of higher quality. And it makes sense, doesn’t it.
However, the average quality of software has not improved for decades. I would love to insert a quotation here to back this up, but I can’t remember where I saw it. I promise. Somebody (presumably an expert) recently said that the average quality of software has remained constant for decades. How come, if we have more powerful tools than ever?