Crowdsourcing for Large-Scale Software Development

Large scale software systems with increasing complexity, variability and uncertainty, brings about grand challenges for traditional software engineering. Recently, crowdsourcing practices in the domain of software development such as Apple App Store and TopCoder have exhibited a promising and viable solution to the issues. The use of a crowd for developing software is predicted to take its place alongside established methodologies, such as agile, global software development, service-oriented computing, and the traditional waterfall. In this chapter, we propose a conceptual framework for the emerging crowdsourcing development methodology. We define the fundamental principles, software architecture, development process, and maturity model of the methodology for crowd workforce motivation, coordination and governance.

[1]  Ben Shneiderman,et al.  Design Principles for Tools to Support Creative Thinking , 2005 .

[2]  Luis C. Corchón The theory of contests: a survey , 2007 .

[3]  W. Knopf,et al.  The NASA Tournament Laboratory (NTL): Improving Data Access at PDS while Spreading Joy and Engaging Students through 16 Micro-Contests , 2012 .

[4]  Eric Lonstein,et al.  Prize-based contests can provide solutions to computational biology problems , 2013, Nature Biotechnology.

[5]  Mark Harman,et al.  The Current State and Future of Search Based Software Engineering , 2007, Future of Software Engineering (FOSE '07).

[6]  Jin Xu,et al.  Application of Social Network Analysis to the Study of Open Source Software , 2006 .

[7]  James D. Herbsleb,et al.  Guest Editors' Introduction: Global Software Development , 2001, IEEE Softw..

[8]  Robert C. Martin Agile Software Development, Principles, Patterns, and Practices , 2002 .

[9]  Douglas C. Schmidt,et al.  Ultra-Large-Scale Systems: The Software Challenge of the Future , 2006 .

[10]  Diomidis Spinellis,et al.  Don't Install Software by Hand , 2012, IEEE Software.

[11]  Wei-Tek Tsai,et al.  An evaluation framework for software crowdsourcing , 2013, Frontiers of Computer Science.

[12]  Alon Y. Halevy,et al.  Crowdsourcing systems on the World-Wide Web , 2011, Commun. ACM.

[13]  David W. Wilson,et al.  Overview and Guidance on Agile Development in Large Organizations , 2011, Commun. Assoc. Inf. Syst..

[14]  Eric S. Raymond,et al.  The Cathedral and the Bazaar , 2000 .

[15]  Gregory R. Madey,et al.  Modeling the Free/Open Source Software Community: A Quantitative Investigation , 2008 .

[16]  Karim R. Lakhani,et al.  TopCoder (A): Developing Software through Crowdsourcing , 2010 .