There are many facets to software design. Some are architectural decisions while others are business related. Sometimes human psychology intercepts these decisions and unknowingly clouds judgment. A common example is loss aversion, which refers to "people's tendency to strongly prefer avoiding losses to acquiring gains." For most individuals the power of loss far outweighs the possibility of gain. The concept of loss aversion was demonstrated by Amos Tversky and Daniel Kahneman through a series of experiments. In these experiments they evaluated when loss aversion occurred and what circumstances were necessary to override the feeling. Some studies revealed a 2:1 ratio as participants demonstrated a much higher displeasure with loss. With this knowledge, it behooves programmers to consider the unintended consequences of both business and software decisions.
Stating that people are highly loss averse may seem obvious, but the daily interactions with loss aversion are much more subtle. Loosing a large sum of money through the stock market or gambling is obvious but what about the simple framing of words? This can and does influence decision making. For instance, most people would prefer to avoid a $10 surcharge versus receiving a $10 discount. In this example, avoiding a surcharge and receiving a discount have the same net result. Let's look at another example. When purchasing new windows for a home, does the statement "you will save money by installing new windows" sound any different than "you will lose money if you don't install new windows?" Both statements are referring to energy savings, but the second statement resonates more. Why? Because it was framed as a monetary loss on an existing situation. The cost savings on new windows is a circumstance that does not exist yet; therefore, it holds less meaning.
Armed with this knowledge, more informed decisions are possible throughout the software development cycle. The following list details a few examples where loss aversion can play a role in software development:
- Someone contesting the removal of an unused feature with the rational of "you never know"
- The concern generated from swapping out a generic feature with a more specific solution
- Requiring excessive confirmation when attempting to remove data
- Reservations about completing a feature in phases versus building everything upfront
When decisions seem excessive or irrational, it's important to dig deeper into the "why." In every study of loss aversion, the participants were unaware of their bias. If loss aversion is suspected, take the time to educate others and talk through the decision in question. There is a fundamental difference between learning from past experiences and being gun shy. Although the scars of bad decisions may be vivid, loss aversion is a slippery slope as one cautious decision can snowball into many. Understanding the reason behind a decision is vital in making the right decision the first time.