DevDisasters

Who's Got the Monkey Now?

Development gone wrong.

At Harvard Business School Publishing (HBSP), 1999 marked a turning point. In the past few years, HBSP's business model-selling books, journals, articles, case studies and so forth -- had transitioned from catalogue sales to being largely Web-based. And the time had finally come for a major re-launch of the publisher's Web site.

HBSP's new Web site was slick. On top of a fairly advanced search system, the re-designed site also featured community forums and a section called "Ideas @ Work," which let users download audio broadcasts of influential business thinkers from around the world. And best of all, despite the rapid development schedule, scope creep, and all of the new bells and whistles, the new site actually worked. In the height of the dot-com era, not too many other sites could make that claim.

Extensive testing and QA helped to ensure the site's success. Analysts developed all sorts of test cases to cover virtually every aspect of the site. They worked closely with HBSP's logistics department to make sure they frequently ran tests on searching, fulfillment and account management.

Monkey Search
This aggressive testing strategy ensured that the site would function as intended for years to come. That is, until that one day in 2002, when one of the test cases failed.

The "Single Result Search" test case was part of a trio of cases designed to test the system's search logic. Like the "Zero Result Search" case, which had the tester enter a term like "asdfasdf" to produce no results, and the "Many Results Search" case, which had the tester enter a term like "management" to produce pages of results, the "Single Result Search" case had the tester enter a term -- specifically, "monkey" -- to verify that the system would return exactly one result.

And for three years, "monkey" returned exactly one result: "Management Time: Who's Got the Monkey?" by William Oncken Jr. and Donald L. Wass. Written in 1974, Oncken and Wass's article was for managers who "find themselves running out of time while their subordinates are running out of work." As for the monkeys, they were just an analogy for work, not who managers should outsource work to -- apparently, Oncken and Wass weren't that ahead of their time.

On that day in 2002, when the "monkey" search returned two results, the first, as expected, was "Management Time: Who's Got the Monkey?" The second result was something like "Who's Got the Monkey Now?" -- an update to the 1974 article. The solution seemed obvious: the "Single Result Search" test case needed to be updated. But then the team investigated a bit further.

The Phantom Deadlock
[click image for larger view]
The Phantom Deadlock

B-School Bestseller
As part of their aggressive testing strategy, the HBSP logistics team frequently executed test cases. First they'd run through the "Zero Result Search" test, then the "Many Result Search" test, then the "Single Result Search." Then they'd add that single result -- "Who's Got the Monkey?" -- to their shopping cart, create a new account, submit the order and fulfill it. Of course, they didn't actually fulfill it -- everyone knew that orders for "Mr. Test Test" and "123 Test St." were not to be filled. That is, everyone except the marketing department.

Tell Us Your Tale
Each issue Alex Papadimoulis, publisher of the popular Web site The Daily WTF, recounts first-person tales of software development gone terribly wrong. Have you experienced the darker side of development? We want to publish your story. Send us your 300- to 600-word tale-if we print it, you'll win $100 and an RDN T-shirt! E-mail your story to Senior Editor Kathleen Richards at [email protected] and use "DevDisasters" as the subject line.
When HBSP's marketing department analyzed the sales, they noticed a rather interesting trend. Oncken and Wass's 1974 "Who's Got the Monkey?" was a run-away best seller! And like any marketing department would, they took the story and ran. HBSP created pamphlets and other distillations of the paper. They even repackaged those little plastic cocktail monkeys as official "'Who's Got the Monkey?' monkeys." And finally, sometime in 2002, the updated version of "Who's Got the Monkey?" was posted to HBSP, which was then picked up by the searching system, which, in turn, caused the "Single Result Search" test case to fail.

Of course, by this point, there was little anyone could do. The fictional success of "Who's Got the Monkey?" had already been widely publicized as reality. And with all the subsequent write-ups (many of which are still around to this day), it may have very well become a bestseller. Needless to say, HBSP has since changed its aggressive testing policy.

About the Author

Alex Papadimoulis lives in Berea, Ohio. The principal member of Inedo, LLC, he uses his 10 years of IT experience to bring custom software solutions to small- and mid-sized businesses and to help other software development organizations utilize best practices in their products. On the Internet, Alex can usually be found answering questions in various newsgroups and posting some rather interesting real-life examples of how not to program on his Web site TheDailyWTF.com. You can contact Alex directly via email at [email protected].,

comments powered by Disqus

Featured

  • Creating Reactive Applications in .NET

    In modern applications, data is being retrieved in asynchronous, real-time streams, as traditional pull requests where the clients asks for data from the server are becoming a thing of the past.

  • AI for GitHub Collaboration? Maybe Not So Much

    No doubt GitHub Copilot has been a boon for developers, but AI might not be the best tool for collaboration, according to developers weighing in on a recent social media post from the GitHub team.

  • Visual Studio 2022 Getting VS Code 'Command Palette' Equivalent

    As any Visual Studio Code user knows, the editor's command palette is a powerful tool for getting things done quickly, without having to navigate through menus and dialogs. Now, we learn how an equivalent is coming for Microsoft's flagship Visual Studio IDE, invoked by the same familiar Ctrl+Shift+P keyboard shortcut.

  • .NET 9 Preview 3: 'I've Been Waiting 9 Years for This API!'

    Microsoft's third preview of .NET 9 sees a lot of minor tweaks and fixes with no earth-shaking new functionality, but little things can be important to individual developers.

  • Data Anomaly Detection Using a Neural Autoencoder with C#

    Dr. James McCaffrey of Microsoft Research tackles the process of examining a set of source data to find data items that are different in some way from the majority of the source items.

Subscribe on YouTube