|By Hollis Tibbetts||
|September 7, 2011 10:00 AM EDT||
For the record, I am neither pro-crowdsourcing nor anti-crowdsourcing. For purposes of this article, I'm going to assume that we're talking about software development; however, crowdsourcing could be just as appropriate for situations as diverse as architecture, graphical design, PowerPoint slides or even developing a great pizza recipe.
The Ethics of Crowdsourcing
There has been some criticism of the crowdsourcing model on ethical grounds - for example, that it is unfair to the participants. For the most part, I'm going to stay out of that controversy. Though, if the rules are made clear and are posted up front, then each party can decide on their own whether to participate. To me, that makes it fair. If someone is cheated, that's a different story, and there are other (legal) remedies for that.
We've all engaged in things like job interviews or pitches to venture capital firms where we knew going into it that we would bear the burden of travel, preparation, etc., and that there were no guarantees whatsoever of results. I don't see how crowdsourcing is materially different. But the purpose of this article is to discuss crowdsourcing as a method of creating software - not to debate the ethical points.
Crowdsourcing: Deja Vu?
Crowdsourcing is in some ways like using a swear word. In some situations, it's appropriate and helpful, and in other situations, it's simply a terrible idea and entirely counter-productive. It's up to the business person to intelligently determine whether a particular issue is crowdsource-appropriate.
This is certainly not unique to crowdsourcing - the same can be said for outsourcing (or offshore outsourcing). In fact there are some similarities between the two, in that some years ago, offshore outsourcing grew in popularity - and briefly seemed to be promoted by many as a solution to every problem out there. I see the same thing happening with crowdsourcing today. I'm highly critical of organizations which promote crowdsourcing as a near-panacea. Apart from Duck Tape, nothing is a near-panacea.
With offshore outsourcing, there were some spectacular successes and even more spectacular disasters. If crowdsourcing truly takes off, we'll see the same pattern happen there too. In time, rationality mostly prevailed and outsourcing/offshoring software development became "yet another tool" to be leveraged by the savvy business user.
Shortcomings of Crowdsourcing
Crowdsourcing has many of the same shortcomings as outsourcing, and a few more to boot. Some issues I see:
1) For the most part, the really talented architects and developers are busy with lucrative and demanding jobs. So if you think you're going to get someone to create something better than Hadoop without any compensation guarantees, think again. I'm not saying that there aren't some highly skilled people out there. But one needs to be realistic. You can't open something up to crowdsourcing and expect the world to come to you. On the other hand, your particular problem might be perfect for someone out there.
Although "contests", such as those promoted by organizations like TopCoder, can be useful for improving the quality of potential solutions, the quality of the end-solution is mostly determined by the quality of the talent pool and how well the contest is set up and managed. The fact that there is a contest doesn't change anything to any significant degree - it's still crowdsourcing.
And don't forget the overhead of managing and "judging" any such competition. It's not as easy as determining the winner in a 100 metre dash. As always, a badly defined and poorly run competition is almost certainly a failed one.
2) It's human nature that results and motivation go hand in hand. In the working world, motivation takes many forms, and every person is different. In general, people are motivated by compensation (monetary and non-monetary), respect and visibility from others, a sense of being part of a team, and the satisfaction of a job well done.
Because the nature of the relationship between a crowdsourcing participant and the business is so very ephemeral, the typical person simply doesn't have the underlying motivation.
3) The mathematics of complex systems are against outsourcing in general. By this I mean that the effort to successfully manage such a project increases geometrically relative to the complexity of the problem trying to be solved. Specifically, the effort to fully document the requirements of a project, to quality assure the results, to ensure that the proposed solution not only meets the requirements as set forth, and provide a sound and extensible architectural base for the future increases MUCH faster than the actual effort required to solve the problem.
If you get involved in trying to manage multiple disconnected or semi-connected parties with varying competing or complementary solutions, that makes things even worse.
4) Who's going to maintain all that code? Years ago, I had to write a utility that extracted data and metadata from a proprietary column-store database and stuff it into Oracle 10. A year after I wrote the utility, I needed to go back and modify it. It was a difficult task. It's difficult to maintain your own code. Maintaining someone else's code is far more difficult. Although turnover is common in any organization, supportability of in-house developed code is significantly easier than externally acquired code.
5) Collaboration with internal team members is an important part of most development efforts, and this is something that is difficult with a crowdsourcing solution.
Advantages of Crowdsourcing
All that said, crowdsourcing has some real benefits. True advantages. For some projects (or project components), it's a great idea.
1) It can be highly cost effective when used properly (i.e. managed properly and employed for an appropriate class of problem).
2) The wide range of potential problem-solvers out there mean that some very interesting and innovative solutions can pop up.
3) External people aren't constrained by the mental "boxes" and preconceived notions that internal people create for themselves.
4) When used properly, the downside of crowdsourcing can be minimized.
Is Crowdsourcing Right for Your Project? How Do You Minimize Risk?
Anyhow, all this comes down to the old maxim: use the right tool for the job. Some projects just aren't cut out for crowdsourcing, and some are.
That being said, you can't fix stupid, and some people insist on using a hammer where a screwdriver is the correct implement. So if you cut off your finger using a bandsaw while trying to open up a can of tuna fish, don't go blaming the bandsaw.
If you are considering crowdsourcing, consider your answers to the following questions. They may help you determine if your project is truly crowdsource-appropriate, and help you minimize the risk and/or impact of failure.
a) How much effort is required to appropriately define the problem as well as requirements for the solution...up front.
b) How much effort will it take to manage the crowdsourcing process?
c) How much calendar time will be expended if the crowdsourcing process fails to yield a useful solution?
d) What is the impact on the business if crowdsourcing doesn't work for this particular problem?
e) What is the impact on the business of using internal people instead of crowdsourcing? What is the "opportunity cost" of using internal people?
f) Can you define "pull the plug" points for a crowdsourcing project? For example, how many parties express interest in working on your problem?
g) Can you establish some preliminary indicators that allow you to predict success likelihood for the final solution?
h) How do you decide between "pull the plug" vs. "go back and try to remedy the situation" if the leading indicators aren't looking good?
i) Can you define "success"? Do you have criteria in place for judging and testing solutions?
Crowdsourcing: Post Script
For an excellent followup on this article, please read "Maximizing CrowdSource Success" - perspectives from CrowdSourcing pioneer and TopCoder founder Jack Hughes. Jack gives additional insight into many of the "must ask" questions to help readers determine whether crowdsourcing is appropriate for them - and, if so, how to maximize chance of success.
[video] Logging and Monitoring with @Sematext Founder @OtisG | @DevOpsSummit #DevOps #Logging #Monitoring
"We got started as search consultants. On the services side of the business we have help organizations save time and save money when they hit issues that everyone more or less hits when their data grows," noted Otis Gospodnetić, Founder of Sematext, in this SYS-CON.tv interview at @DevOpsSummit, held June 9-11, 2015, at the Javits Center in New York City.
Jul. 28, 2015 10:45 PM EDT Reads: 998
"We've just seen a huge influx of new partners coming into our ecosystem, and partners building unique offerings on top of our API set," explained Seth Bostock, Chief Executive Officer at IndependenceIT, in this SYS-CON.tv interview at 16th Cloud Expo, held June 9-11, 2015, at the Javits Center in New York City.
Jul. 28, 2015 08:00 PM EDT Reads: 581
[slides] Storage for Docker Containers By @OnModulus | @DevOpsSummit #DevOps #Docker #Containers #Microservices
Learn how to solve the problem of keeping files in sync between multiple Docker containers. In his session at 16th Cloud Expo, Aaron Brongersma, Senior Infrastructure Engineer at Modulus, discussed using rsync, GlusterFS, EBS and Bit Torrent Sync. He broke down the tools that are needed to help create a seamless user experience. In the end, can we have an environment where we can easily move Docker containers, servers, and volumes without impacting our applications? He shared his results so yo...
Jul. 28, 2015 07:15 PM EDT Reads: 711
[slides] A New Architecture for the Internet of Things By @JKirklan | @ThingsExpo @RedHatNews #IoT #M2M #InternetOfThings
Explosive growth in connected devices. Enormous amounts of data for collection and analysis. Critical use of data for split-second decision making and actionable information. All three are factors in making the Internet of Things a reality. Yet, any one factor would have an IT organization pondering its infrastructure strategy. How should your organization enhance its IT framework to enable an Internet of Things implementation? In his session at @ThingsExpo, James Kirkland, Red Hat's Chief Arch...
Jul. 28, 2015 06:30 PM EDT Reads: 1,369
Modern DevOps Tool Kit By @Logentries and @NewRelic | @DevOpsSummit #DevOps #Containers #Microservices
Auto-scaling environments, micro-service architectures and globally-distributed teams are just three common examples of why organizations today need automation and interoperability more than ever. But is interoperability something we simply start doing, or does it require a reexamination of our processes? And can we really improve our processes without first making interoperability a requirement for how we choose our tools?
Jul. 28, 2015 06:15 PM EDT Reads: 287
Microservices are individual units of executable code that work within a limited framework. They are extremely useful when placed within an architecture of numerous microservices. On June 24th, 2015 I attended a webinar titled “How to Share Share-Nothing Microservices,” hosted by Jason Bloomberg, the President of Intellyx, and Scott Edwards, Director Product Marketing for Service Virtualization at CA Technologies. The webinar explained how to use microservices to your advantage in order to deliv...
Jul. 28, 2015 06:00 PM EDT Reads: 919
Approved this February by the Internet Engineering Task Force (IETF), HTTP/2 is the first major update to HTTP since 1999, when HTTP/1.1 was standardized. Designed with performance in mind, one of the biggest goals of HTTP/2 implementation is to decrease latency while maintaining a high-level compatibility with HTTP/1.1. Though not all testing activities will be impacted by the new protocol, it's important for testers to be aware of any changes moving forward.
Jul. 28, 2015 04:00 PM EDT Reads: 136
[slides] Workloads and Public Cloud at @CloudExpo By @utollwi | @ProfitBricksUSA #DevOps #Containers #Microservices
Public Cloud IaaS started its life in the developer and startup communities and has grown rapidly to a $20B+ industry, but it still pales in comparison to how much is spent worldwide on IT: $3.6 trillion. In fact, there are 8.6 million data centers worldwide, the reality is many small and medium sized business have server closets and colocation footprints filled with servers and storage gear. While on-premise environment virtualization may have peaked at 75%, the Public Cloud has lagged in adop...
Jul. 28, 2015 04:00 PM EDT Reads: 2,178
How do you securely enable access to your applications in AWS without exposing any attack surfaces? The answer is usually very complicated because application environments morph over time in response to growing requirements from your employee base, your partners and your customers. In his session at @DevOpsSummit, Haseeb Budhani, CEO and Co-founder of Soha, shared five common approaches that DevOps teams follow to secure access to applications deployed in AWS, Azure, etc., and the friction an...
Jul. 28, 2015 03:30 PM EDT Reads: 480
The Software Defined Data Center (SDDC), which enables organizations to seamlessly run in a hybrid cloud model (public + private cloud), is here to stay. IDC estimates that the software-defined networking market will be valued at $3.7 billion by 2016. Security is a key component and benefit of the SDDC, and offers an opportunity to build security 'from the ground up' and weave it into the environment from day one. In his session at 16th Cloud Expo, Reuven Harrison, CTO and Co-Founder of Tufin,...
Jul. 28, 2015 03:00 PM EDT Reads: 457
Take the Long View with Digital Transformation By @IoT2040 | @ThingsExpo #IoT #M2M #API #Microservices #InternetOfThings
Digital Transformation is the ultimate goal of cloud computing and related initiatives. The phrase is certainly not a precise one, and as subject to hand-waving and distortion as any high-falutin' terminology in the world of information technology. Yet it is an excellent choice of words to describe what enterprise IT—and by extension, organizations in general—should be working to achieve. Digital Transformation means: handling all the data types being found and created in the organizat...
Jul. 28, 2015 03:00 PM EDT Reads: 1,060
Jul. 28, 2015 02:00 PM EDT Reads: 272
Discussions about cloud computing are evolving into discussions about enterprise IT in general. As enterprises increasingly migrate toward their own unique clouds, new issues such as the use of containers and microservices emerge to keep things interesting. In this Power Panel at 16th Cloud Expo, moderated by Conference Chair Roger Strukhoff, panelists addressed the state of cloud computing today, and what enterprise IT professionals need to know about how the latest topics and trends affect t...
Jul. 28, 2015 02:00 PM EDT Reads: 1,156
This week, I joined SOASTA as Senior Vice President of Performance Analytics. Given my background in cloud computing and distributed systems operations — you may have read my blogs on CNET or GigaOm — this may surprise you, but I want to explain why this is the perfect time to take on this opportunity with this team. In fact, that’s probably the best way to break this down. To explain why I’d leave the world of infrastructure and code for the world of data and analytics, let’s explore the timing...
Jul. 28, 2015 01:45 PM EDT Reads: 326
[video] Infrastructure as a Toolbox By @SoftLayer at @CloudExpo New York | #IoT #API #Containers #Microservices
Countless business models have spawned from the IaaS industry. Resell Web hosting, blogs, public cloud, and on and on. With the overwhelming amount of tools available to us, it's sometimes easy to overlook that many of them are just new skins of resources we've had for a long time. In his General Session at 16th Cloud Expo, Phil Jackson, Lead Technology Evangelist at SoftLayer, broke down what we've got to work with and discuss the benefits and pitfalls to discover how we can best use them to d...
Jul. 28, 2015 01:00 PM EDT Reads: 1,938
[session] The Container New World By @KeGilpin | @DevOpsSummit #DevOps #Docker #Containers #Microservices
Containers are changing the security landscape for software development and deployment. As with any security solutions, security approaches that work for developers, operations personnel and security professionals is a requirement. In his session at DevOps Summit, Kevin Gilpin, CTO and Co-Founder of Conjur, will discuss various security considerations for container-based infrastructure and related DevOps workflows.
Jul. 28, 2015 01:00 PM EDT Reads: 1,046
Microservices Total Cost of Ownership: Too Soon? By @Aruna13 | @DevOpsSummit #DevOps #Docker #Containers #Microservices
Microservices are hot. And for good reason. To compete in today’s fast-moving application economy, it makes sense to break large, monolithic applications down into discrete functional units. Such an approach makes it easier to update and add functionalities (text-messaging a customer, calculating sales tax for a specific geography, etc.) and get those updates / adds into production fast. In fact, some would argue that microservices are a prerequisite for true continuous delivery. But is it too...
Jul. 28, 2015 01:00 PM EDT Reads: 660
You often hear the two titles of "DevOps" and "Immutable Infrastructure" used independently. In his session at DevOps Summit, John Willis, Technical Evangelist for Docker, covered the union between the two topics and why this is important. He provided an overview of Immutable Infrastructure then showed how an Immutable Continuous Delivery pipeline can be applied as a best practice for "DevOps." He ended the session with some interesting case study examples.
Jul. 28, 2015 12:15 PM EDT Reads: 109
SYS-CON Events announced today that HPM Networks will exhibit at the 17th International Cloud Expo®, which will take place on November 3–5, 2015, at the Santa Clara Convention Center in Santa Clara, CA. For 20 years, HPM Networks has been integrating technology solutions that solve complex business challenges. HPM Networks has designed solutions for both SMB and enterprise customers throughout the San Francisco Bay Area.
Jul. 28, 2015 11:45 AM EDT Reads: 403
Puppet Labs has published their annual State of DevOps report and it is loaded with interesting information as always. Last year’s report brought home the point that DevOps was becoming widely accepted in the enterprise. This year’s report further validates that point and provides us with some interesting insights from surveying a wide variety of companies in different phases of their DevOps journey.
Jul. 28, 2015 10:00 AM EDT Reads: 147