I recently had the opportunity to attend a webinar “Giving and Taking Design Criticism” with Rebecca Wirfs-Brock. The session teaser was: “Have you ever engaged in a design review where people didn’t play fair? Do you have trouble giving design advice that sticks? An effective software developer or designer needs to be skilled at giving, asking for, and reacting appropriately to criticism.”
As someone who has done design/code reviews, I’ve always wondered why the advice didn’t stick and needed to be repeated so often. As a victim of the same reviews, I wondered why the reviewer needed to be so picky and unpleasant Two sides of the same coin?
In this Webinar, Rebecca reminded us what is going on and gave us some tools to do better reviews and be better listeners. She talked about Cognitive Biases (an excellent list >75 biases) and their effect. Key takeaway: Everyone brings a different set of biases to the table, and they cause us to react rather “think and behave logically.”
When presenting ideas, keep the following biases in mind (some definitions from Wikipedia):
- Confirmation Bias—the tendency to search for and interpret information in a way that confirms one’s preconceptions (Wikipedia). In addition, people will avoid things that disconfirm their biases. To combat this bias, invite the people involved in the review to argue the other’s viewpoint for a while.
- Sunken Costs or Loss Aversion—having sunk money into an expensive investment, we’re reluctant to pull out of it. Counteract by telling the audience about the opportunity costs.
- Hyperbolic discounting—the tendency for people to have a stronger preference for more immediate payoffs relative to later payoffs (Wikipedia). To counter, break ideas into smaller pieces, each with an immediate payoff.
- Contrast Effect—people compare items/ideas against each other and not against a fixed standard. So compare against a lesser option first.
- Increase Information Availability—people decide based on what they remember. Complex and uncomfortable information is easily forgotten. Recent, vivid information is easier to remember. Think Garr Reynolds and Presentation Zen.
- Ambiguity Effect—people favour options where there is a known probability vs. uncertain options.
- Visualize Benefits—reviewers often need to tangibly perceive the benefits. A simple drawing (not a UML diagram, or code) is often helpful in comparing two options.
- Primacy and Recency Effects—people remember what they hear first and last.
Giving and receiving Advice:
- Use a triage approach with: Recommendations, Suggestions and Observations. Allows you to share ideas and reduce the defensiveness of the recipient.
- Comment on Good choices—reinforce things that the person is doing well.
- Use Probing Questions: “are intended to help the presenter think more deeply about the issue at hand.” Examples: Are these ideas complete and accurate? Ask for examples? … (see Changing Minds for more).
- Use Clarifying Questions: “are simple questions of fact. … The litmus test for a clarifying question is: Does the presenter have to think before s/he answers? If so, it’s almost certainly a probing question.” Examples: How long will this take? What resources does this require?
Finally, Rebecca finished with a good recap of the reasoning fallacies (who knew that undergrad logic course would ever prove useful), including:
- Red Herring: Distracting with an irrelevancy.
- Slippery Slope: Loosely connected statements with a ridiculous conclusion.
All in all, this was a very interesting session. I only wish it had been interactive and not passive so that we retained more of what we there to learn.