Establishing Maintainability in Systems Integration: Ambiguity, Negotiations, and Infrastructure

This paper investigates how maintainability can be established in system integration (SI) projects where maintainers have no direct access to the source code of the third-party software being integrated. We propose a model for maintainability in SI focusing on post-release activities, unlike traditional maintainability models where focus is on pre-release activities. Our model describes maintainability as a process characterized by ambiguity and negotiation that is supported through an infrastructure of debugging and coordination tools. Further, we describe how the process going from a software failure to establishing the fault causing the failure can be managed in SI. The results presented in this paper are based on observations from an ethnographic study of the Gentoo open source software (OSS) community, a large distributed volunteer community of over 320 developers developing and maintaining a software system for distributing and integrating third-party OSS software packages with different Unix versions

[1]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[2]  B. Walters Understanding Open Source Software , 2006 .

[3]  Fredrik Ericsson,et al.  Information Systems Integration , 2001, ICEIS.

[4]  M. Alvesson Knowledge Work And Knowledge-Intensive Firms , 2004 .

[5]  James Martin,et al.  Software Maintenance: The Problem and Its Solutions , 1983 .

[6]  Ioannis Stamelos,et al.  Open source software development should strive for even greater code maintainability , 2004, CACM.

[7]  Stephen R. Schach,et al.  Determining the Distribution of Maintenance Categories: Survey versus Measurement , 2003, Empirical Software Engineering.

[8]  Giancarlo Succi,et al.  An empirical study of open-source and closed-source software products , 2004, IEEE Transactions on Software Engineering.

[9]  Giuliano Antoniol,et al.  Dynamic model for maintenance and testing effort , 1998, Proceedings. International Conference on Software Maintenance (Cat. No. 98CB36272).

[10]  Werner Vogels,et al.  Web Services Are Not Distributed Objects , 2003, Int. CMG Conference.

[11]  Meir M. Lehman,et al.  Characteristics of Large Systems , 1978 .

[12]  Andreas Zeller,et al.  Why Programs Fail: A Guide to Systematic Debugging , 2005 .

[13]  John Law,et al.  Notes on the theory of the actor-network: Ordering, strategy, and heterogeneity , 1992 .

[14]  Albert Endres,et al.  An analysis of errors and their causes in system programs , 1975, IEEE Transactions on Software Engineering.

[15]  Joseph Robert Horgan,et al.  Reliable software and communication: software quality, reliability, and safety , 1993, Proceedings of 1993 15th International Conference on Software Engineering.

[16]  Michael D. Myers,et al.  A Set of Principles for Conducting and Evaluating Interpretive Field Studies in Information Systems , 1999, MIS Q..

[17]  Albert Endres An Analysis of Errors and Their Causes in System Programs , 1975, IEEE Trans. Software Eng..

[18]  Janice Singer,et al.  Studying Software Engineers: Data Collection Techniques for Software Field Studies , 2005, Empirical Software Engineering.

[19]  Paul Clements,et al.  Software Architecture in Practice: Addison-Wesley , 1998 .

[20]  Brian Fitzgerald,et al.  Understanding open source software development , 2002 .

[21]  Wing Lam,et al.  An enterprise integration methodology , 2004, IT Professional.

[22]  G. Kerr Quality factors. , 1988, Health physics.

[23]  Barry W. Boehm,et al.  COTS Integration: Plug and Pray? , 1999, Computer.

[24]  Wilhelm Hasselbring,et al.  Information system integration , 2000, CACM.

[25]  James A. Senn,et al.  System structure and software maintenance performance , 1989, Commun. ACM.