Have you ever observed the following situation? A computer system is built to satisfy well-specified requirements. The requirements clearly describe the task to be supported, and the system satisfies them. Despite all this care and attention, the system is universally condemned by management and users. Why does this happen? Surprisingly often, the task supported is not one that users actually perform. More likely, the model of work underlying the computer system interferes with other tasks the user wants to perform.