View stunning SlideShares in full-screen with the new iOS app!Introducing SlideShare for AndroidExplore all your favorite topics in the SlideShare appGet the SlideShare app to Save for Later — even offline
View stunning SlideShares in full-screen with the new Android app!View stunning SlideShares in full-screen with the new iOS app!
TopCoder Developing software through crowdsourcing
How TopCoder came about? Jack Hughes Tallan Inc. (Business Data Services) Sold for $920M
Lessons learnt from Tallan? Not happy with the operations of Tallan Expensive and time consuming recruitment process Evolving technologies results in high employee turnover rate More can be done to save clients time and money Crowdsourcing was the solution!
TopCoder v1.0Consulting Business Model Host competitions with monetary rewards from sponsors Build community strength Gain popularity Winner gets a job with the sponsor HR firm
TopCoder v2.0Competition Based Model Crowd sourcing Software Development Tasks of Software Development Process
TopCoder v2.1Competition Based Model Dissatisfied with $20 mln in revenue Platform Managers costs too high Tasks of Software Development Process
Did it work? Decrease in contest from 2008 to 2009 Switched from hourly based consultation to monthly fee
Types of Competition Algorithm Competition Attract new members Retain existing members Software Development Competition Provide clients with specific solutions Expand TopCoder’s catalog
Algorithm Competitions Timed competitions Available in Java, C#, C++ & VB.Net Single Round Match consists: Coding Phase Challenging Phase System Testing Phase
Algorithm Competitions Coding Phase Lasts 75 mins Contestants presented with the same 3 questions Points awarded for successfully compiled solutions Total time elapsed Challenging Phase Lasts 15 mins Challenge the functionality of other competitors’ code Successful challenge: Defendant – loss of original submission points Challenger – 50 point reward Unsuccessful challenge: Challenger – reduction of 25 points
Algorithm Competitions System Testing Phase Applied to all submitted code (not successfully challenged) Flawed code submission will lose all points Automated tester applies a set of inputs if submission’s output does not match expected output, submission is considered flawed All successful challenges will be added to the set of inputs for the System Testing Phase