Copyright: 1998
Publisher: The MIT Press
ISBN: 0-262-11227-2

I have to admit that I get pretty geeked up about books like this one!  In Sources of Power: How People Make Decisions, Gary Klein addresses a phenomenal array of questions and issues surrounding the stated topic.  Even though the book is written in the style of a research report, it is sprinkled with enough fascinating anecdotes that it will keep your interest even if you don't like his style.  The stories make the reading easy, but Klein's approach to the material makes it interesting and well worth the read.

Ready To Act

The Recognition Primed Decision model is one that gets a lot of attention in the book.  The idea is that the key driver of good decisions is past experience.  Typically the b-school model of decision making is to define the problem, analyze alternatives and then implement a solution.  During Klein's research of subjects making decisions under time pressure he discovered that quite often they did not truly analyze alternatives.  In fact, in most cases, the decision maker rarely compared two alternatives against each other, but rather considered each on its own merit and if it seemed like the right one, no more alternatives would be considered. 

In this model, a decision maker consideres a situation and tries to determine if it is familiar... do any past experiences come close to the situation?  If so an alternative based on the past experience will be considered and a mental model built of how it will be implemented.  Once a workable solution is discovered, implementation begins immediately.  The emphasis here is on being poised to act rather than analyzing every alternative.

While most of Klein's research revolved around time pressured, high stakes decision making, he discovered that the same processes are used in the day to day routine decisions that executives and line workers make every day.  Even though we may have been taught to compare and contrast alternative solutions and do our SWOT (Strengths Weaknesses Opportunities & Threats) analysis, in real life this is rarely done. 

One of the things I like about Agile software development is that the concepts seem to be built around this notion of being "poised to act".  Placing a higher value on working software than on designed software takes advantage of our natural (or perhaps nurtured!) decision making model.  In other words, rather than spending weeks and months considering alternative designs up front, you start out with some requirements and you start coding them up.  As you go along, you are constantly making decisions and experienced developers will recognize situations from their past.  Then as they consider alternatives, they will quickly come across workable solutions and implement them.  Placing this level of trust in the developer to make time pressured, high stakes decisions on the fly takes a bit of faith on the part of project managers but it is the same faith that is placed in fire fighters and soldiers to make decisions in their domain.  One interesting mental note that I made as I read the book was "and in the case of software... it is pretty rare that a bad decision will cost anyone their life." 

Developing good intuition

Often we think of intuition as something that we are either born with or not.  The truth is that intuition derives its power from the Recognition Primed Decision model.  The more experiences we have faced in the past, the better our intuition will be about the current situation.  As Klein says, "if you want people to size up situations quickly and accurately, you need to expand their experience base."  This means stretching people beyond their current domain.  In terms of self improvement it means tackling new challenges or perhaps old challenges in new ways. 

In his book, Klein includes a large number of examples from the extensive research he and his team developed.  One such example was a fire commander who believed he had a "sixth sense" about things.  One of the experiences which convinced him of this was a simple house fire in which he led his crew to the back of the house to knock down the kitchen fire.  After hitting the fire, it roared back to life which struck the lieutenant as odd.  They hit it again and the same thing happened.  Without knowing why, the commander felt something was wrong and he pulled his men out of the house.  Moments later the floor on which they had been standing collapsed. 

Now, rather than having a "sixth sense" the commander actually was responding to some things he recognized without knowing.  First, the fire did not react as he had expected.  In addition, the living room was hotter than he would have expected and finally it was a very quiet fire for the amount of heat it was generating.  Although he had no indication whatsoever that the fire was actually in the basement rather than just the kitchen, he had enough clues that he recognized to make the decision to pull out.  All of these clues were things that he had learned over the course of fighting many fires and collectively they made up his "sixth sense" or his intuition.

Six Steps to a better life

We have all heard of the 12 step program and the 10 commandments, but how many of us can name all of them?  Even those raised in church have a difficult time with the first ten Mosaic laws and not many people who do not actively attend meetings can tell you the 12 steps. 

This is important because in the process of building mental models to assist in making our decisions, we must build them through steps.  We think through an alternative by saying "Ok first I do this, then this happens, then I need to do this...."  Klein's research indicates that most people have a limit of six steps that they can effectively remember in building these mental models. 

This is important in many places but in software development it may have an interesting correlation to a metric that many find useful.  Cyclomatic Complexity is a metric that is used to determine the number of paths through a particular piece of code.  It is considered by some to be a good indicator of the likelihood of finding a bug in a module.  Perhaps this is because each branch in the path is an extra mental step that a programmer has to keep in his or her head in order to build the mental model of how the code will work.  Andrew Binstock, who I recently had the privilege of meeting at the Denver Continuous Integration and Testing Conference (CitCon) wrote an article in SDTimes recently that leads to a different conclusion with regard to cyclomatic complexity, but the idea is still an interesting one to contemplate when considering code complexity. 

 My Ideas are Always the Best

One problem associated with building mental models to make our decisions is that quite often we fall in love with our mental model.  We tend to think that "this is the best possible solution and nothing could ever go wrong!"  Of course this can lead us into some bad decisions if we don't take proper care.

One strategy that Klein suggests in his book is what his team calls the "pre-mortem".  When faced with a decision and an alternative that you just love, follow this mental exercise.  Assume first that you choose your wonderful alternative and assume second that it fails.  if you were sitting in a room after the failure doing a post-mortem, what would you be talking about?  This notion of forcing yourself to think of what might have gone wrong flips the problem on its head and makes you think about things that you wouldn't otherwise given how much you love your new idea. 

Functions of Planning

An interesting chapter in the book is "Nonlinear aspects of problem solving" towards the end of which Klein addresses planning as a problem solving activity.  He lists some of the functions of a planning meeting which include:

  1. Directing and coordinating actions of team members
  2. Developing shared situation awareness
  3. Generating expectancies
  4. Supporting improvisation (everyone is working towards the same goal, not just doing a list of tasks)
  5. Detecting inconsistencies (last time we said we would do this and it didn't work...)
  6. Establishing time horizons
  7. Shaping the thinking of planners
What is an Expert?

If you watch the evening news and see the "experts" that are paraded across the screen, you might come to the conclusion that an expert is simply someone that used to be a "pert".  Klein offers a different perception of what an expert is:

  1. Someone who recognizes patterns
  2. A person who can distinguish true anomalies from incidentals
  3. Someone with a view of the big picture
  4. An individual with an understanding of how things work
  5. Someone who can see opportunities for improvisation rather than simply following the plan
  6. A person who recognizes events that are likely to occur or have already happened that will impact a decision
  7. Someone who notices seemingly imperceptible differences in the problem domain
  8. An individual who recognizes his or her own limitations

In addition, Klein points out that experts are not necessarily people with all of the information in their head.  They are quite often the person who has great skill in information seeking though, they know when and what to look for when faced with a situation.

Communicating Goals

Once you develop a goal and decide to work towards it, the next step is to communicate that goal to your team.  Klein offers 7 pieces of information that are often necessary for this communication to be effective:

  1. Purpose of the task (higher level goal)
  2. Objective of task (image of desired outcome)
  3. Sequence of steps
  4. Rationale
  5. Key decisions that must be made
  6. Antigoals (what don't you want to happen)
  7. Constraints
 Conclusion

There is simply no way to condense everything I learned from this book into a single posting.  This book is a must read for anyone who deals with daily decision making either at work or in your personal life.  I would strongly and heartily recommend this book and it is one that is going into my personal and permanent library.