Uncategorized Dealing with Cognitive Biases in Software Development –

InfoQ Live Feb 22: How do traditional security approaches scale in Cloud Native architectures? Register Now
Facilitating the spread of knowledge and innovation in professional software development

As ransomware and phishing attacks increase, it is evident that attack vectors can be found on the inside in abundance. Zero Trust Security can be thought of as a new security architecture approach where the main goals are: verifying endpoints before any network communications take place, giving least privilege to endpoints, and continuously evaluating the endpoints throughout the communication.
What is the single best API technology you should always use? Thomas Betts moderated the discussion, with the goal to understand some of the high-level features and capabilities of three popular technologies for implementing APIs. The discussion covers some of the pros and cons of GraphQL and gRPC, and why you might use them instead of a RESTful API.
In this article, author Juan Pan discusses the data sharding architecture patterns in a distributed database system. She explains how Apache ShardingSphere project solves the data sharding challenges. Also discussed are two practical examples of how to create a distributed database and an encrypted table with DistSQL.
Psychological safety is a work climate where employees feel free to express their questions, concerns, ideas and mistakes. We cannot have high-performing teams without psychological safety. In this article, you will learn practical ideas, interesting stories, and powerful approaches to boost psychological safety in your team.
At QCon Plus, Mathias Schwarz, a software engineer at Uber, presented safe and fast deploys at planet scale. Uber is a big business and has several different products. They are, in most cases, deployed to dozens or hundreds of markets all over the world.
How do traditional security approaches scale in Cloud Native architectures? Register Now!
Learn from practitioners driving innovation and change in software. Attend in-person on April 4-6, 2022.
Uncover emerging trends and practices from software leaders. Attend online on May 10-20, 2022.
Your monthly guide to all the topics, technologies and techniques that every professional needs to know about. Subscribe for free.
InfoQ Homepage News Dealing with Cognitive Biases in Software Development
This item in japanese
Nov 18, 2021 6 min read
Ben Linders
Cognitive biases help us to think faster, but they also make us less rational than we think we are. Being able to recognize and overcome biases can prevent problems and increase the performance of software teams.
João Proença, a principal quality engineer, and Michael Kutz, a quality engineer, spoke about the impact that cognitive biases in software development have at Agile Testing Days 2021.
Groupthink is a tendency to agree with the rest of the group, no matter the consequences, Kutz mentioned. That way the group avoids conflict and preserves harmony, but reaches sub-optimal, sometimes even catastrophic, decisions. Individual concerns are not raised and the group as a whole becomes deaf to criticism from outside the group:
Once, we tried to create a new test strategy for a large number of teams. Clearly we were the only ones thinking about this on that level, so it was easy to ignore outside opinions as uninformed or incompetent. We felt like we were only thinking of the greater good and hence our moral felt unquestionable. In the beginning, we had a lot of heated and unfruitful discussions, but at a point that stopped. I thought it was due to our ideas becoming riper. Ultimately, nobody objected to our ideas but the strategy failed anyway.
In hindsight, the strategy was really not good, as Kutz explained:
We tried to mix in all the ideas of our group, reaching a compromise that just didn’t work.
Proença mentioned that there are many misconceptions in the software industry around cognitive biases. He gave an example of affinity bias and diversity:
In tech, too many times I’ve seen leaders making statements like "I want to promote diversity because it’s the right thing to do, but at the end of the day I have a business to run". In my opinion, this is an entirely wrong way of looking at the issue. Diversity is not only the right thing to do, but it’s also good for business, as diverse teams have a higher chance of becoming high performers.
InfoQ interviewed João Proença and Michael Kutz about dealing with biases in software development.
InfoQ: What are cognitive biases?
Michael Kutz: Cognitive biases are systematic tendencies in human thinking. They occur mostly when we think fast, and less when we make conscious well-weighed decisions. Most likely the evolutionary process came up with these shortcuts to give us an edge while forming successful hunter/gatherer parties. Today these shortcuts can still be useful, but often they cause very suboptimal decisions and cause huge social problems.
João Proença: Other reasons why we probably evolved as humans to have "two systems of thinking" (as Daniel Kahneman calls them) are probably speed (fast vs slow thinking) and energy spent in cognitive processes.
InfoQ: Can you give some examples of biases and the effect that they can have on our professional life?
Proença: Affinity Bias is a tendency to gravitate toward people like ourselves in appearance, beliefs and background. It may even make us (subconsciously) avoid or dislike people who are different from us. It is usually the reason why you’ll find teams that are not diverse at all inside of organizations. This has several implications in terms of team performance and also inequality.
Also interesting are the "statistics biases": the Conjunction Fallacy, Anchoring Effect, and Availability Bias. All of them tell me that we are really bad at estimating probability, size or time, when we are not rooting those estimates in real, objective data.
Kutz: Another great example is the present bias. It makes us prefer smaller short-term rewards over bigger long-term ones. You might know the term procrastination. That behaviour is a direct result of present bias.
For example, I found spending two hours cleaning up the test environment became strangely attractive when the alternative was reading a 500-page book on cognitive biases.
InfoQ: What impact do biases have on the software industry and how does it deal with biases?
Kutz: Well, effects like those described above naturally have a strong effect on software development. Groupthink influences especially product planning and other pre-development processes; when the planning group starts to ignore out-group objections, real bad assumptions flourish and become the foundation of the product.
During development, we suffer from the IKEA effect, which makes us stick with bad frameworks we assembled ourselves.
In the end, we may fall prey to confirmation bias, ignoring negative feedback from the market.
The industry as a whole is not very aware of the biases. There are some good practices that can mitigate the effects. E.g. planning poker –when done right– can minimize the Anchor effect during estimation. The 1-2-4-all liberating structure addresses the dangers of groupthink; by making individuals do their own thinking first, then having them share their insights with one other member of the group, then these two sharing their merged insights with another pair, and only then sharing it with the group as a whole, then individual concerns cannot be hidden in silent agreement.
InfoQ: What’s your advice for recognizing and overcoming biases?
Proença: I believe that a lot of misconceptions should be clarified in the industry around cognitive biases. A misconception around Affinity Bias in organizations is that the common way to address it is to set up quotas (gender, racial, etc.), which are highly controversial and you don’t necessarily need them. There are many other effective things you can do around the way you hire people into teams or leadership positions, like for instance targeting ads for open positions to people from underrepresented groups or having clear and objective criteria for evaluating candidates being outlined beforehand.
Kutz: Getting to know the biases and effects certainly helps a lot. They are there anyway. Everybody is influenced by these biases. It helps to give things a name and to know specifically which measures may help to mitigate that specific influence.
There’s no overcoming biases. Mitigation is the best we can possibly do unless we leave all our decisions to an AI (but who should choose the training data for that – oh my).
Understanding a set of biases helped me personally to recognize problematic decision processes and understand why certain techniques are helpful, while others make processes just more complicated.
For example, I knew several liberating structures. I tried them out and they felt good. Still, facilitating them can be an effort, and so I didn’t suggest it often. Now that I know about groupthink, bandwagon and other biases, I might see the need for such a measure earlier and apply them more purposefully, not bloating the process.
Proença: One of the things we have tried doing is not only "telling" people about cognitive biases, but rather making them experience the biases first hand in the workshop that we did at Agile Tour Vilnius 2021. This helps them understand each bias a bit more deeply, and at the same time, makes it clearer that most of us "suffer from them" and it’s not a matter to be ashamed of, but rather to manage personally. As Michael is saying, I feel I’ve become much more "experienced" at noticing a bias happening in front of me, and usually that’s the hardest part of overcoming it!

Uncover emerging trends and practices from domain experts. Attend in-person QCon London (April 4-6, 2022) or online QCon Plus (May 10-20, 2022).
A round-up of last week’s content on InfoQ sent out every Tuesday. Join a community of over 250,000 senior developers. View an example

We protect your privacy.
You need to Register an InfoQ account or or login to post comments. But there’s so much more behind being registered.
Get the most out of the InfoQ experience.
Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

A round-up of last week’s content on InfoQ sent out every Tuesday. Join a community of over 250,000 senior developers. View an example

We protect your privacy.
QCon, the international software development conference, is returning (in-person and online) in 2022.
QCon brings together the world’s most innovative senior software engineers across multiple domains to share their real-world implementation of emerging trends and practices.
Find practical inspiration (not product pitches) from software leaders deep in the trenches creating software, scaling architectures and fine-tuning their technical leadership to help you make the right decisions. Save your spot now! and all content copyright © 2006-2022 C4Media Inc. hosted at Contegix, the best ISP we’ve ever worked with.
Privacy Notice, Terms And Conditions, Cookie Policy


Author Details

Sign up for our newsletter to stay up to
date with tech news!