TopCoder—Crowdsourcing Software Long Before Crowdsourcing Got Cool

finding really good people, and to do that you have to enable them to make a decent amount of money.”

TopCoder’s story goes back to the late 1990s, when Hughes was leading Tallán, a Connecticut-based developer of e-business software. “Most of the people at Tallán were very competitive, but in a joy-of-programming sense,” says Hughes. “We’d be working on a long project, and just to blow off steam, we would try to code something unrelated and see who could do it better or faster.” CMGI acquired Tallán in 2000, and after Hughes left, he decided to start a new company to see whether the competition model could energize programmers on a broader scale.

For the first couple of years—in observance of a non-compete agreement with CMGI—TopCoder restricted itself to running non-commercial, college-based software competitions. “But at the end of the two years, we said, ‘Let’s figure out if we can actually build real software using this model,'” Hughes says. “That launched us down a long path of figuring out how the software development life cycle could be boiled down into a series of competitions.”

The privately funded company is capable of handing over a large, multi-layered, enterprise-class software system to a client—but it never asks its community of 190,000 programmers and counting to take on a giant problem like this all at once. Instead, it breaks down each project into phases and holds separate competitions for each phase, using the winning submissions from the last phase as the starting material for the next.

Because many clients come to TopCoder without a clear idea of what they want, according to Hughes, the first step in the process is often a “conceptualization” and “specification” contest that helps clients organize their ideas and produce high-level requirements documents. (If clients need help roughing out basic designs or visualizing the look and feel of their applications, there’s a TopCoder Studio area where graphical and user-interface designers can join contests.)

Once the specifications are fixed, the basic components a software system needs are identified through architecture competitions. Then there are more competitions to design and develop each component.

“The modularity of the problems is a hugely important thing,” Harvard’s Lakhani says. “Only an IBM or an Accenture or a WIPRO could come in and try to create an entire ERP system. But if you break it down into small chunks, and create mini-contests around all of these problems, then you can lower the barrier to participating, so individuals or small teams can do it.”

Another part of the “secret sauce” at TopCoder, Lakhani says, is in the way the company integrates the chunks into finished systems. Not surprisingly for a company that takes competition so seriously, this part is largely outsourced as well, through software assembly contests. The company even handles the quality-assurance phase of software development, through application testing contests and so-called “bug races” (literal races to fix small software flaws, with the winners getting $25 to $100).

The general philosophy at TopCoder, according to Hughes, is that “the community is a lot smarter than we are. So what we tend to do is say, ‘Look, here’s what we’re trying to do. What’s the best way to do this?’ What works for them is what works for us.”

That doesn’t mean TopCoder can evade responsibility for software that doesn’t work. Every client project has a platform manager who’s responsible for shepherding the work along, and “ultimately, if a project doesn’t work, it’s going to come down to TopCoder to fix it,” says Hughes. But the fixes, too, are farmed out to the community.

Just who are these contestants? They’re mostly individuals—although occasionally, the company receives submissions from teams, and there are even

Author: Wade Roush

Between 2007 and 2014, I was a staff editor for Xconomy in Boston and San Francisco. Since 2008 I've been writing a weekly opinion/review column called VOX: The Voice of Xperience. (From 2008 to 2013 the column was known as World Wide Wade.) I've been writing about science and technology professionally since 1994. Before joining Xconomy in 2007, I was a staff member at MIT’s Technology Review from 2001 to 2006, serving as senior editor, San Francisco bureau chief, and executive editor of TechnologyReview.com. Before that, I was the Boston bureau reporter for Science, managing editor of supercomputing publications at NASA Ames Research Center, and Web editor at e-book pioneer NuvoMedia. I have a B.A. in the history of science from Harvard College and a PhD in the history and social study of science and technology from MIT. I've published articles in Science, Technology Review, IEEE Spectrum, Encyclopaedia Brittanica, Technology and Culture, Alaska Airlines Magazine, and World Business, and I've been a guest of NPR, CNN, CNBC, NECN, WGBH and the PBS NewsHour. I'm a frequent conference participant and enjoy opportunities to moderate panel discussions and on-stage chats. My personal site: waderoush.com My social media coordinates: Twitter: @wroush Facebook: facebook.com/wade.roush LinkedIn: linkedin.com/in/waderoush Google+ : google.com/+WadeRoush YouTube: youtube.com/wroush1967 Flickr: flickr.com/photos/wroush/ Pinterest: pinterest.com/waderoush/