\begin{abstract}
Optimization is an integral part of any competitive activity. In software engineerng, optimization
is often sought in development processes, procedures and techniques that allow for quality
software at the most economic price in the shortest time possible. One of such technques
is software reuse.
In literature, scholars have consistently claimed that software reuse may have important benefits including
saving developmet time and effort and improve software quality. Practitioners, on the other hand have had mixed
results and have reported cases where reuse resulted in failure. It may be that software reuse does not work
in all software development projects and perhaps some characteristics of a particular project makes it more likely
to benefit from software reuse. This premise is the basis of our research.  We employ
process simulation and AI search methods to compare the effects of process improvement changes 
including software reuse on two NASA case studies. In one case, 
two generations of reuse were as good or better than any other
project change.
In another case, applying reuse to a project was demonstrable worse than several other 
possible changes, even worse than developing the system from scratch.

We conclude that
the general claims regarding the benefits
of software reuse do not hold for specific projects. We then explore the
characteristics that make a project suitable for reuse making it easier to
evaluate the merits of software reuse for a given  project.
AI search over process models is useful for such assessment and exploration, particularly when
there is not sufficient data for precisely tuning a simulation model.

{\bf Keywords:} Software Reuse, COCOMO, COQUALMO, AI search
\end{abstract}
