(1) Task Complexity
(2) Variable Skills & Scale
(3) Self-Selected Experts
(4) Paying for Performance
We touched on this subject in a past post regarding Yahoo!'s announcement to ban telecommuting for all employees. In that post we closed with this statement regarding value:
At CloudSpokes we're creating a marketplace that connects businesses that need help - that need value - with this incredibly powerful workforce, this network of remote collaborators. We don't have central offices for our community members. We don't want or need them. We’ve found a way to compensate our members for the value they create, therefore their time belongs to them.What ties together the entire package of a community software development model like CloudSpokes, is that competition drives efficiency.
Without efficiency, task complexity becomes, well... complicated. In the past, businesses were left with only two choices for getting work done: (1) Find a single resource to complete a complex task, or (2) use a crowdsourcing service to complete a simple microtask.
The problem with the freelancer model in option (1) is that it just doesn't scale efficiently. Need to address multiple tasks at once, multiple varying elements to an application, or both at the same time? The only answer is more individual experts. The inefficiency of this model comes to bear at scale because the organization's costs are aligned with hours and effort, instead of results and value.
Most companies today, when looking to pay to have software created, are resorting to a cost-structure that compensates the person in hours estimated to complete the task. There are so many flaws to that model that the entire industry has just gotten accustomed to as the "price of doing business".
Let's look at an analogy.
Imagine your local sandwich shop. You go in for a sandwich. You're quite hungry.
You notice a new sign on the wall of the sandwich shop: [Cost = $2 / Minute].
Two things immediately happen when the cost structure is aligned around effort and time. First, you attempt to find ways to control your costs by adjusting your order: "No extra toppings, please. No mayo, no mustard, and I don't want it toasted." Second, you start to realize that you're now anxiously hoping that the end result is what you want, while also anxiously hoping that your sandwich artist doesn't make any mistakes. All while the clock is running.
"Wait - I said no mustard..."
By the end of the endeavor, you consider yourself lucky to have something that resembles what you ordered, and a wallet that's not empty.
In a competition-based, pay-for-performance model, all requirements, costs, and expected results are defined up-front. Challenge sponsors are forced to be very clear in terms of expectations and requirements. All inconsistencies and vague specifications are flushed out in the challenge discussions before the work is completed. For the self-selecting experts working on the challenge, this makes it incredibly clear what's expected, and what the perceived value is.
Pay-for-performance. What it means for businesses is efficiency, especially at scale. For developers, it translates into compensation for quality; thus increased quality, and increased volume, equals higher compensation. It's an entire economic system based around value for both challenge sponsors and the self-selected experts that choose to compete.