Underspecification in External Representations
and Software Usability
Human-Computer Interaction Laboratory, Department of Computer Science
Queen Mary and Westfield College, University of London,
London E 1 4NS, UK
Given that a user is a primary source of task knowledge and requirements, the developer must act as a catalyst for the synthesis of requirements from the user's situated task knowledge. In order to derive an understanding of the requirements for the system which arise from the situation, the developer must first derive an understanding of the situation itself. While simply giving developers access to users, as a passive on-line source of information, may well go some way towards facilitating this process, substantive improvement may require more direct and active user cooperation with developers.
At the heart of cooperative, or participatory, development is the assumption that active user participation in software development should facilitate the integration of users' requirements and task knowledge into the software design (see Schuler and Namioka, 1993). The sharing of users' requirements and task knowledge demands a shared vocabulary and shared representations between users and developers. The user cannot be expected to provide these and so they must be introduced and used with guidance from the developer to produce a directed dialogue between developer and user. The result of this process is shared understandings, or common ground ( Clark, 1996), between user and developer.
The work reported in small part here adopted a systems development approach of active user-developer cooperation throughout the development lifecycle