On The Roles of APIs in the Coordination of Collaborative Software Development

被引:0
|
作者
Cleidson R. B. de Souza
David F. Redmiles
机构
[1] Universidade Federal do Pará,
[2] University of California,undefined
来源
Computer Supported Cooperative Work (CSCW) | 2009年 / 18卷
关键词
interfaces; application programming interfaces; coordination; collaborative software development; software engineering;
D O I
暂无
中图分类号
学科分类号
摘要
The principle of information hiding has been very influential in software engineering since its inception in 1972. This principle prescribes that software modules hide implementation details from other modules in order to reduce their dependencies. This separation also decreases the dependency among software developers implementing these modules, thus simplifying the required coordination. A common instantiation of this principle widely used in the industry is in the form of application programming interfaces (APIs). While previous studies report on the general use and benefits of APIs, they have glossed over the detailed ways in which APIs facilitate the coordination of work. In order to unveil these mechanisms, we performed a qualitative study on how practitioners use APIs in their daily work. Using ethnographic data from two different software development teams, we identified three roles played by APIs in the coordination of software development projects. These roles are described using three metaphors: APIs as contracts, APIs as boundaries, and APIs as communication mechanisms. As contracts, APIs allow software developers to work in parallel and independently. As a communication mechanism, APIs facilitate communication among software developers by giving them something specific to talk about. At the same time, APIs establish the boundaries between developers, and, accordingly, what should be talked about. This paper also reports on problems the studied teams face when using APIs to coordinate their work. Based on these results, we draw theoretical implications for collaborative software engineering.
引用
收藏
相关论文
共 50 条
  • [1] On The Roles of APIs in the Coordination of Collaborative Software Development
    de Souza, Cleidson R. B.
    Redmiles, David F.
    COMPUTER SUPPORTED COOPERATIVE WORK-THE JOURNAL OF COLLABORATIVE COMPUTING AND WORK PRACTICES, 2009, 18 (5-6): : 445 - 475
  • [2] Application of Blockchain for Trusted Coordination in Collaborative Software Development
    Yau, Stephen S.
    Patel, Jinal S.
    2020 IEEE 44TH ANNUAL COMPUTERS, SOFTWARE, AND APPLICATIONS CONFERENCE (COMPSAC 2020), 2020, : 1036 - 1040
  • [3] Approaches to collaborative software development
    Hildenbrand, Tobias
    Rothlauf, Franz
    Geisser, Michael
    Heinzl, Armin
    Kude, Thomas
    CISIS 2008: THE SECOND INTERNATIONAL CONFERENCE ON COMPLEX, INTELLIGENT AND SOFTWARE INTENSIVE SYSTEMS, PROCEEDINGS, 2008, : 523 - 528
  • [4] Investigating the Roles of Effective Communication Among Stakeholders in Collaborative Software Development Projects
    Awotunde, Joseph Bamidele
    Ayo, Femi Emmanuel
    Ogundokun, Roseline Oluwaseun
    Matiluko, Opeyemi Emmanuel
    Adeniyi, Emmanuel Abidemi
    COMPUTATIONAL SCIENCE AND ITS APPLICATIONS - ICCSA 2020, PT VI, 2020, 12254 : 311 - 319
  • [5] Approaches to collaborative software development
    Hildenbrand, Tobias
    Rothlauf, Franz
    Heinzl, Armin
    WIRTSCHAFTSINFORMATIK, 2007, 49 : 72 - 80
  • [6] Supporting software development with roles
    Zhu, Haibin
    Zhou, MengChu
    Seguin, Pierre
    IEEE TRANSACTIONS ON SYSTEMS MAN AND CYBERNETICS PART A-SYSTEMS AND HUMANS, 2006, 36 (06): : 1110 - 1123
  • [7] Metrics Are Needed for Collaborative Software Development
    Mohtashami, Mojgan
    Ku, Cyril S.
    Marlowe, Thomas J.
    WMSCI 2011: 15TH WORLD MULTI-CONFERENCE ON SYSTEMICS, CYBERNETICS AND INFORMATICS, VOL II, 2011, : 324 - 328
  • [8] Coordination artifacts in Agile Software Development
    Zaitsev, Anna
    Gal, Uri
    Tan, Barney
    INFORMATION AND ORGANIZATION, 2020, 30 (02)
  • [9] Classifying collaborative approaches for Cloud Based Collaborative Software Development
    Ewenike, Stanley
    Benkhelifa, Elhadj
    Chibelushi, Claude
    2017 INTERNATIONAL CONFERENCE ON THE FRONTIERS AND ADVANCES IN DATA SCIENCE (FADS), 2017, : 57 - 62
  • [10] Collaborative and teamwork software development in an undergraduate software engineering course
    Raibulet, Claudia
    Fontana, Francesca Arcelli
    JOURNAL OF SYSTEMS AND SOFTWARE, 2018, 144 : 409 - 422