One key aspect of software projects is the ability to make good decisions. At the project management level, there is a healthy tension between what can be delivered, by whom, and when (with budgets looming in the background!). Even architects, designers, and developers grapple with making critical day-to-day decisions while balancing goals such as performance, security, usability, and maintainability. Testing can surface interesting and critical decision points for management: Is a product ready for release?
The quality of these decisions affects if projects can be successful. Here are some interesting links I found around the psychology of decision making:
This is an excellent interview with Nobel laureate Daniel Kahneman and psychologist Gary Klein. There are lots of interesting nuggets that can be useful. The idea I liked the most and can be used almost immediately is the premortem technique advocated by Gary Klein.
Gary Klein: The premortem technique is a sneaky way to get people to do contrarian, devil’s advocate thinking without encountering resistance. If a project goes poorly, there will be a lessons-learned session that looks at what went wrong and why the project failed—like a medical postmortem. Why don’t we do that up front? Before a project starts, we should say, “We’re looking in a crystal ball, and this project has failed; it’s a fiasco. Now, everybody, take two minutes and write down all the reasons why you think the project failed.”
The logic is that instead of showing people that you are smart because you can come up with a good plan, you show you’re smart by thinking of insightful reasons why this project might go south. If you make it part of your corporate culture, then you create an interesting competition: “I want to come up with some possible problem that other people haven’t even thought of.” The whole dynamic changes from trying to avoid anything that might disrupt harmony to trying to surface potential problems.
An excellent interview with Gary Klein that discusses his insights after extensive studies of people who make do-or-die situations.
“I noticed that when the most experienced commanders confronted a fire, the biggest question they had to deal with wasn’t ‘What do I do?’ It was ‘What’s going on?’ That’s what their experience was buying them — the ability to size up a situation and to recognize the best course of action.”
“Experienced decision makers see a different world than novices do,” concludes Klein. “And what they see tells them what they should do. Ultimately, intuition is all about perception. The formal rules of decision making are almost incidental.”
“We used to think that experts carefully deliberate the merits of each course of action, whereas novices impulsively jump at the first option,” says Klein. But his team concluded that the reverse is true. “It’s the novices who must compare different approaches to solving a problem. Experts come up with a plan and then rapidly assess whether it will work. They move fast because they do less.”
A solid checklist from Scott Berkun that most project teams can use to get unstuck. The checklist is in the form of questions and it can spur good thinking. I liked the following questions in the list:
What problem is at the core of the decision? Decisions often arise in response to new information, narrowing your thinking on what the decision actually is. Someone might realize “We’ don’t have time to fix all 50 issues before launch”, which sets many managers off in frantic scramble to hand pick which to fix. But a better, and less narrow problem, is “we don’t have a criteria for triaging issues”. Deciding on that criteria will make dozens of other decisions easier and delegatable. Ask questions like: What caused this problem? Is it isolated or will we deal with this again? Did we already make this decision? If so, do we truly have grounds for reconsidering it?
Who has the expert opinion? (Is this really my decision?). Just because someone asks you to decide doesn’t mean you’re the best person to make the call. Often the best decision possible is to delegate it to someone better able to make the decision. Or to at least pause the proceedings until you can get the advice of the best expert available.