Sunday, May 3, 2009

The Inmates Are Running The Asylum

Source
"The Inmates are Running the Asylum" by Alan Cooper

This book seems to be for managers of software companies. Alan Cooper states that computers are spreading throughout every business field, so software design is getting more important. The title comes from the belief that software engineers are running the software company. No matter what the upper management say, the software programmers have the final say in how the program will be implemented. Although I was not aware of this, it does make sense. The managers usually are too busy to deal with the code.

In the first part, he describes how if you include a computer in everyday objects, you will get a computer back. He describes cognitive friction as the "resistance encountered by a human intellect when it engages with a complex system of rules that change as the problem changes" and states that software interaction is very high in cognitive friction. He also coins the term, dancing bear, which represents something that does a lot, but really meets none of the requirements.

He stresses putting interaction design before programming in the product design phase, so it would go design->programming->user test / bug test ->tweak. This would save money in the long run, but it would take much more time. He equates it with the movie industry, where preplanning could take years and implementing the plan would take a relatively short time. The problem with this is that managers usually put unreasonable deadlines on the programmers. They don't seem to realize that the consumer would be more angry at a unfinished product, not a late released product. An unfinished product would do more to lower consumer loyalty. The typical problems with softare is that software forgets, software is lazy, software gives too much info, software is inflexible, software blames users, and software won't take responsibility.

He calls us Homo Logicus, which separates us from normal humans. I kinda agree with that statement, although I believe that something similar could apply to other disciplines such as the sciences and math. Also, he compares us with jocks from secondary schools and how the table is turned on our old tormenters.

To design good interaction design. we need to design for pleasure. Instead of trying to create one program for everyone, design for one subgroup and make them very happy. To do this, we need personas. We also need to design for power. We need to design based on goals, not tasks. The most important goal is personal goals and need to be careful of false goals. As a tie in with "The Media Equation" we can make software polite, which would be interested in the user, deferential to the user, is forthcoming, has common sense, anticipates user needs, is responsive, is taciturn about its personal problems, is well informed, is perceptive, is self-confident, stays focused, is fudgable, gives instant gratification, and is trustworthy. Finally, they need to design for people by using scenarios. Daily use scenarios would be the most important since those would most likely happen. One problem that programmers have is that we try too hard focus on the fringe cases.

Commentary
Overall, I think this is a good book and should be required for software engineering since that would've helped the project in there. I never thought of the fact that programmers have a lot of clout in the programs they design, but it makes sense since they own the code, and managers don't want to get rid of the good programmers. The design principles (design for people, pleasure, and power) is very important and the personas, personal goals, and use of daily scenarios could really help when I am assigned to projects in the future. Also, I never would've considered that I act like a jock with my computing knowledge, not strength.

2 comments:

  1. I agree, required. why make software if you can't use it

    ReplyDelete
  2. This should be THE BOOK for software engineering, you could not be more correct. It teaches almost everything you need to know, at least at some level.

    ReplyDelete