Behavioral Psychology in Software Development

Behavioral psychology (also known as behaviorism) promotes the idea that all our actions are shaped by the environment. It’s not our thoughts, emotions, or intentions that are crucial for our actions, but the conditions that we are in. The environment teaches us how to behave. According to behaviorists, to change the behavior, you have to change the environment.

Behaviorism seemed more appealing to psychologists because its research is more practical. Experiments are key to behaviorism, and behaviorism suggests that everything about human nature can be studied objectively. Behaviorists claim that any actions can be observed, studied, described, and analyzed if only you manipulate the conditions. If necessary conditions are created, we can see the hypothesized results from almost any person regardless of his or her background, genetics, state of mind, etc.

Watson, one of the minds behind behaviorism, famously announced “Give me a dozen healthy infants, well formed, and my own specified world to bring them up in, and I’ll guarantee to take any one at random and train him to become any type of specialist I might select — doctor, lawyer, artist, merchant, chief, and yes, even beggar-man and thief, regardless of his talents, penchants, tendencies, abilities, vocations, and race of his ancestors.”

Behavioural training uses two methods: classical conditioning and operant conditioning.

Classical conditioning uses neutral and naturally occurring stimuli. Here, a well-known example is Pavlov’s experiment. The naturally occurring reaction to food by a dog (by a man, too) is salivation. Combining each feeding with a ring bell, Pavlov reached the following result: the dog would now salivate every time it heard the bell ringing, even when no food was present.  This is because the dog associated the sound of a bell with the food (you can probably experience the same effect when you see a Starbucks mermaid in the movies – the sudden desire for coffee is almost irresistible).

Operant conditioning uses reinforcements and punishments. Something that our teachers at school used to call a carrot and stick approach. Positive stimuli are used to reward the actions, and negative stimuli are used to decrease or exclude the action. The third big direction in behavioral psychology training is social modeling. It stems from the notion that we are eager to imitate and repeat our surroundings.

Here just some of the behavioral techniques used by therapists

  • Systematic desensitization
  • Aversion
  • Token economy
  • Shaping
  • Contingency contracting
  • Premack Principle
  • Modeling
  • Assertiveness training

Why Does Behavioral Psychology Matter in Software Development?

Behavior Driven Team Management

Although programming is math-based, programmers themselves are human (yes, even Mark Zuckerberg) so they and their behavior are the study object for social sciences.

In its survey 2019, Coding Sans asked what is the main challenge for the software companies. The top 3 issues were capacity, talent hiring, and knowledge sharing. So not technical (like, lack of servers or programming languages) but human issues that can be solved using the tools and methods from social sciences. We already see this social trend in the industry. Agile, Kanban, Scrum principles have nothing to do with programming and math. Instead,  they focus on management, bonuses, punishments, and behavioral-driven metrics.

Coding Sans annual State of Software Development in the USA report
Source: Coding Sans, 2019

The same survey shows that the stimuli for a more efficient programmer’s work are engaging work, money, training, etc.

Waht motivates the programmers
Source: Coding Sans annual State of Software Development report, 2019

Corporate culture is another niche where behavioral psychology shows its power. If it’s common in the company to hide the problems because of the possible inadequate reaction from a manager or to miss deadlines without any consequences, the newcomers will do that as well. Social modeling is not just about children. Adults are just as prone to repeating the acknowledged behavioral patterns.

Behavior Driven Product Design

We already agreed that software developers are human beings, and logic, knowledge base and instruments of behavioral psychology can be used for managing their behavior. But as a rule, software is created for other people to use it. And here we go to the buzz phrase of 2020 – behavioral product design.

According to AppsFlyer, in 2018, the worldwide uninstall rate for apps after 1-month usage was 28%. 56% of users uninstall apps within 7 days of installation. In 2020, the high uninstall rate is still a large pain for the industry.

In 2020, apps uninstalls marked a 70% increase over uninstall rates in 2019
Source: AppFlyer

How to increase the retention rate?

First, before addressing a problem and creating the software to solve it, check the contest (environment) of your user. What is the common reaction to this problem in this environment?

Second, check if you can address the problem and reach the user’s goal using behavioral techniques and principles.

For example, gamification. Let’s take two apps as an example. Where will user experience be more positive? Which app will create the habit of tracking nutrition by using it?

The first one just shows you the results of your day – how many calories, carbs, etc. are consumed.

The second gives small prizes or winner labels for each day that you were strong enough to reject the chocolate pie, sends you automated messages like “well done”, “you’re awesome”, and compares your results with other less successive users, etc.

Reinforcement techniques are used in most learning apps and all games (e.g., Tinder). Premack principles can be found in some diet apps (make 100 push-ups and then you can eat a cake).

Source: AppsFlyer

Behavior Driven Testing

The main problem of testing is the difference between programmers’ and testers’ environments. The developer gets his carrot for creating faultless software. The tester’s focus is on finding the errors in this software. The main task for a Project Manager here is to find the balance: if each bug found will be the reason to use a stick, the programmer’s motivation for learning from these mistakes will decrease. At the same time, repetitive errors aren’t good for any project. So, a good solution here could be the focus on finding an error and addressing it quickly.

Minuses of Behavioral Approach in Software Development

It’s not enough to find a correct negative or positive stimulus. The frequency of its usage matters, too. According to some research, the person can work out resistance towards a stimulus that’s used too often.

Behaviorism’s advantages are its observational techniques and experimental approach. The disadvantage (at least in radical behaviorism) is the denial of emotions, biological and physical states, and the ignorance of cognitive biases that play a huge role in our behavior.

Cognitive Biases to Consider in Software Development

Behaviorism assumes that human beings are rational. However, we know that often they aren’t ― and the existence of cognitive biases proves that better than anything. We fall into cognitive biases when we assess the situations and act based not on the objective factors, but according to our personal experience, beliefs, etc. that are often unconscious. This behavior is dictated by the internal, not the external environment. Roughly, all the biases can be divided into the following groups:

Interest biases

Actions based on individual preferences, our wish to confirm our ideas and oversee the alternatives even if they are objectively better. Wishful thinking is one of such biases: we assume something is true or false based on our wish for it to be true or false.

Anchoring bias

Anchoring bias is when your decision is influenced by an “anchor” ― a piece of information that came first. It’s often used in retail: the first product you see can have a high price and act as an “anchor” from which you’ll subconsciously judge all other prices that will appear comparatively low.

Optimistic biases

Optimistic biases, for example the planning fallacy or the belief that we are better at something than we are, can lead us to making premature decisions without considering relevant facts or working out some alternative actions.

Pattern recognition

We pay more attention to the information that we already know and that’s integral to our experience as a human being. This is why, for example, we see faces on the moon and on Mars.

Perception biases

Perception biases nudge us to simplify other groups of people down to stereotypes and assumptions based on limited personal experience.

Social biases

Social biases refer to the situation where group decisions or behavior affect an individual’s behavior and decision-making process. For example, bandwagon bias shows that we are more likely to believe something because other people believe it. The more the better. Or cultural bias refers to the fact that we interpret situations and actions based on the standards of our own culture.

To Sum Up

Concentrating on just product quality cannot guarantee the success of your project. Taking into consideration the psychological part of development, testing, and using your product helps you avoid basic risks and make the product more human-oriented. But to see the whole picture, we recommend using not only a behaviorism approach but knowledge gathered by other branches of psychology, too.

And then you’ll say:

“Give me a dozen juniors, and my own specified project to bring them up in, and I’ll guarantee to take any one at random and train them to become any type of perfect specialist I might select — tester, project manager, and yes, even soft-skilled software developer, regardless of his talents, penchants, tendencies or abilities.”

Contact Us
Contact Us