SummarySoftware components and architectures are gaining considerable support as the way to develop object-oriented systems and business applications. Current developments in component-based software reuse is taking place in the context of some thirty years of history. It is as well to rehearse that history, as we do in this chapter, and draw lessons from it, lest we repeat the errors of the past.This chapter fills in the background to the rest of the book. Concepts and ideas assumed in the other chapters will be explained and set in a context which will aid the reading and understanding of those chapters. The specialist reader already conversant with the field may wish to skip this chapter, though it is hoped that even for such a reader the orientation adopted here will be informative and helpful.