If you want to make software developers squirm, force them to watch people using their software.
At the Eighth International Python Conference, HCI (human/computer interaction) expert Dr. Randy Pausch talked about doing just that for his educational software project, Alice. Patrick Phalen, a developer who attended Pausch’s talk, recalls: “I vividly remember laughing out loud when Randy described the extreme methods they used to get their users to adopt beginner’s mind. They required developers to sit on their hands in chairs behind newbies to observe them gaining familiarity with Alice. They were not allowed to reach over and commandeer the mouse or keyboard.”
Developers who possess deep but tacit knowledge of complex hardware and software environments are notoriously unable to project themselves into the beginner’s mind. Observation is the only way to bridge the gap....
It’s still hard for developers to watch this stuff. We have had a tendency to spare them the pain -- and to sacrifice the gain -- because connecting developers to users in this way has not often been practical. This new generation of tools aims to close that critical feedback loop, thereby helping developers figure out what ease-of-use really means to users.