Software reuse is big business. Managers of software houses know that reuse can bring financial rewards to their company, so long as effective reuse procedures are in place. Many companies are now starting their own reuse libraries. However, how can they decide what constitutes a resusable component? How can they measure the potential reusability of a component? And what guidelines can developers take to ensure they are developing reusable software? Through surveys and experiments, this paper identifies the factors relating to the reusability of code and presents a reusability metric for object-oriented software, suggesting that this could be used by software houses in their reuse programmes.