The main problem in development with reuse is to know when to reuse. Is the effort to search for, evaluate, understand and possibly adapt a reusable component less than the effort used to develop it from scratch? Note that the process of reusing a component is divided into clearly separated steps, where each step requires effort. The savings for the reused components, must cover all these steps (also for the instances where we stopped the process discarding all candidate components) as well as the investment in developing the reusable components.