Crowdsourcing software development or software crowdsourcing is an emerging area of software engineering. It is an open call for participation in any task of software development, including documentation, design, coding and testing. These tasks are normally conducted by either members of a software enterprise or people contracted by the enterprise.
GOALS OF SOFTWARE CROWDSOURCING
Crowdsourcing organizers need to define specific software quality goals and their evaluation criteria. Quality software often comes from competent contestants who can submit good solutions for rigorous evaluation.
Instead of waiting for software to be developed, crowdsourcing organizers may post a competition hoping that something identical or similar has been developed already. This is to reduce software acquisition time.
A crowdsourcing organizer may be mainly interested in identifying talents as demonstrated by their performance in the competition.
A crowdsourcing organizer may acquire software at a low cost by paying a small fraction of development cost as the price for award may include recognition awards.
As teams will turn in different solutions for the same problem, the diversity in these solutions will be useful for fault-tolerant computing.
One goal is to get new ideas from contestants and these ideas may lead to new directions.