Author: Alan Cooper
See it on Amazon
On my first-day as a business analyst for a large software company, my boss handed me a book and said, "Read this. It's what you're going to be doing." The title was an attention-grabber and I read through it.
Over three and a half years later, I decided to pick The Inmates are Running the Asylum back up and read it once again. I couldn't put it down. I found myself being reawakened to all the preaching, scenarios, and teachings found in this book.
The concept of the title is simple: When software projects go bad, it does indeed feel like the inmates have control of the asylum.
The concept of the book is a little more complex: Why do software projects go bad? Why are there so many failed applications out there? Why are there so many interfaces that are a pain to use?
And of course, how do you fix it all?
Interfaces that make people feel stupid
How many times have you pressed through all the necessary steps to withdraw money from an ATM only to have your card spit out with a loud beeping sound because you pressed the wrong button at some point in the six-screen process?
How many times have you used an application that had more features than you could ever use, yet you couldn't find the one feature you desperately needed?
If you answered yes to the previous two questions, then you have used an interface that broke one of the first personal goals of any user: Not to feel stupid.
The book's author, Alan Cooper, is sick of it all and he's not going to take it anymore. Although he gets preachy on this subject, his passion keeps the book entertaining while focused and informative.
Cooper says very plainly, "Technology doesn't have to be so dehumanizing." It also doesn't have to be filled with a load of features. If technology can allow people to complete their goals without making them feel stupid, then you've got something.
Programmers are not human
It could be said that programmers are not human or they're at least a whole different breed of human. Cooper goes through an in-depth look at the mind of a programmer in a very humorous manner. Having worked with programmers for over five years and even being one myself on occasion, I can vouch that Cooper's assessment of the programming mind is right on.
Several chapters are spent on this topic with some great examples to how programmers and everyday-people think differently. For example, programmers want control and will accept complexity as a trade-off whereas people want simplicity and will accept less control as a trade-off.
Programmers love reusable code, they love widgets, they love features, and they love to tinker. These are not the people you want determining your user's goals and ultimately the interaction of your software.
Introducing the Interactive Designer
The book brings forth a revolutionary idea that is still foreign to many development shops six years after this book was written. For lack of an official name, I refer to the following as the Design Triangle.
For years, applications have been programmed and designed by programmers. They talked to users or industry specialists, and created giant applications that were impossible to use.
Cooper describes programmers as liking "to add features and functions to their products. They find a creative challenge in making the program's inner workings run at a high level of efficiency. It is an expression of capability, and some technologists can be happy without ever shipping a viable product. When their employing company fails, they merely switch jobs. Their individual success is independent of their success of the business."
On the other side of the Triangle, you have the businesspeople. They like to "own market share and sell lots of product. They find a challenge in motivating people to buy their product. It is an expression of viability, and some businesspeople can be happy without ever shipping a technically sophisticated product. Most businesspeople would be quite satisfied to sell pet rocks, as long as they sold lots of them."
The Design Triangle offers a third person into the equation: The Interaction Designer. I've heard many terms for this role including Interface Designer, Business Analyst, and Functional Architect. Whatever you want to call them, this third role is responsible for taking a "product that (a) can be built and performs well, (b) can be distributed and sold profitably, and makes it a success by (c) making it into something that people really want."
The Interaction Designer is missing piece in the puzzle to a successful product. Before a single line of code is written, the Interaction Designer spends time with potential users, programmers, and industry specialists. He comes up with personas, product goals, and ultimately a design.
In the end, the Interaction Designer is responsible for producing highly detailed documents that explain exactly what the product is going to be when the project is over. This gives programmers an exact blueprint of what they need to build, marketers now know what they are selling, and managers can better plan for everything.
This book offers dozens of strong cases for having Interaction Designers and a managed process that includes designing a product in great detail before it is coded. There are also some great ideas on how to get programmers, management, and users to buy into and get involved in the design process. After all, if you can't get the programmers to work with you, creating pretty documents for them is pointless.
While I would recommend this book to anyone who is interested in being a part of a successful software project, it is lacking some samples of what a detailed design document would look like. Cooper offers several chapters on personas, but nothing official on final document sent to the programmers to code from.
Hopefully, that is another book planned for the future.
About Alan Cooper
Alan Cooper is a seasoned veteran in the technology world. In 1988, he sold a visual programming language that, when combined with Microsoft's QuickBasic product, became Visual Basic. Starting off as a programmer, he moved into the world of Interaction Design. His company known as Cooper is responsible for providing interaction design services to big companies such as HP, Sun, and AT&T to name a few.
Related links:
See it on Amazon
Seven Habits of Highly Engineered People |