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

  • See Prompts Microsoft Engineers Use for Bleeding-Edge Multimodal RAG AI Research

    Vision-centric queries show how front-line experts are prompting LLMs these days.

  • AI Explains Expressions in Update to Java on VS Code

    "The Spring Tools now show code lenses above these expressions that allow you to quickly let GitHub Copilot explain those statements for you."

  • Microsoft Eases Integration with Semantic Kernel AI SDK

    The basic idea is to provide unified API abstractions, especially for idiomatic C# code, to help platform developers and others work with any provider with standard implementations for caching, telemetry, tool calling and other common tasks.

  • Final .NET 9 Preview Ships with Go-Live License

    Visual Studio developers can now download the SDK for .NET 9 Release Candidate 2 with a go-live license, meaning devs get Microsoft support for production applications even before the framework reaches general availability next month.

Subscribe on YouTube