A little more than a decade ago, Ian Mc worked for a consulting company that just landed a large contract for COBOL/Oracle conversion project. An early adopter of outsourcing, Ian's company sub-contracted most of the programming work to a certain overseas programming company with a staff of "highly proficient" COBOL programmers.

Months passed and the deadline the first module to be demonstrated and delivered was coming up fast. Ian was the point person to present the module to the client and, due to a slew of client and management blunders, he never had a chance to see the completed code before the demonstration.

At the client, sitting in front of a green screen terminal, Ian got his first look at the code. He expected a simple compile with maybe a few error corrections, so imagine his horror when it threw so many errors the compiler terminated with a "too many errors" error. Ian took a closer look at the code and realized he was up a certain creek with out a paddle. The code was absurdly bad, closing cursors before they are opened, reading without opening them, etc.

After the embarrassing gaffe at the client was finally over, Ian inquired with the overseas coders to see if they even tested the code before delivering it. "Of course," the lead programmer proclaimed, "we tested it on paper."

Unbelievably they didn't have COBOL or Oracle installed on their development workstations or servers.