TY - JOUR
T1 - “Computing” Requirements for Open Source Software
T2 - A Distributed Cognitive Approach
AU - Xiao, Xuan
AU - Lindberg, Aron
AU - Hansen, Sean
AU - Lyytinen, Kalle
N1 - Publisher Copyright:
© 2018 by the Association for Information Systems.
PY - 2018
Y1 - 2018
N2 - 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.
AB - 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.
KW - Case Study
KW - Distributed Cognition
KW - Heuristics
KW - Open Source Software Development
KW - Requirements Engineering
KW - Ruby Programming Language
UR - http://www.scopus.com/inward/record.url?scp=85061966065&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85061966065&partnerID=8YFLogxK
U2 - 10.17705/1jais.00525
DO - 10.17705/1jais.00525
M3 - Article
AN - SCOPUS:85061966065
SN - 1558-3457
VL - 19
SP - 1217
EP - 1252
JO - Journal of the Association for Information Systems
JF - Journal of the Association for Information Systems
IS - 12
ER -