A few years ago I joined the program maintenance team of an application software company that shall remain nameless. The first week I was reviewing trouble reports and noticed the software did not work reliably when used over a network with standard file-sharing. Customers were obviously frustrated and incensed, but the company explained that the product was out of major revision, and only guaranteed for stand-alone use.
It so happens I had worked on this problem at my previous job. I knew that a few pathological packages that didn't do disk access properly were prone to erratic network file-sharing failure. So I looked up that section of the code and fixed the problem in the next release.
Three weeks later I get a panicked and slightly irritated call from the Quality Control department. The new release was going through routine quality assurance 'regression' testing. I asked if there was somethine wrong wtih the changes I made. The reply was that the code worked fine, but that was the problem. The company had a client-server version of the product that was ten times the price, with a yearly renewable license instead of the one-time purchase price. If this older product started working reliably in network mode, nobody would buy the client-server version.
Management wanted to force people off the old product, while making it look like they were honoring the maintenance agreement.
QC had written a separate test to check the file-share network performance. The purpose of their so-called 'regression' testing was to make sure the software still didn't function correctly.
I restored the defective code and left the company shortly thereafter.
Howard T., Cincinnati