It’s the 1990s, and this IT services outfit has a client that sees the writing on the wall for its aging minicomputer, reports a pilot fish on the scene.
“They asked if the software-development side of our company could custom-write a slightly specialized inventory control program for them that would run on a cheap Intel-based server,” says fish.
Negotiations ensue, and soon the client agrees to a rate for development and a final payment after delivery and acceptance.
The development team makes several visits to the client’s business to collect specifications. But the only input the client gives is that the new system needs to look and work exactly like the old program, so no one on staff will have to be retrained.
After a year’s worth of development, the team shows the final product to the client. A week later, the operations group spends an entire three-day holiday weekend porting the client’s data from the old system to the new database. Then it’s sent out for final delivery.
At which point the client refuses it.
“When we ask why, we are told that after the final showing they went out and purchased an off-the-shelf program that does almost everything they want, with only a few exceptions,” fish says.
“But the exceptions are worth it because it has a more modern GUI interface, and our system, which emulated the character-based user interface of their old system, looked ‘too old-fashioned.’”