“Computing” Requirements for Open Source Software: A Distributed Cognitive Approach

Xuan Xiao, Aron Lindberg, Sean Hansen, Kalle Lyytinen

Research output: Contribution to journalArticlepeer-review

15 Scopus citations

Abstract

Most requirements engineering (RE) research has been conducted in the context of structured and agile software development. Software, however, is increasingly developed in open source software (OSS) forms which have several unique characteristics. In this study, we approach OSS RE as a sociotechnical, distributed cognitive process where distributed actors “compute” requirements— i.e., transform requirements-related knowledge into forms that foster a shared understanding of what the software is going to do and how it can be implemented. Such computation takes place through social sharing of knowledge and the use of heterogeneous artifacts. To illustrate the value of this approach, we conduct a case study of a popular OSS project, Rubinius—a runtime environment for the Ruby programming language—and identify ways in which cognitive workload associated with RE becomes distributed socially, structurally, and temporally across actors and artifacts. We generalize our observations into an analytic framework of OSS RE, which delineates three stages of requirements computation: excavation, instantiation, and testing-in-the-wild. We show how the distributed, dynamic, and heterogeneous computational structure underlying OSS development builds an effective mechanism for managing requirements. Our study contributes to sorely needed theorizing of appropriate RE processes within highly distributed environments as it identifies and articulates several novel mechanisms that undergird cognitive processes associated with distributed forms of RE.

Original languageEnglish
Pages (from-to)1217-1252
Number of pages36
JournalJournal of the Association for Information Systems
Volume19
Issue number12
DOIs
StatePublished - 2018

Keywords

  • Case Study
  • Distributed Cognition
  • Heuristics
  • Open Source Software Development
  • Requirements Engineering
  • Ruby Programming Language

Fingerprint

Dive into the research topics of '“Computing” Requirements for Open Source Software: A Distributed Cognitive Approach'. Together they form a unique fingerprint.

Cite this