Reuse Requires Architecture

Reuse has long been a goal of software engineering, offering reduced costs coupled with increased reliability. However, although we are starting to hear stories of projects and organisations who have achieved significant levels of reuse, many still find those levels difficult, if not impossible, to obtain. In this chapter we look at reuse from the point of view of software architecture, and show how architecture holds the key to significant software reuse and the corresponding business benefits.