Photo Credit: 'Thristian' @ FlickrIt was the mid-1990's and business was booming at the company that Terry worked at. It was booming so much that the existing process of entering an order — faxing in an order form torn out of an outdated-as-soon-as-it-was-printed catalog — was delaying things enough that it was costing the company some serious dough in missed sales. Needing a way to re-engineer the process without hiring an army of support staff, management decided on an innovative plan that would enable customers to place orders electronically without needing to contact customer service.

With resources being tight (even the help desk was fielding order inquiries), management decided to farm out the work to an outside IT firm. Now, important work like this wasn't going to be farmed out to the boss's nephew who was a whiz at programming in Word and Excel. Instead they were going with a big name, "we named our building after ourselves" company. Yes it would be expensive, but the money that could be saved by receiving orders this new way would allow the program to more than pay for itself in short order.

Terry, a senior developer for the existing inventory ordering system, acted as a liason between his company and the technical manager who oversaw a team of consultants at the firm.

The initial meetings to define requirements went ok. Terry had done his homework and came prepared with screen mockups and specs of how to hook into their existing system. During the meetings, the Project Manager and Technical Lead would reply with head nods and the occasional "Um-hm...yes, this is doable...um-hm". The estimates came back and Terry's company provided the capital to get everything going. Everything appeared to be humming along fairly smoothly.

Soon, the consultants were ready to deliver the fruits of their labor. In the final meeting, the Project Manager went on about how the application would "maximize positive customer synergies" and provide "value added cross-functional, intra-business combinations". Through the marketing mumbo-jumbo, Terry was happy when he saw two things - the UI looked good and the application (though working against a set of test data) seemed to run smoothly. The consultants delivered the code and Terry was on his way.

Under the Hood

As a cost saving measure, Terry's company planned to start with with a much-simplified version of what they actually wanted. By starting out with code developed by a top-notch IT firm, any flaws or minor enhancements could be easily tweaked. Plus, it just cost less for a salaried developer to make a data field label in italics or move a button a few pixels. A month or two, tops, of polishing up would make it shine out as being a crown jewel for Terry's company and save them millions.

At first glance of the source, Terry thought that the application must have been written by gurus placed so high in that crystalline building of theirs that their logic transcended that of mere humans. They were very expensive, were prominantly placed, and therefore the best...right?

Instead, upon further review, the end product that Terry only had to "polish up" was more likely a result of the developers not getting enough oxygen in that high rise of theirs. Following is how the order process worked.

Aftermath

Once the inner workings of the program were explained to management, the project was scrapped in favor of implementing a simple PDF catalog on CD where a customer would fill out a paper form and fax it into the order processing center where it would be hand entered. It is hoped that by not having to print paper catalogs that the six figure cost of development can be recovered ...eventually.

[Advertisement] BuildMaster allows you to create a self-service release management platform that allows different teams to manage their applications. Explore how!