A case study of horizontal reuse in a project-driven organisation

This experience paper presents observations, lessons learned, and recommendations based on a case study of reuse. The case study is concerned with the development, maturation, and reuse of a business domain independent software component (horizontal reuse) in a project-driven organisation that has little previous experience with systematic software reuse. The main lessons learned are that: even though domain analysis can alleviate reuse mismatch problems one should not underestimate the technical problems that may arise when reusing; a side-effect of reuse is that software engineering knowledge is transferred within an organisation; design patterns can be as risky as they can be beneficial; and there is more to architectural mismatch than "merely" packaging mismatch.

[1]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[2]  Wojtek Kozaczynski,et al.  Toward software plug-and-play , 1997, SSR '97.

[3]  Jeffrey Allen Larry Latour If you Can't Reuse, Recycle: A Case Study of a Platform to Platform Port , 1997 .

[4]  Robert DeLine,et al.  A catalog of techniques for resolving packaging mismatch , 1999, SSR '99.

[5]  Ralph Johnson Documenting frameworks using patterns , 1992, OOPSLA 1992.

[6]  Ali Mili,et al.  Toward an Engineering Discipline of Software Reuse , 1999, IEEE Softw..

[7]  Even-André Karlsson,et al.  Software reuse: a holistic approach , 1995 .

[8]  Mary Shaw,et al.  Architectural issues in software reuse: it's not just the functionality, it's the packaging , 1995, SSR '95.

[9]  William J. Tracz Collected confessions of a used program salesman - institutionalizing software reuse , 1995 .

[10]  Rudolf K. Keller,et al.  Design and Reuse in Object-Oriented Frameworks: Patterns, Contracts, and Motifs in Concert , 1994, COODBSE.

[11]  Paul G. Bassett,et al.  Framing software reuse: lessons from the real world , 1996 .

[12]  MiliHafedh,et al.  Toward an Engineering Discipline of Software Reuse , 1999 .

[13]  M.L. Griss,et al.  Software reuse architecture, process, and organization for business success , 1997, Proceedings of the Eighth Israeli Conference on Computer Systems and Software Engineering.

[14]  Stuart I. Feldman,et al.  Make — a program for maintaining computer programs , 1979, Softw. Pract. Exp..

[15]  David Garlan,et al.  Architectural Mismatch or Why it's hard to build systems out of existing parts , 1995, 1995 17th International Conference on Software Engineering.

[16]  Peter Sommerlad,et al.  Pattern-Oriented Software Architecture , 1996 .

[17]  Yasuhiro Sugiyama Object make: a tool for constructing software systems from existing software components , 1995, SSR '95.

[18]  Henrik Bærbak Christensen,et al.  A case study of framework design for horizontal reuse , 2000, Proceedings 37th International Conference on Technology of Object-Oriented Languages and Systems. TOOLS-Pacific 2000.

[19]  Bjarne Stroustrup,et al.  C++ : programovací jazyk : The C++ programming language (Orig.) , 1997 .

[20]  Mansour Zand,et al.  Proceedings of the 1995 Symposium on Software reusability , 1995 .