1. Process patterns are abstractions of recurring processes and components that help develop object-oriented software. They range from general techniques to specific tasks and activities, ordered from least to most abstract. Examples include creational, structural, and behavioral patterns. 2. Software estimation models and techniques help achieve reliable cost and effort estimates during project planning. Estimation models include algorithmic and non-algorithmic models. Techniques include expert judgment, analogy, and parametric modeling. 3. An empirical software solutions company faced challenges like a lack of standardized development processes and documentation. Suggestions included introducing a reuse framework, gaining management support, and setting up a reuse program with associated costs and risks. Software reuse classifications and