March 7, 2011 Can Crowdsourcing Work for Projects?
The question in the title was posed recently in this post. “Can crowdsourcing work in a project environment?” The answer is: Yes. For many years TopCoder has been running software projects using it’s growing community to complete a variety of tasks. At first the crowd was used for software design and development tasks. Over time the crowd has taken over more and more tasks, including: architecture, creative, QA, and even project management itself.
How does this work?
Beyond a simple ‘yes’ the range of crowdsourcing offerings, makes this question a bit more difficult to answer. Here’s a working definition of crowdsourcing that I like: an open call to a distributed group to solve a problem or complete a task. The range of offerings in that category is quite broad. From a project management perspective, let’s consider three types of crowdsourcing: community development (i.e. open source projects), crowdsoursing tasks (i.e. when certain project tasks are outsourced, but generally the project runs like a normal one), and fully crowdsourced.
The Open Source Crowd
In the community example, most successful projects follow a hero model where most of the project management and lead engineer work is performed by a select few, something like 1% of the users are contributors. There is a wide variety of projects and ways they operate, but they tend to achieve a regular release schedule via time boxing. A hypothetical might be a highly requested, but not critical feature: both an open source and traditional project would have to decide to use the staff/hero time for this feature. But the open source team can time box out the feature unless someone else in the community picks it up, gaining additional leverage beyond the core project team.
The Out Crowd
A hybrid model where a project team might crowdsource certain specific tasks encounters some of the leverage advantage, but also carries the burden of both worlds. In this case a fixed base of resources with the domain and technical expertise is still needed. Since a team built in this fashion is likely to rely on tribal knowledge managed either informally or only available internally – it will be difficult to engage crowds in higher order tasks, so they will be limited in the leverage they can achieve via crowdsourcing. In this cases tasks are likely to be lower level tasks that are easily defined independent of the project or even “done ahead of time” tasks. TopCoder’s bug races are a good example of a crowdsourcing approach for simpler tasks. Examples of already done crowdsourcing are leveraging an open source library like log4j or a site like iStockphoto. In these latter examples the project team has no need to even specify task requirements, instead the team can select an outcome from preexisting work. While this can be valuable for project teams, the lack of leverage means ROI on crowd engagement will be limited and most of project cost and results will follow the traditional model.
The All In Crowd
The model TopCoder uses internally (and helps it’s customers leverage) is a crowd first approach. When in doubt we leverage our community. Knowing that crowd will be highly leveraged – for TopCoder’s internal projects, it’s common for greater than 90% of the work to be performed by the crowd – allows for different priorities to be served. In a traditional project keeping knowledge documented, up to date, and accessible may be of low or no priority. For TopCoder projects its an essential component to enabling crowd participation. Similarly rapid on boarding of new team members may be a “nice to have” for a staffed team with low attrition, it’s absolutely critical in a crowdsourcing environment. Beyond a difference in prioritizing tasks, different tools are required to perform the same project management tasks.
A common challenge I have seen is a belief that crowdsourcing is a holy grail of project management. Understanding how to manage risk, budget, schedule, scope, and quality don’t go away just because the model of how to staff changes. The same issues must be managed, but the different tool sets and techniques are utilized. (The closest example would be a development manager changing from a waterfall approach to a scrum approach and the new skills he or she might need.) What crowdsourcing can help eliminate is the non-essential management activities. This can create very flat project teams highly aligned with the business, where the project management activities are a common skill for all team members, instead of the sole responsibility of a single person. Crowdsourcing presents an opportunity for a project manager to further align with the business they support by directly leveraging domain and customer knowledge – something the best project managers know is essential to their success.