This paper reports on a observational study and 2 experimental studies of the design process deriving from our interest in improving the design of computer software. A model of design is developed from these studies. This consists of 3 interacting processes: goal elaboration, design generation and design evaluation. The experimental studies show that design specifications are often incorrect and incomplete with different designers paying more or less attention to different aspects of the design. Finally, from the design model and the results of the experimental studies, a number of aids to the design process are developed and discussed. © 1980, Academic Press Inc. (London) Ltd.. All rights reserved.