This project is studying software development methods to develop general techniques that can be used to parameterize specific instances of these methods into general methods. These general methods will be evaluated in a series of experiments in order to develop an experience base of such knowledge. Software development in the future will be based upon reuse of existing products in a variety of forms. This work provides insight into the relationships between reading and writing, analysis and construction. The research focuses on: 1. Developing families of techniques based upon understanding the various documents used in a software development in order to (a) evaluate the document itself, e.g., to report defects in the document, and (b) construct other documents using an original document as a baseline, e.g., to develop a new product based upon reuse of prior products using the earlier documentation as a guide to the new development. 2. Developing a set of evaluation methods that can be used to assess technologies in the laboratory and in industrial settings. 3. Building an Experience Base of technique evaluations that can be accessed by others, who can append their own experiences with those techniques.