Research Article
A Collaboration Model for Community-Based Software Development with Social Machines
@INPROCEEDINGS{10.4108/icst.collaboratecom.2014.257245, author={Dave Murray-Rust and Ognjen Scekic and Hong-Linh Truong and Dave Robertson and Schahram Dustdar}, title={A Collaboration Model for Community-Based Software Development with Social Machines}, proceedings={10th IEEE International Conference on Collaborative Computing: Networking, Applications and Worksharing}, publisher={IEEE}, proceedings_a={COLLABORATECOM}, year={2014}, month={11}, keywords={social machines scu lsc crowdsourcing}, doi={10.4108/icst.collaboratecom.2014.257245} }
- Dave Murray-Rust
Ognjen Scekic
Hong-Linh Truong
Dave Robertson
Schahram Dustdar
Year: 2014
A Collaboration Model for Community-Based Software Development with Social Machines
COLLABORATECOM
IEEE
DOI: 10.4108/icst.collaboratecom.2014.257245
Abstract
Today's crowdsourcing systems are predominantly used for processing independent tasks with simplistic coordination. As such, they offer limited support for handling complex, intellectually and organizationally challenging labour types, such as software development. In order to support crowdsourcing of the software development processes, the system needs to enact coordination mechanisms which integrate human creativity with machine support. While workflows can be used to handle highly-structured and predictable labour processes, they are less suitable for software development methodologies where unpredictability is an unavoidable part the process. This is especially true in phases of requirement elicitation and feature development, when both the client and development communities change with time. In this paper we present models and techniques for coordination of human workers in crowdsourced software development environments. The techniques augment the existing Social Compute Unit (SCU) concept---a general framework for management of ad-hoc human worker teams---with versatile coordination protocols expressed in the Lightweight Social Calculus (LSC). This approach allows us to combine coordination and quality constraints with dynamic assessments of software-user's desires, while dynamically choosing appropriate software development coordination models.