Skip to main content

IBM Cambridge Research Center

  Technical Report: How a Good Software Practice Thwarts Collaboration - The Multiple Roles of APIs in Software Development

How a Good Software Practice Thwarts Collaboration - The Multiple Roles of APIs in Software Development

Technical Report #:04-15
Author(s): Cleidson de Souza, David Redmiles, Li-Te Cheng, David R. Millen, John Patterson
Category(s):Application programming interfaces, interfaces, qualitative studies, empirical software engineering
Full Citation:IGSOFT 2004 / FSE-12 : International Symposium on Foundations of Software Engineering. Copyright 2004, IBM. All rights reserved. RC 23307

Abstract

A Collaborative User Experience Technical Report: more about CUE...

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 decrease their interdependencies. This separation also decreases the dependency among software
developers implementing modules, thus simplifying some aspects of collaboration. A common instantiation of this principle is in the form of application programming interfaces (APIs). We performed a qualitative study on how practitioners use APIs in their daily work. Although particularly interested in aspects of collaboration, we report all findings about their observed use. The findings include mundane observations that are predicted by theory, ways that APIs support collaborative softwaredevelopment. But the findings also include some surprises, ways that APIs hinder collaboration. The surprises indicate directions for further improvement of collaborative software development practices and tools.


Full Report


For more information, or to order a Technical Report, contact us.