I’ve grown up reading Tom Clancy and probably most of you have at least seen Red October, so this book caught my eye when browsing used books for a recent trip. It’s a fairly human look at what’s involved in sailing on a Trident missile submarine…
According to Wikipedia:
Crowdsourcing is the process of obtaining needed services, ideas, or content by soliciting contributions from a large group of people, and especially from an online community, rather than from traditional employees or suppliers.
Every DBA must have googled something to address his/her technical issue, and broadly speaking, this can be considered as using crowdsourcing for work purpose. But this is a very light way of crowdsourcing. To me, a real high-quality and serious crowdsourcing for database administration needs to be treated as a real project with planning, timeline, goals, budget and some senior DBA resources. The key to success is on that senior DBA who should be able to design a needed system and divide it into small logical units that are suitable for crowdsourcing.
Some advantages for crowdsourcing in database administration can be:
1. Scalability in database administration capacity: we can harvest the wisdom of the online community to increase our productivity and efficiency instead of relying on more man-hours to meet increased business requirements.
2. Cost control: DBA work is not cheap, yet finding the quality resource is still challenging most of the time. With proper crowdsourcing, we can minimize the cost and reduce the burn-outs of existing DBAs.
3. Work Quality Control: Through paid crowdsourcing channels (such as topcoder.com), we can usually award the task to the best rated bidder for the work. Through non-paid crowdsourcing (like stackoverflow.com), people will vote for the best answer, and this is like a quality control feature free to everyone.
4. Potential big time saving: In database administration, there are quite some very impressive open-sourced tools, which, if used properly, may save us huge amount of time. To develop these free tools alone may easily cost an excellent senior DBA hundreds (if not thousands) of hours.
Currently, crowdsourcing does not attract much attentions from IT leaders. I think it is mostly because of a few hurdles listed below:
1. Lack of crowdsourcing management professionals: crowdsourcing itself is mainly rooted in online community, but we have vast number of channels for crowdsourcing opportunities, such as twitter, linkedin, stackoverflow, experts’ personal blogs, and various online forums under specific websites (in sql server domain, we have MS forums, and SSC forums etc), and also those professional conferences (such as PASS annual conference) can be a good channel as well. To manage crowdsourcing channels, we need people to know what to ask and how to ask in each different channel and can engage in constructive conversations with online community, and at the end, the senior DBA resource should be able to assemble everything together to make the whole solution work. This is no easy work.
2. Hard to trace responsibility: if I start a crowdsourcing project and it fails, who should take the responsibility? The online community or myself? But on the other hand, if I am assigned a specific project, if the project fails, it is my sole responsibility, thus easy for management to manage.
Crowdsourcing administration does not necessarily mean easy or inexpensive especially for small project, but crowdsourcing can be a good way to amplify the capacities of existing resources, and maximize investment in technical project. Most important, it can reduce the dependency on hiring more qualified staff to start work.
Maybe in future, we will some 3rd party companies dedicated to such crowdsourcing project and then sell the service / solution or product to other companies.