Our products can be better. However, if I fly halfway around the world, instead of the communication delay I expect due to the distance and language issues involved, I am delighted to find that I can withdraw cash from the ATM in the main hall of the Singapore airport in half the time, with fewer than half the keystrokes, and with a much greater sense of dignity. Once, I did hit the savings key by mistake, and I received a stern warning that I had screwed up, not that USBank had made a mistake in offering me that option. These issues come to a head with software. This is partially due to the complexity of software development, but also because adding extra features often seems easy-a situation that leads to feature proliferation.
Cooper shows that programmers live in a world of logic inhabited mostly by other programmers.
In this world, it is difficult for them to imagine that anyone would have difficulty in understanding how the software's logic works. Cooper offers additional tools. These are aimed at software development but could be adapted to hardware projects as well. His most powerful tool is personas. A persona is a carefully constructed description of a user, including a name, a portrait, and a description of certain idiosyncrasies that help render this individual real to the developers.