Software re-use is something that everyone claims to strive for. But what counts as re-use and how can it be achieved?
The ultimate goal of re-use is to be able to use source code across multiple projects without the need for code changes.
The key question I would like to address is how to get there. What guiding principles must be observed to encourage the development of re-usable software?