How a Good Software Practice Thwarts Collaboration - The Multiple Roles of APIs in Software Development (13 Sep 2004)
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.
Article URL: http://domino.research.ibm.com/cambridge/research.nsf/2b4f81291401771785256976004a8d13/66045ca1fc32020c85256f0e0001b7f8?OpenDocument
Read 201 more articles from IBM sorted by
Next Article: Introducing Collaboration into an Application Development Environment