This article is both theoretical and empirical.
Theoretically, it describes three principles of system design
which we believe must be followed to produce a useful and
easy to use computer system. These principles are: early and
continual focus on users; empirical measurement of usage;
and iterative design whereby the system (simulated,
prototype, and real) is modified, tested, modified again,
tested again, and the cycle is repeated again and again. This
approach is contrasted to other principled design
approaches, for example, get it right the first time, reliance
on design guidelines. Empirically, the article presents data
which show that our design principles are not always
intuitive to designers; identifies the arguments which
designers often offer for not using these principles-and
answers them; and provides an example in which our
principles have been used successfully