J. Altmann, R. Plösch, How do teams shape objects? How do objects shape teams?, Workshop Position Paper, OOPSLA '94, Portland, USA, October
It is characteristic for object-oriented development to use the same underlying thought model throughout the entire software life-cycle. This promises a simple transition between analysis, design and implementation and reduces semantic gaps between them. Well-designed class libraries and application frameworks are of vital importance to enhance reusability of existing software components. In order to take advantage of a class library or application framework it has to be kept up-to-date. In large scale-reuse, such class libraries or application frameworks will be used by many programmers and can be viewed as a shared resource. The management of class libraries or application frameworks arises a lot of problems like class naming, modifying existing classes within a library, maintaining historical versions of libraries, etc. The administrative effort also depends on the number of different class libraries and the number of projects that are based on them. The promised benefits of object-oriented technology for application development not only depend on the availability of object-oriented languages in an efficient and well-suited programming environment or on the availability of a well-designed application framework but in particular on the adoption of the object-oriented philosophy by technicians (analysts, programmers and designers) and managers. New communication strategies and team structures have to be established accompanied by an ego-less programming style and a climate of selflessness. Component reuse has to be brought under control of the project management and has to be established as a long-term company goal. The following life-cycle model takes the process of deriving and validating reusable classes into account. Furthermore, a management model will be presented which incorporates a company-wide reuse orientation.