Enterprises are grappling with a rapidly changing IT landscape and not enough in-house developer talent to deal with it. As the explosion of the cloud, Big Data, mobile and connected devices leaves organizations strapped for skills in emerging areas, more and more enterprises are turning to crowdsourced application development.
Crowdsourcing development platforms give enterprise organizations access to a free market of developer talent, ready and mobilized to work on an application right away. It’s a mutually beneficial arrangement, giving enterprises the specific developer skillsets they need to build custom software, and allowing developers to supplement their incomes, choosing their own freelance projects in a collaborative but competitive atmosphere and gaining new programming skills in the process.
Platforms such as TopCoder—the largest online crowdsourced developer platform with a community of more than 630,000 developers and designers—open enterprise projects up as competitive challenges, breaking down the software’s components into itemized tasks for developers to complete. The developers, the majority of whom have full-time jobs, monitor the challenge boards for tasks that match their skills and interests, and in a matter of days or weeks code and deliver the software with the goal of receiving a cash prize. Any piece of software the enterprise customer ends up using, including a combination of multiple submissions, the developer gets paid for.
“Let’s say you needed to build a mobile front end to some application, and you didn’t have any skill to do that,” said Eric Knipp, managing vice president of application platform strategies at Gartner. “You can go to a digital agency and they’ll charge you an arm and a leg for it. You can try to hire someone with that skill; they probably won’t want to work for you if you’re a traditional enterprise because of the compensation. Or you can go to a crowdsourcing community where you can buy a little slice of their time and get this thing you need relatively quickly.”
In March, Gartner published a report, “Use Crowdsourcing as a Force Multiplier in Application Development,” in which Knipp explores how crowdsourced development applies a cloud operating model to the development and delivery of custom software. Organizations can use platforms including TopCoder and the crowdsourced testing community Applause (formerly uTest) to spin up, develop, test and ship software relatively quickly. A recent partnership between the development and testing platforms takes this a step further by consolidating the customer’s experience through the software development life cycle.
“On the other side of it, most enterprise applications are not solving problems for which there’s only one right answer,” Knipp said. “There isn’t necessarily an absolute right way to do something like a workflow or a user interface. You’ve got multiple parties all working against each other to some extent, but still collaborating to solve this problem for you simultaneously. It’s like harnessing the open-source community model and applying it to non-open-source projects. Getting to not just choose between these answers but potentially combine them into something better than you ever imagined, this is something you just don’t get with any other sourcing model.”
Building a community from the ground up
TopCoder was founded back in 2001 out of a consulting company managing 625 developers, and the site amassed its free market of developer talent slowly. The crowdsourcing platform is founded on the principle of providing developers quantifiable value through incentivized competition without treating them like employees. At the same time, the community forums and a developer rating system allow members to develop a sense of loyalty and ownership in the platform, while of course getting paid for their work.
“We spent so much time recruiting and keeping employee morale up than any other part of the [consulting] business, so TopCoder was the answer to that,” said TopCoder general manger Mike Morris. “We realized the Internet gave us access to anybody, so we had to find the best way to identify and engage them.
“One thing we realized as we grew this community is that you can’t just take the smartest people, assign them roles and let them run projects. That failed completely. They’re not employees, so you’re not able to manage them using a traditional model. The competitive aspect of TopCoder made us realize that at the end of the day, we are here to provide opportunity to the community, we don’t control them. We don’t own them. The only way you’re going to keep a tight-knit community is by continuing to provide value to them.”
Morris was one of the founding members of TopCoder, but left in 2012 to work on a new crowdsourced developer platform called CloudSpokes, which focused on cloud-based development projects. The platform channeled its efforts more on marketing, sales and customer engagement than fostering the developer community, but found that building the community is a process that can’t be rushed. CloudSpokes’ parent company, Appirio, bought TopCoder in 2013, and the two platforms are now merged under TopCoder.
“With TopCoder, the community feels ownership,” Morris said. “When we built CloudSpokes, we didn’t replicate that. We found ourselves saying we should be able to grow the community much faster this time, but it has to grow organically in a lot of respects. You don’t gain trust with a person by them registering for your site. You gain trust with a person when they start learning something, when they have a sense of pride in their rating, which was the key thing at TopCoder, that rating system. They felt that it meant something.”
The other side of growing the platform is getting enterprise clients onboard with this alternative developer-sourcing model. While crowdsourced application development is far from standard enterprise practice, an increasing number of large companies have started to adopt it because of two simple factors: quality of developer talent and the rapid pace of solution development.
“Around 2007, we started getting early adopters,” Morris said. “They just couldn’t find the talent in-house, and once we convinced them the quality of developers in the community was really that great, we got them. These [developers] aren’t people you can find at a recruiting lineup.
“The other thing was people saw the speed. It isn’t like we’re changing the laws of physics. It still takes as long as it’s going to take to build something. Most companies are used to taking eight weeks to spin up a project. They need to get people assigned, get the billing set up and put all these things in place before starting any work. Even consulting companies have a four-to eight-week lag time. Sure, you can find people who can get it done faster, but the speed of being able to ask for something and have a group of people ready to work on it, that’s what you can’t replicate.”
Order out of chaos
Crowdsourced developer challenges typically fall into the design, code and test phases of the software development life cycle, according to the Gartner report. Application development and delivery, UX and UI design, and manual and automated testing are all fair game for challenges, and each project comes with different requirements, written in different languages and hosted on different platforms.
While most vendors in the crowdsourced development market specialize in a particular type of project, TopCoder runs 100 to 200 design, development and data science challenges at any given time. This presents a unique set of hurdles in reconciling the enterprise customer’s needs for a given application with the back-and-forth nature of developers coding specific software components, then stitching all the submissions together into a completed, working application.
To coordinate between customers and developers to deliver the finished product, platforms like TopCoder need a go-between, a point person to facilitate the transaction of services. For coding challenges, TopCoder’s go-between is community architect Kyle Bowerman. His role, established out of a need to create order out of chaos, starts with big-picture meetings with the client about what needs to be built and what the product should do. He then parses the project into small, discrete challenges, sends them out to the community, and pieces the various components back together after the customer selects the winning submissions.
“My tagline when it comes to the community is that it’s Christmas every day,” Bowerman said. “I meet with a customer, figure out what their needs are, and we create this wish list of everything a component should do. I run the challenge, which runs an average of three to five days, and meanwhile I’m answering questions on the forums specifically to the requirements or maybe an option I hadn’t clarified. Then when that challenge submission comes in, that’s like Christmas for me. I might get three submissions and I unwrap all these and see how close to my wish list I got.”
Crowdsourced software submissions are not always right the first time. Submissions can come in at the last minute, and depending on whether a project is more broad or exploratory in nature, the customer may be unsure of exactly what they want and how they want it. Follow-up challenges, new iterations and private challenges with some of the platform’s perennial winners or “incumbent” developers are sometimes necessary.
Bowerman pointed to one particular project: coding a new product testing platform for Mesh01, a footwear and apparel product feedback site, to illustrate how a typical challenge with many moving parts is run. Over the course of three months, TopCoder broke down development of the new platform into more than 130 challenges, with more than 100 developers contributing submissions to the agile solution. One TopCoder developer even created a consulting role for himself to keep the project together.
“[Mesh01] had an application on .NET and really wanted to upgrade that stack. They wanted to build it on Heroku, MongoDB, Angular and Node.js. We broke it up into components and knew we could run challenges in parallel to early prototypes of these components, keeping them all separate to start but eventually integrating them in.One of the things we realized would be our biggest challenges is the organization of code. Everyone had their own style, party because Angular was so new. After we got some of these major components back and started to piece them together, we started to panic over how hard it was to make them fit. One member told us we were going about it all wrong, and it was going to blow up because we didn’t have strict guidelines or controls. So we asked him if he wanted to be our code quality guy. From then on we ran specific challenges with him on the back end integrating the code. I was feeding the community with new challenges, and he was taking those winning submissions and integrating them into the master branch.”
Keeping all sides in check to make sure a crowdsourced development project stays on track requires a particular mindset, and Bowerman is constantly concerned with a project’s flow.
“Flow is an important thing to think about when you’re dealing with crowdsourced projects,” he said. “The customer has a natural rhythm for the way they do things before you get involved, and the project has its own rhythm, and the community has its own rhythm. It takes time to get those rhythms in sync so that they’re complementary and not introducing harmonic oscillation.”
A new career path: Crowd curator
Crowdsourced application development projects fall apart without a middleman. One conclusion reached in Gartner’s report is that crowdsourced development is not “fire-and-forget”; projects dictate constant hand-holding and feedback between the customer and developer. This critical role in the development process dictates the need for a career path reminiscent of an in-house business analyst but contracted out from the crowdsourcing platform. Gartner analyst Eric Knipp calls this role a crowd curator, someone to interface with the client and coordinate with developers on the ground to make sure each component fits with the next in the SDLC.
“A crowd curator is basically a senior level technical person with really good software skills and in-depth knowledge of the crowdsourcing platform,” said Knipp. “They basically become the point person, so almost an internal broker for the crowdsourcing platform with the other people on the development and QA teams interacting with it. You’ve got someone who is very skilled, both in the internal methodology of the company—they know where the bones are buried there—and also very skilled with the community and tools on the crowdsourcing platform side. Over time the person gains a reputation and becomes more visible and accessible inside that crowdsourcing community.”
When researching the report, Knipp came across a developer running point between a retailer building a new QA testing platform and the uTest crowdsourcing platform. That developer created a role for himself, calling it “crowd curator”; Knipp has since appropriated the term.
Once he knew what to look for, Knipp started finding crowd curators in other organizations as well. He discovered that TopCoder’s version of the role is community architects like Kyle Bowerman, whom TopCoder markets to clients as their personal representative to run all challenges. Knipp believes crowd curating is a viable career path for developers with knowledge and experience on both the client and platform side, because without them, there is no project.
“It became clear to me that without one of these, you’re going to fail,” he said. “Whether it’s someone that works in your company or someone you contract with, if you don’t have this, you’re not going to have a sustainable long-term engagement with a crowdsourcing platform. It’s just not going to happen.”
Crowdsourcing perks and pitfalls
The caveat for enterprises is that the only way to take full advantage of crowdsourcing platforms is to be aware of the pitfalls and limitations.
According to Knipp, if organizations have problems with agile, they’ll have problems with crowdsourcing. The report cites small, easy-to-scope applications as the optimal projects for crowdsourced development, not long and overly complex projects. This means organizations struggling with an agile methodology will run into difficulties scoping projects down to discrete tasks for separate challenges. Crowdsourced developers are high-skill, high-dollar value resources, so every change in requirements costs money.
For organizations willing and able to parse a project down into specific challenges run by a crowd curator, accessing developer talent for a fixed amount of time to deliver a cutting-edge application represents the immediate benefit. Yet over the long term, the true value of these platforms is in the combination of competition and collaboration.
“In the near term, [crowdsourced application development] is a tactical stopgap to address the fact that we’re missing a lot of development skills in cutting-edge areas,” Knipp said. “But over time, we’ll find out that the more important part of this isn’t that you can get some help with a skill you don’t have, but that you get multiple solutions. That will be the difference-maker, and why this is going to be a sustainable model long after the current waves of technological disruption have been fully digested by the enterprise.”