Wayne
C. Lim , Hewlett-Packard of California
For IS
(Information Systems) managers and engineers and anyone in the governmental and commercial
sectors responsible for software productivity and quality and project planning and
budgeting.
The active reuse of software is one of the most promising avenues for a dramatic increase
in software productivity. This handbook offers a managerial approach to software reuse --
its advantages and disadvantages, cost-justification, current reuse efforts, and
strategies to implement and deploy reuse in a corporate environment. Shows how to perform
a detailed cost/benefit analysis to determine whether software reuse is economically
appropriate for an organization; apply a proven reuse implementation strategy complete
with tools (classification scheme and software workproducts library), training tactics,
and standards; follow guidelines for incorporating reuse in each stage of the traditional
software development life cycle; and tackle tough managerial challenges such as labor
issues, productivity measurement, organizational structure, motivation/incentives for
engineers, and legal implications of software reuse.
provides
an overview of the managerial and economic issues related to software reuse.
includes
implementation strategies for effectively avoiding and solving problems arising from
software reuse.
describes
the evolution of the software reuse concept.
explains
how software reuse can provide intangible advantages and disadvantages (including
competitive advantage) when barriers to entry are raised.
offers
alternative reuse methods and discusses their tradeoffs.
1. The Software Development Crunch.
Improving
Software Productivity and Quality. References.
2.
Software Reuse-Definition, Scope, and Framework.
Basic
Definitions. Reusable Assets. A Framework for Reuse. References.
3.
Evolution of the Software Reuse Concept.
The
Industrial Revolution and the Software Development. Process-An Analogy. The Evolution of
Reuse. References.
4.
Major Trends in Reuse.
The
Upstream Value of Reuse. Trends Which Enable Software Reuse. References.
5.
Reuse in Industry.
Overview.
Industry Reuse Programs. Government Reuse Programs. Other Reuse Efforts. References.
6.
Organizational Reengineering for Reuse: A Reuse Adoption and Institutionalization Model.
A Reuse
Adoption Strategy. Summary. References. Appendix 6-A: A Survey of Reuse Adoption
Strategies. References.
7. The
Role of a Corporate Reuse Program.
Responsibilities
of a Corporate Reuse Program. Other Issues. References.
8.
Identifying Organizational Reuse Potential and Aptitude.
Reuse
Potential and Aptitude Model. Reuse Potential. Reuse Aptitude. Case Studies. Summary.
Note. References. Appendix 8-A: A Survey of Prior Research on Reuse Success Factors.
References.
9.
Selecting Pilot Projects.
Criteria
for Selecting Pilot Projects. Summary. References.
10.
Reuse Investigation.
11.
Benefits and Costs of Software Reuse.
Reuse
Benefits. Economic Benefits. Reuse Costs. Economic Costs of Reuse. Economic Savings from
Reuse. Economic Analysis for Future Assets. Summary. References.
12. A
Cost Justification Model for Software Reuse.
The
Producer and the Consumer: An Important Distinction. Net Present Value. Internal Rate of
Return Method. A Process for Conducting a Reuse Return-On-Investment Analysis. Summary.
Reference. For Further Reading. Appendix 12-A: A Survey of Reuse Economic Models.
Introduction. Note. References.
13.
Deciding on Reuse as a Strategy.
Levels of
Reuse. Competitive Software Engineering-A Process for Deciding on a Software Development
Strategy. Industry Analysis. Company and Organization Analysis. Business and Product
Strategy. Competitive Software Engineering Strategy Formulation. Summary. References.
Appendix 13-A: A Survey of Reuse and Maturity Models. References.
14.
Conducting a Reuse Assessment.
Organizational
Reengineering for Reuse Assessment (ORRA). The Assessment Process. Reuse Needs Analysis.
Reuse Gap Analysis. Reuse Potential. Reuse Metrics. Baselining and Analyzing the Process
for Reengineering. Cost/Benefit Analysis. Product Software Quality Factors. Frakes's Reuse
Failure Modes. Summary. References. Appendix 14-A: A Survey of Reuse Assessments. Summary.
References.
15. A
Reuse Vision and Mission Statement.
Creating
a Vision and Mission Statement. Examples of Reuse Vision and Mission Statements. Summary.
References.
16.
Staffing for Software Reuse.
Introduction.
Creating an Effective Reuse Environment. Roles and Responsibilities. Motivation and
Incentives. Reuse Training and Education. Summary. References.
17.
Organizational Structures for Software Reuse.
Organizational
Structures for Reuse: A Continuum. Reuse Functional Organization. Case Studies of Reuse
Functional Organizations. Reuse Project Organization. Case Study of a Reuse Project
Organization. Case Study of a Reuse Hybrid Organization. Reuse Matrix Organization. Case
Studies of Reuse Matrix Organizations. Test and Measurement Group of the Hewlett-Packard
Company. The Horizontal Reuse Organization. Summary. Acknowledgments. References. Appendix
17-A: A Survey of Prior Research on Reuse Organizational Structures.
18.
Finance and Accounting for a Reuse Program.
Introduction.
The Role of Finance and Accounting in Software Reuse. Finance. Accounting. Finance and
Accounting Issues by Scope of Reuse. Summary. References.
19.
Reuse Metrics.
Introduction.
Goals of Chapter. The Rationale for Reuse Metrics. Goal-Question-Metric Paradigm. The
Dashboard of Metrics. Key Considerations in Measuring Software Reuse. Reuse Metrics. A
Process for Identifying an Appropriate Set of Metrics. Recommended Minimal Set of Reuse
Metrics. Reuse Metrics by Scope of Reuse. Summary. References. For Further Reading.
Appendix 19-A: A Survey of Reuse Metrics. References.
20.
Marketing Reusable Software.
Reuse
Marketing Defined. The Importance of Reuse Marketing. The Market. The Product. The Price.
Distribution. Promotion. Marketing Issues by Scope of Reuse. Summary. References.
21.
Legal and Contractual Issues of Software Reuse.
Introduction.
Definitions. An Overview of Legal and Contractual Issues. Legal Issues. Implications of
Intellectual Property for Software Reuse Activities. Contractual Issues. Conclusion.
Summary. References. For Further Reading.
22.
Manufacturing Reusable Software.
Analogy
of Manufacturing to Software Development. Manufacturing Strategy. Manufacturing Concepts.
The Software Factory. Summary. References.
23.
Reuse Processes.
Definitions.
Producing, Brokering, and Consuming Assets. Tradeoffs in Software Reuse. Managing the
Reuse Infrastructure. Producing Reusable Assets. Brokering Reusable Assets. Consuming
Reusable Assets. Summary. References. Appendix 23-A: A Survey of Reuse Processes. Appendix
23-B: A Survey of Domain Analysis Approaches. Appendix 23-C: A Survey of Reusability
Guidelines.
24.
Reuse Tools.
Reuse
Library. Application Templates. CASE. Generators. Language-Based Systems. Object-Oriented.
Parameterized Systems. Software Architectures. Software Schemas. Summary. References.
Appendix 24-A: A Survey of Information Elements (Prologues). Appendix 24-B: A Survey of
Certification Levels.
25.
Implementation Strategy.
Maturation
Transaction Model. Receptivity and Commitment. Dynamics of Organizational Change. Change
Management. Technology Transfer Group of the Workshop on Software Reuse. Approaches for
Implementation. Summary. References.
26.
Monitoring and Continuously Improving the Reuse Program.
Monitoring.
Continuous Improvement. Learning and Innovation. Summary. References.
27.
Future Trends.
Introduction.
Where We Are Now. Where We Are Headed. The Future of Reuse. Summary. References. For
Further Reading. Appendix A: A Reuse Infrastructure and Implementation Plan Outline.
Software Reuse Infrastructure and Implementation Plan.