Effective work practices for Open Source Software development

Summary

We propose a study to address the general research question: what practices make some Free/Libre Open Source Software (FLOSS) development teams more effective than others? To answer this question, we propose a three-phase social science study identifying and comparing the work practices of more and less effective FLOSS development teams. The proposed research will be guided by an advisory board of FLOSS developers to ensure relevance and to help promote diffusion of our findings into practice.
As a conceptual basis for our study, we draw on Hackman’s [1] model of effectiveness of work teams. Following on work by Crowston and Kammerer [2], we also use coordination theory [3] and collective mind [4] to extend Hackman’s model by further elaborating team practices relevant to software development. The literature on shared mental models, collective mind theory [4] in particular, focuses our attention on actions that develop and exhibit shared understandings. Coordination theory [3] suggests identifying tasks, interdependences among tasks and resources and the coordination mechanisms that are adopted.
The proposed study has three phases. During Phase I, we will conduct a census of FLOSS projects in order to identify 1) development teams of interest and 2) concepts and relationships that seem promising for further in-depth study. During Phase II, we will conduct an in-depth multiple case study [5] on a small number of distributed FLOSS development teams (approximately 8) to test and extend the model developed in this proposal. During Phase III, we will collect and analyze data on hundreds of teams using the metrics and tools developed in Phase II, in order to generalize those findings. Phase III will also include a developer survey. Data considered will include project and developer demographics, interaction logs, code, interviews, observation and participant observation. Data will be analyzed to describe software development practices and processes, team social networks, and shared mental models of developers. Throughout the three phases we plan to check our design and preliminary results with frequent engagement with the FLOSS community through a project advisory board.

AttachmentSize
PDF icon NSF2004.pdf1.58 MB