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

  • Compare New GitHub Copilot Free Plan for Visual Studio/VS Code to Paid Plans

    The free plan restricts the number of completions, chat requests and access to AI models, being suitable for occasional users and small projects.

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

Subscribe on YouTube