Conference PaperPDF Available

On Cognitive Biases in Architecture Decision Making

Authors:

Abstract and Figures

The research carried out to date shows that architectural decision-making is far from being a rational process. Architects tend to adopt a satisficing approach, rather than looking for the optimal architecture, which is a result of many human and social factors. The results of a workshop, carried out with 14 software engineering practitioners show that cognitive biases are commonly present in architecture decision-making. A systematic approach to analysing the influence of biases on decision making has been introduced. Twelve cognitive biases identified during the workshop were analysed with regard to the elements of the decision-making context that affected the aspects of architectural decision making. Finally, we analyse the interactions between cognitive biases and the conditions of real-world software development.
Content may be subject to copyright.
On Biases in Architecture Decision Making
Andrzej Zalewski,1 Klara Popławska,1 Andrzej Ratkowski1
1 Warsaw University of Technology, Institute of Control and Computation Engineering,
Warsaw, Poland
2 a.zalewski@ia.pw.edu.pl
Abstract. The research carried out to date shows that architectural decision-
making is far from being a rational process. Architects tend to adopt a
satisficing approach, rather than looking for the optimal architecture, which is a
result of many human and social factors. The results of a workshop, carried out
with 14 software engineering practitioners show that cognitive biases are
commonly present in architecture decision-making. A systematic approach to
analysing the influence of biases on decision making has been introduced.
Twelve cognitive biases identified during the workshop were analysed with
regard to the elements of the decision-making context that affected the aspects
of architectural decision making. Finally, we analyse the interactions between
cognitive biases and the conditions of real-world software development.
Keywords: cognitive biases, architectural decisions, architectural decision-
making.
1 Introduction
The concept of architectural decisions enables the design rationale and architectural
knowledge to be captured, but equally important is the focus it places on the act of
deciding on software design. This has shaped anew our perception of software
development as a decision-making process, and triggered research into its nature.
The research on how architectural decisions are made revealed that, despite the in-
trinsic complexity of architecting, architects as decision makers remain normal human
beings: their judgement is more often bounded rational than fully rational, which is a
result of the inherent properties of the human mind.
As normal human beings, architects are subject to cognitive biases [4], [8-19]. This
exploratory paper, which has been motivated by the outcomes of a workshop carried
out with 14 software engineering practitioners, investigates how cognitive biases in-
fluence architectural decision-making. Our research focuses on answering the follow-
ing research questions:
RQ.1. Are biases in architecture decision making commonly observed by software
engineering practitioners?
RQ.2. What are the most significant cognitive biases that influence architecture
decision making?
2
RQ.3. Which of these biases result from cognitive biases inherent to the conditions
of the human mind?
RQ.4. Which elements of the decision-making context can bias architects' deci-
sions?
RQ.5. Which aspects of architectural decision making are influenced by the biases
that have been identified?
RQ.6. How do practical conditions influence the extent of the influence of the bi-
ases on architectural decision making?
The research presented in this paper shows that biases are commonly observed by
software practitioners (section 3.1). In order to capture how cognitive biases influence
architectural decision making, we propose a model comprising contextual factors that
are transformed by the biases into influence on the identified aspects of the
architectural decision-making process (section 3.2). The identified cognitive biases
are presented and discussed according to this model (section 3.2). The ways in which
the practical conditions of architecture decision making affect the ‘mechanics’ of
biases’ influence is presented in section 4. The discussion of the findings (section 5) is
presented in section 6, the summary of the paper and the research outlook in section 7.
2 Related work
The social and human factors in software engineering have been studied since the
advent of software engineering as a scientific discipline compare reports from
NATO conferences from 1968 and 1969 [1], [2]. Probably the earliest observation of
the influence of social factors on software architecture is the now famous Conway’s
law [2].
The research on cognitive biases was pioneered by Twerski and Kahneman (e.g.
[4], [8], [12]), and the latter was awarded a Noble Prize. Their research has been later
extended by many researchers, e.g. [8-19]. Kahneman and Renshon [20] define cogni-
tive biases as “predictable errors in the ways that individuals interpret information and
make decisions”.
The dual process theory, as stated by Kahneman [4], is one widely known and
accepted in psychology and helps to explain the mechanisms of the human mind.
According to the theory, our thoughts are controlled by two parallel systems: System
1 and System 2.
System 1 controls the part of our mind that is fast, runs effortlessly, and completely
out of our control. It is very useful, letting us, for example, instantly react to danger
and save our lives in a dire situation. Sadly, its associative nature may make our line
of thought illogical, often creating associations where there are none. System 1 is
unable to process rule-based logic, and thus does not always perform well.
System 2 is the complete opposite of System 1. It is slow, requires a great amount
of conscious effort to use, and is very logical. Since the use of System 1 is something
unavoidable, System 2 serves the purpose of correcting the premature conclusions of
System 1, but only if we put effort into it. It is when this correction does not happen,
or is not strong enough, that cognitive biases occur.
3
The process of architectural decision making has been thoroughly investigated by
Zannier et al. [3] in 2007. Their research shows that architects use naturalistic
(looking for a satisfactory solution) or rational decision making (looking for an
optimal solution). The naturalistic approach is common for poorly-structured
problems, while the rational one for well-structured problems.
In 2015, Tang and van Vliet observed [6] that most architects need only a few
reasons before concluding a decision, which is a result of satisficing behaviour of
naturalistic decision making.
The research record on the role of biases in software engineering in general, and in
software architecture, is rather small. Tang and van Vliet, in 2016 [7], indicate only a
couple of papers that can be related to the role of biases in design processes. They
show some examples of anchoring, framing and confirmation biases in software
engineering, and conclude that “biases do play a role; and we probably cannot fully
prevent them from occurring; they are simply too human.”
The research presented in this paper aims to expand upon these observations, and
to systematise the way we analyse how cognitive biases influence architectural
decision making.
3 Investigating Biases in Architectural Decision Making
3.1 Workshop on Biases in Architecture Decision-Making
Fourteen people with a wide variety of professional experience (8 novices 1-2
years of experience and 6 experts with at least 10 years of experience) were gathered
on a workshop. The purpose was to gather data about biases that may have an influ-
ence over the process of software development and sort out those that affect architec-
ture-decision making. The workshop agenda was as follows:
1. Short presentation on cognitive biases;
2. Poll of the participants they were asked to write down any examples of biases
that they could have observed from their previous projects;
3. Survey and an open discussion on biases indicated by the participants, aimed at
improving the understanding of people’s statements;
4. Rating of the biases - each participant was asked to rate the frequency of cases
when they experienced the effect of every cognitive bias listed (on a scale from 0
to 3, where 0 means something that was never observed, and 3 means an often ex-
perienced phenomenon);
5. Identifying related cognitive biases;
6. Wrap-up and conclusion.
The results of the workshop are summarised in table 1.
4
Table 1. Biases relevant to architecture decision making indicated by the workshop participants
Reported Bias
Related cog-
nitive bias
Average Frequen-
cy Assessment
Judging the quality of a system by the form of
its presentation by marketing specialists.
Framing
effect
2.58
Estimating the time needed to complete a task
wrongly, because of the expectations placed on
the development team by the client, rather than
the true complexity of the problem.
Confirmation
bias
2.33
Excessive overvaluation of a solution that we
created ourselves.
IKEA effect
2.33
Spending long hours on meetings discussing
trivial problems (like whether we should use
spaces or tabs in our code) instead of truly
important ones.
Parkinson's
Law of trivi-
ality
2.25
Insisting on continuing using certain COTS
despite the long record of errors
Anchoring
2.25
Errors created by miscommunication between
the technical staff and a client, because of them
having a completely different background.
Curse of
knowledge
2.16
Focusing mainly on a set of standards, believ-
ing that if they are met, then the quality of the
product will be good.
Anchoring
2.16
Belief that "new is better". Quick abandonment
of old tools and technologies while they are
still properly working.
Pro-
innovation
bias
2.08
Dismissing serious issues as trivial, without
any further thought.
Parkinson's
Law of trivi-
ality
2.08
Evasion of solutions that were not used previ-
ously in our industry.
IKEA effect
2.00
Underestimating a problem by assuming that it
could be solved by "writing some code", even
with no detailed plan of the implementation.
Planning
fallacy
1.91
Wrongly assuming that a solution found on the
web is correct and appropriate for our problem,
especially if it is popular.
Bandwagon
effect
1.83
5
Reported Bias
Related cog-
nitive bias
Average Frequen-
cy Assessment
Avoidance of redoing work on a system that
was already done even if it was done poorly.
Irrational
escalation
1.75
Being unable to admit that there is an error.
Logic similar to "it's not a bug, it's a feature".
Anchoring
1.75
Applying the design patterns that we know
everywhere - even if it's not the best solution.
Law of the
instrument
1.66
Underestimating the possible load put on a
system. Guessing without any evidence to sup-
port our claims.
Optimism
bias
1.66
Focusing only on hardware when solving opti-
misation problems.
Anchoring
1.36
3.2 Influence of Cognitive Biases on Architecture Decision-Making
Expanding on the workshop results, we discussed and analysed the identified biases in
order to identify how they influence the decision-making process. As a result we de-
veloped the model presented in fig. 1.
Fig. 1. How biases influence architecture decision making
Fig. 1 shows that cognitive biases subconsciously influence the decision-making
process by associating some contextual factors with a given architectural problem.
These factors usually have no connection, or just a limited connection, with the ana-
6
lysed issue itself. The biases include these factors into the decision-making process
and alter the critical aspects of the decision-making process. Analysing the biases on
the basis of our experience we identified sets of:
contextual factors affecting architecture decision making, for example: form of
presentation, architect’s beliefs, “topics of the year”, time spent on a given design,
order, etc. for a complete list see table 2, column (3).
aspects of architecture decision-making process affected by the biases, for example
such architect’s preferences (expressed by a decision’s rationale), scope of consid-
ered architectural issues, etc. for a complete list see table 2, column (4).
Below we describe and study in a greater detail the cognitive biases indicated in
table 1.
Framing effect
The example that achieved the highest average rating in the experiment was repre-
sentative of the framing effect. The bias itself happens when information is judged
differently on the basis of how it was presented. This effect was examined thoroughly
by Tversky and Kahneman [8]. In the course of their research, they discovered that
slight differences in the formulation of the choice problem may significantly impact
decision making.
The exact scenario that the workshop participants pointed at was that software
products are often purchased not on the basis of their quality, but of the way they are
advertised, for example: properly advertised products (like COTS) are more likely to
be chosen, even if they are less suited to the needs of the project. The framing bias
affects mainly architect’s preferences, scope of considered architectural issues and
alternatives.
Confirmation bias.
Another widely appearing case is an example of conformation bias. Confirmation
bias itself, as stated by Nickerson [9], is a natural tendency to look for evidence sup-
porting our claims, because we believe that this is an effective way of showing what
is right, if it really is right.
The subjects linked the wrong estimation of the time needed to complete a project
with their superiors’ (or clients’) expectations. Concerning architectural decision
making, it is easy to observe a tendency to look for arguments confirming our beliefs
that certain solutions are better than others. Believers of microservices would always
find evidence to confirm it is a best choice. In order to confirm their beliefs, architects
may narrow the scope of considered architectural issues, requirements and alterna-
tives. Such an architect would prefer to choose the options, which comply with his
beliefs.
IKEA effect.
Easily associated with the phenomenon of the globally-known producer of ready-
to-assemble furniture the IKEA effect is one that makes us biased when it comes to
7
items we have created or assembled ourselves [10]. When comparing to the products
of our competitors, even if they are renowned professionals in their field, we are easy
to prey for the unstoppable gut feeling that our creation is the best. This effect may be
strengthened by the time and effort that we have put into our work, even if our hard
work proved to be almost fruitless.
The participants also pointed to the reverse form of this effect that we tend to
avoid solutions that have not been yet used in our industry, thus boxing ourselves in a
small pool of alternative choices. It is a popular phenomenon that authors of a given
system (application etc.) are rather reluctant to replace it even if a definitely better one
is currently available. This will certainly narrow the set of considered alternatives and
obviously affect architect’s preferences.
Parkinson's Law of triviality.
According to Parkinson's Law: 'work expands to fill the time available'. This una-
voidable effect rules over most workplaces, although most managers would prefer to
overlook it. Parkinson's Law of triviality is a narrower version of Parkinson's Law
stating that we spend an enormous amount of time debating over trivial unimportant
issues [11].
Most of our subjects had the unfortunate displeasure of taking part in meetings that
seemed to be endless and led to nothing. Although wasting time does not have to lead
to wrong decisions by itself, it does shorten the time available to resolve more com-
plex issues. This may result in ‘system 1’ being used to resolve the crucial problems
instead of ‘system 2’. This may indirectly affect all the aspects of architectural deci-
sion making.
Anchoring.
The effect of anchoring is created by the way in which the human brain estimates
probabilities. Naturally, we tend to cling to the first fact that comes to our mind when
contemplating an issue. This means that the first piece of information we obtained, or
one that we have a particularly fond memory of, heavily influences decision making
[12]. When 'anchored' to an idea, it becomes hard to notice different solutions, and
even if we do, it is very unlikely that we will choose them.
Although examples of the anchoring effect were rated very differently by the par-
ticipants, it is worth noting that this was the bias for which they found the greatest
amount of examples. Anchoring seems to have an influence over almost every kind of
decision: hardware, technologies, design and even implementation. It influences
mainly architect’s preferences but also possibly the scope and perception of im-
portance of requirements.
Curse of knowledge
We may be put in a situation when we have to communicate with someone of a
completely different background, or with a different level of experience, or even
simply someone younger than us. We fall prey of the curse of knowledge, if at some
point we falsely assume that the other side possesses the same knowledge that we
have about any kind of issue. This may be more apparent in contacts between children
8
and adults, when the young ones find it hard to grasp concepts that are new to them,
but adult relations are not free from this effect [13].
The curse may cause misunderstandings at any level of human interaction, which is
especially crucial when understanding the requirements of our client and choosing
appropriate solutions for their problems. Team members with different experience
levels can also be influenced when an issue is not explained properly, they can mis-
understand the way in which their tasks should be handled. Therefore, the curse of
knowledge bias influences the scope of requirements and the architect’s perception of
their priorities, as well as scope of considered architectural issues and alternatives,
and as a result this may also alter architect’s preferences.
Pro-innovation bias
The false belief that innovation should always be adopted is what we call the pro-
innovation bias [16]. Humans naturally have a positive attitude associated with inno-
vation. However, it does not mean that innovation should always be pursued.
The pursuit of a novel solution is not always necessary; sometimes it may even be
harmful. What needs to be taken into account is the high risk of every innovative
project. If a stable and reliable system is to be created in a reasonable timeframe, usu-
ally innovation should be avoided. As one of the subjects pointed out, it is not always
the case that potentially high rewards await those that successfully bring new ideas to
life. Relating these observations into architectural decision making, we observe that
pro-innovation bias means that innovative design alternatives are considered and pre-
ferred.
Planning fallacy.
The planning fallacy is the tendency to underestimate the time required to complete
a task. Interestingly, it seems to affect the individuals who are supposed to complete
the tasks more than observers of course, if they have information about the individ-
uals’ past performance [17].
This cognitive bias has a great influence over the planning phase of any project.
The amount of information needed to avoid it is so big that it is almost impossible to
process it, especially if a problem is complex. Although various methodologies have
their ways of soothing this problem (e.g. Planning Poker in Scrum), there are almost
none that can prevent it on the early decision-making level. Let us also observe that
the planning fallacy may affect the preferences of an architect who may choose solu-
tions which are more difficult to implement than he thought when making a decision.
Bandwagon effect.
The bandwagon effect is a universal phenomenon that appears in almost any do-
main where human beings are given a choice. People naturally want to wear, buy, do,
consume and behave like their fellows, thus becoming part of a group [19]. This re-
sults in popular choices and popular decisions becoming even more popular.
The danger this bias poses should not be downplayed it puts our mind in a small
box, limiting our possibilities and potentially forces bad decisions on us. Especially in
cases of pressure from higher-ups to solve a problem in the way they wish us to. In
9
some cases even, due to the organisation culture in a company, it may even be impos-
sible to have any influence on this kind of decisions, which could result in choosing
solutions being very far from perfect. Therefore the bandwagon makes an architect to
prefer the same solutions that have already been widely accepted by a similar organi-
sations, by an industry branch or our community.
Irrational escalation.
Irrational escalation takes place when one continues to commit to an initial course
of action, even if it is obviously no longer the most beneficial choice [18].
As the participants noticed, this may affect performance when old technologies,
code or components that are unfit for the task, are forced on us. Often these old prod-
ucts should have been abandoned long ago due to their doubtful quality, but since at
some point they were invested in, there is a stubborn reluctance to let go of them.
Irrational escalation means that architect gets fixed on an existing solution.
Optimism bias.
We do not usually assume failure before trying something. Most healthy people’s
brains are hardwired that way [14]. When writing his example, one of our participants
told us a story where a client he worked for judged how many messages his system
would have to handle daily. Unfortunately, in reality, the estimated value turned out
to be a hundred times too low, which triggered later multiple serious issues. As this
example shows, being overly optimistic can hurt badly not only planning, but the
architected system’s quality as well. Architect’s optimism can potentially influence all
the aspects of architectural decision-making.
Law of the instrument.
Known in software architecture as the Golden Hammer anti-pattern [15] - when a
single technology or design pattern is used in every possible place. This obviously
results in the creation of numerous inefficient and mismatched solutions. The bias
experienced here may simply be a symptom of the lack of necessary skill or
knowledge that forces us to use well-known solutions. Such cases were pointed out by
the participants of the workshop. Furthermore, there is one more scenario that re-
quires further consideration does spending money on a technology in the past force
us to use it? This seems to be the case in many big companies, where decisions to
invest in expensive technologies are often made independently of the technical con-
text of specific projects.
The above findings have been summarised in table 2. Note that in column (3), only
the most important factors influencing the decision making have been listed. Natural-
ly, there are numerous other factors that may modulate (magnify or diminish) the
influence posed by a give cognitive bias, for example the architect’s
knowledge/experience, organisation’s culture.
10
Table 2. Influence of cognitive biases on architecture decision making
Bias
(1)
Description
(2)
Main contextual factors
that influence archi-
tect’s judgment
(3)
Framing
effect
Drawing different conclu-
sions from the same in-
formation depending on
the form of presentation
[8]
Form of presentation
Confir-
mation
bias
Focus on searching for
facts that confirms one's
beliefs, while ignoring
opposing information. [9]
The architect’s beliefs
IKEA
effect
Overvaluing items that
were created or assembled
by us personally. [10]
Who was the author of a
given design; time spent
on a given design.
Parkin-
son's Law
of trivi-
ality
Focusing time and effort
on trivial matters while
often omitting the truly
important ones. [11]
None.
Anchor-
ing
Relying on one piece of
information more heavily
than any other, usually on
the first one that we were
exposed to. [12]
Order of obtaining in-
formation.
Curse of
knowledg
e
When individuals, due to
having a different level of
knowledge, interpret facts
differently.[13]
The knowledge, experi-
ence and background of
the stakeholders.
Pro-
innova-
tion bias
An overly optimistic ap-
proach in adopting innova-
tive solutions. [16]
The architect’s state of
mind with respect to
innovative solutions.
Planning
fallacy
Underestimation of the
time it will take to com-
plete a task. [17]
Problem complexity
11
Bias
(1)
Description
(2)
Main contextual factors
that influence archi-
tect’s judgment
(3)
Band-
wagon
effect
The phenomenon of peo-
ple more likely adapting
ideas/buying products that
have already been widely
accepted. [19]
Existing widely accept-
ed solutions.
Irrational
escalation
Continuing an ac-
tion/investment, because
of a similar prior one, even
if the previous one turned
out to be a wrong decision.
[18]
Existence of an initial
solution, course of ac-
tion contradicting the
use of an initial solution.
Law of
the in-
strument
Using a tool/skill that you
possess everywhere, even
in contexts where it is not
appropriate. [15]
Architectural solutions
focal for an architect.
Optimism
bias
Overestimating the proba-
bility of favourable out-
comes of our decisions.
[14]
The architect’s state of
mind.
4 Biases in the practical conditions of architectural decision
making
Having established that cognitive biases are a common phenomenon in architecture
decision making, we explore real-world factors that can influence their manifestation
or affect the magnitude of their influence on architecture decision making.
Biases and time.
Cognitive biases are an integral element of human nature. They have been shaped
by the evolution of the human mind, and as such are a result of the adaptation to the
conditions of the environment. Although they possibly distract architects from craft-
ing a fully rational, thoroughly deliberated design, they potentially enable the qualities
desirable by today’s hectic software industry: rapid architecting and quick response to
changes or emergencies.
As the “need for speed” concerns more and more software engineers, the role of
system 1 will certainly be increasing at the cost of diminishing the role of system 2. It
means that even more decisions will be made intuitively without a thorough delibera-
12
tion. This may substantially hinder the quality of a software architecture. At the same
time, architecting efficiently under the pressure of time is something very desirable in
the frenetic software industry, as well as in emergency cases.
It seems that there are two basic ways of addressing this challenge:
1. Applying debiasing techniques this seems to be generally difficult, as the main
factor limiting rational judgement is the lack of time and other external pressures.
In order to ensure rational decision making, we have to give architects more time
to conclude a decision and to restrain the external pressures. This is in many cases
impossible, as we have limited or no control over the conditions that are external to
architectural decision making;
2. Accepting “the rules of the game” (biases) and trying to exploit them to our ad-
vantage this requires the development of techniques that lead to reasonable archi-
tectures under pressure of time. Hypothesising further, they could take the form of
a specific training for architects, probably similar to those used by students prepar-
ing for programming competitions: this training supposedly makes system 1 closer
to system 2 with regard to algorithms and computer programming, as trained stu-
dents decide at a glance which algorithms should be used in order to solve their ex-
ercise.
Biases and teams.
Applying group architecture decision making techniques has the potential to limit
the influence of biases, as decisions are made by people with different mindsets. This
justifies assessing an architecture by a group of stakeholders, such as in ATAM. At
the same time, group decision making brings with it the risk posed by the ‘law of
triviality’ bias.
Biases and cultural factors.
Cultural factors may magnify or diminish the influence of cognitive biases. For ex-
ample, in many cultures it is difficult for people to admit they cannot understand
something or accomplish a certain design. This will certainly strengthen the curse of
knowledge bias.
Biases and tools and methodologies.
It is also important to recognise that cognitive biases introduce a feedback between
what we create and how it is created, i.e. what we create, what we know influences
how it is created by us. This is exactly what most of the biases do consider, for ex-
ample, anchoring bias, irrational escalation and the law of instrument biases. There-
fore, it is worth investigating how different software development methodologies,
architecture decision-making techniques, software development tools etc. interact
with cognitive biases and vice versa.
13
5 Results
RQ.1 Are biases in architecture decision making commonly observed by software
engineering practitioners?.
It turned out that the participants commonly observe biases in deciding on software
design. Both novices (less than 2 years of experience) and experts (more than 10 years
of experience) in software engineering noticed biases. Novices indicated on average 1
bias each, experts about 4 biases each. Experts have a much broader experience than
novices, which explains the observed difference.
RQ.2. What are the most significant biases in architecture decision-making?
As a result of our research, we identified 12 cognitive biases that influence architec-
ture decision making. The list of these can be found in tables 1 and 2.
RQ.3. Which of these biases result from cognitive biases inherent to the conditions of
the human mind?
All these biases, concerning architectural decision making, indicated by the work-
shop participants and listed in table 1, can be related to well-known cognitive biases.
RQ.4. Which elements of the decision-making context can bias architects' decisions?
These identified elements of the decision-making context that bias architects’ deci-
sions are: form of presentation, the architect’s beliefs, who was the author of a given
design, the time spent on a given design, the order of obtaining information, the
knowledge, experience and background of the stakeholders, the architect’s state of
mind, the problem complexity, the existing widely-accepted solutions, the course of
action contradicting the use of an initial solution, and architectural solutions focal for
an architect.
RQ.5. Which aspects of architectural decision making are influenced by the biases
that have been identified?
The above aspects of architectural decision making are: the architect’s preferences
(finally expressed by the rationale for a decision), the scope of the considered archi-
tectural issues, alternatives and requirements, and the perception of the importance of
requirements (compare section 3.2 and table 2).
RQ.6. How do practical conditions influence the extent of the biases’ influence on
architectural decision making?
Time, teams, cultural factors as well as tools and methodologies used for software
development can affect the extent of the biases’ influence on architecture decision
making.
14
6 Discussion, limitations
The volume of research on cognitive biases in software engineering is rather small
(compare section 2). Let us observe that our research confirms the findings of the
seminal paper by Tang and van Vliet [7], namely, that anchoring, framing and con-
firmation biases are among the most often observed by software engineering practi-
tioners as influencing architectural decision making.
The contribution of this paper comprises:
the proposition of a model of how biases influence architectural decision making,
which enables a systematic, uniform analysis of various biases;
the identification of 12 cognitive biases that influence architectural decision mak-
ing;
an analysis of how each bias affects decision making, by identifying the elements
of the model mentioned above (elements of the context affecting decision making
and aspects of the decision-making process influenced by each bias);
an analysis and identification of real-world factors that can potentially influence
the extent of the influence of biases on architecture decision making.
The obvious limitation of the presented results are:
the number of workshop participants may influence the representativeness of the
results;
although the claims of section 4 seem to be logically sound, the analysis of real-
world factors is only exploratory, hence it requires empirical substantiation to
strengthen the claims of section 4.
7 Summary and research outlook
Cognitive biases are commonly present in architecture decision making. By asking
practitioners, we identified 12 cognitive biases that can be observed most frequently.
In order to analyse their influence on architectural decision making in a uniform way,
we have developed a model of how biases ‘work’.
The common presents of cognitive biases is both virtue and vice. On one side, they
enable rapid architecting by an intuitive resolution of the architectural issues, on the
other, they may lead to suboptimal solutions and in extreme cases to a design disaster.
We can either try to accept and exploit them, or fight them. Probably, we need a kind
of a decision-making approach that balances ‘system 1’ and ‘system 2’ decision mak-
ing.
The further research outlook includes:
obtaining a more statistically significant confirmation of the above results by inter-
views with a larger group of practitioners or by a broader industrial survey;
investigating the interactions that may exist between the biases;
15
developing techniques of using the knowledge about biases and their influence on
decision-making process, in order to align the architecting process with the stake-
holders’ expectations;
carrying out an in-depth analysis of each of the identified biases.
References
1. Naur, P., Randell, B., Software Engineering Techniques. Report on a conference spon-
sored by the Nato Science Committee, Garmisch, Germany, 7th to 11th October 1968.
2. Buxton, J. N., Randell, B., Software Engineering Techniques. Report on a conference
sponsored by the Nato Science Committee, Rome, Italy, 27th to 31st October 1969.
3. Zannier, C., Chiasson, M., Maurer, F., A model of design decision making based on empir-
ical results of interviews with software designers, Information and Software Technology,
Volume 49, Issue 6, June 2007, Pages 637-653.
4. Kahneman, D.: Thinking, fast and slow. Penguin (2011)
5. Tang, A., van Vliet, H, Design Strategy and Software Design Effectiveness. IEEE Soft-
ware, vol. 29, no. 1, pp. 51-55, Jan.-Feb. 2012.
6. Van Vliet, H., Tang, A., Software Designers Satisfice. LNCS vol. 9278, Springer, 2015.
7. Van Vliet, H., Tang, A., Decision Making in Software Architecture. Journal of Software
and Systems, 2016.
8. Tversky, A., and Kahneman, D., Rational choice and the framing of decisions, Journal of
business, 1986.
9. Nickerson, R.S., Confirmation bias: A ubiquitous phenomenon in many guises, Review of
general psychology, 1998.
10. Norton, M. I., Mochon D., Ariely, D., “The IKEA Effect: When Labor Leads to Love.”
Journal of Consumer Psychology 22 (3), pp. 453460, July, 2012.
11. Parkinson, C. Northcote (1958). Parkinson's Law, or the Pursuit of Progress. Penguin,
2002.
12. Tversky, A., Kahneman D., Judgment under uncertainty: Heuristics and biases, Utility,
probability, and human decision making. Springer Netherlands, 1975. 141-162.
13. Birch, S. AJ, Bloom P., The curse of knowledge in reasoning about false beliefs, Psycho-
logical Science 18.5 (2007): pp. 382-386.
14. Sharot, T., Neural mechanisms mediating optimism bias, Nature 450.7166 (2007): pp. 102-
105.
15. Brown, W.H., et al. AntiPatterns: refactoring software, architectures, and projects in crisis.
John Wiley & Sons, Inc., 1998.
16. Rogers, E. M, Diffusion of innovations. Simon and Schuster, 2010.
17. Buehler, R., Griffin D., Ross M., Exploring the planning fallacy: Why people underesti-
mate their task completion times, Journal of personality and social psychology 67.3
(1994): 366.
18. Bazerman, M. H., and Neale M. A., Negotiating rationally. Simon and Schuster, 1993.
19. Leibenstein, H., Bandwagon, snob, and Veblen effects in the theory of consumers' de-
mand, The quarterly journal of economics 64.2 (1950), pp. 183-207.
20. Kahneman, D., Renshon, J., Hawkish biases. In American Foreign Policy and the Politics
of Fear: Threat Inflation Since 9/11, pp. 79-96, Routledge, 2009.
Article
As society's reliance on software systems escalates over time, so too does the cost of failure of these systems. Meanwhile, the complexity of software systems, as well as of their designs, is also ever‐increasing, influenced by the proliferation of new tools and technologies to address intended societal needs. The traditional response to this complexity in software engineering and software architecture has been to apply rationalistic approaches to software design through methods and tools for capturing design rationale and evaluating various design options against a set of criteria. However, research from other fields demonstrates that intuition may also hold benefits for making complex design decisions. All humans, including software designers, use intuition and rationality in varying combinations. The aim of this article is to provide a comprehensive overview of what is known and unknown from existing research regarding the use and performance consequences of using intuition and rationality in software design decision‐making. To this end, a systematic literature review has been conducted, with an initial sample of 3909 unique publications and a final sample of 26 primary studies. We present an overview of existing research, based on the literature concerning intuition and rationality use in software design decision‐making and propose a research agenda with 14 questions that should encourage researchers to fill identified research gaps. This research agenda emphasizes what should be investigated to be able to develop support for the application of the two cognitive processes in software design decision‐making.
Chapter
Architectural decision-making is a crucial concern for researchers and practitioners alike. There is a rationale behind every architectural decision that motivates an architect to choose one architectural solution out of a set of options. This study aims to identify which categories of rationale most frequently impact architectural decisions and investigates why these are important to practitioners. Our research comprises two steps of empirical inquiry: a questionnaire (63 participants) and 13 interviews. As a result, we obtained a set of rationales that motivated architects’ decisions in practice. Out of them, we extracted a list of software quality attributes that practitioners were the most concerned about. We found that, overall, architects prefer to choose solutions which are familiar to them or that guarantee fast software implementation. Mid-career architects (5 to 15 years of experience) are more open to new solutions than senior and junior practitioners. Additionally, we found that most practitioners are not concerned about the quality attributes of compatibility and portability due to modern software development practices, such as the prevalence of using specific standards and virtualisation/containerization. KeywordsSoftware ArchitectureArchitectural decision-makingRationaleSoftware Quality Attributes
Article
Full-text available
Cognitive biases influence every human being, including the individuals that take part in the software development process. Fixation is a cognitive bias that occurs when one focuses too much on certain items, events, obstacles or activities. In this study, we examine whether agile team members fixate on any particular agile practices. Through a set of semi-structured interviews, we investigated the source of these fixations, their consequences, and then propose possible countermeasures. We found that practitioners tend to fixate on practices that give them a sense of being in control over the project (such as meetings or Scrum events), while neglecting the Agile Principles of self-organising teams and working at a sustainable pace. This resulted in a series of problems, such as futile attempts to control team members, oversharing information with the client, meetings becoming a form of interrogation, and others.
Chapter
Cognitive biases distort the process of rational decision-making, including architectural decision-making. So far, no method has been empirically proven to reduce the impact of cognitive biases on architectural decision-making. We conducted an experiment in which 44 master’s degree graduate students took part. Divided into 12 teams, they created two designs – before and after a debiasing workshop. We recorded this process and analysed how the participants discussed their decisions. In most cases (10 out of 12 groups), the teams’ reasoning improved after the workshop. Thus, we show that debiasing architectural decision-making is an attainable goal and provide a simple debiasing treatment that could easily be used when training software practitioners.
Chapter
The impact of cognitive biases on architectural decision-making has been proven by previous research. In this work, we endeavour to create a debiasing treatment that would minimise the impact of cognitive biases on architectural decision-making. We conducted a pilot study on two groups of students, to investigate whether a simple debiasing presentation reporting on the influences of cognitive biases, can provide a debiasing effect. The preliminary results show that this kind of treatment is ineffective. Through analysing our results, we propose a set of modifications that could result in a better effect.
Article
Context During software development, some architectural design decisions incur technical debt, either deliberately or inadvertently. These have serious impact on the quality of a software system, and can cost significant time and effort to be changed. While current research efforts have explored general concepts of architectural design decisions and technical debt separately, debt-incurring architectural design decisions have not been specifically explored in practice. Objective In this case study, we explore debt-incurring architectural design decisions (DADDs) in practice. Specifically, we explore the main types of DADDs, why and how they are incurred in a software system, and how practitioners deal with these types of design decisions. Method We performed interviews and a focus group with practitioners working in embedded and enterprise software companies, discussing their concrete experience with such architectural design decisions. Results We provide the following contributions: 1) A categorization for the types of DADDs, which extend a current ontology on architectural design decisions. 2) A process on how deliberate DADDs are made in practice. 3) A conceptual model which shows the relationships between the causes and triggers of inadvertent DADDs. 4) The main factors that influence the way of dealing with DADDs. Conclusion The results can support the development of new approaches and tools for Architecture Technical Debt management from the perspective of Design Decisions. Moreover, they support future research to capture architecture knowledge related to DADDs.
Article
The scope of automotive functions has grown from a single vehicle as an entity to multiple vehicles working together as an entity, referred to as cooperative driving. The current automotive safety standard, ISO 26262, is designed for single vehicles. With the increasing number of cooperative driving capable vehicles on the road, it is now imperative to systematically assess the functional safety of architectures of these vehicles. Many methods are proposed to assess architectures with respect to different quality attributes in the software architecture domain, but to the best of our knowledge, functional safety assessment of automotive architectures is not explored in the literature. We present a method, that leverages existing research in software architecture and safety engineering domains, to check whether the functional safety requirements for a cooperative driving scenario are fulfilled in the technical architecture of a vehicle. We apply our method on a real-life academic prototype for a cooperative driving scenario, platooning, and discuss our insights.
Article
Territorial planning has been recognized as an inherently wicked problem situation or ill-defined problem, with also an intrinsic spatial nature (i.e. a non-homogeneous spatial distribution of territorial characteristics, impacts associated to alternative solutions and stakeholders). The first and most important phase of any planning and decision making process consists in framing the project/decision situation, which should lead to a clear understanding of the problem/opportunity that needs to be addressed, as well as a clear understanding of what needs to be achieved. This paper proposes and tests an integrated and spatially explicit framework based on the three key components of purpose, perspective and scope to support the framing stage of territorial planning and regeneration processes. While this framework represents a consolidated approach for decision aiding across different domains of applications, it constitutes a novel approach for territorial regeneration processes. The proposed framework has been deployed to support the planning and regeneration process in a World Heritage site in Northern Italy. Results show that an integrated, spatially explicit and collaborative framework, based on the use of Geographic Information Systems (GIS), SWOT analysis, Multi Criteria Decision Analysis (MCDA) and stakeholders’ analysis, can effectively support the identification and definition of (i) the top priority for a certain territorial context (i.e. purpose of the intervention), (ii) who to involve in the process and when (i.e. perspective) and the geographical boundaries of the subsequent decision efforts (i.e. the scope of the planning and decision making process). By borrowing cutting edge approaches from the decision analysis domain and introducing them in the field of territorial regeneration processes, this work bridges together urban planning, behavioral decision analysis and multi methodology research.
Article
Full-text available
People tend to hold overly favorable views of their abilities in many social and intellectual domains. The authors suggest that this overestimation occurs, in part, because people who are unskilled in these domains suffer a dual burden: Not only do these people reach erroneous conclusions and make unfortunate choices, but their incompetence robs them of the metacognitive ability to realize it. Across 4 studies, the authors found that participants scoring in the bottom quartile on tests of humor, grammar, and logic grossly overestimated their test performance and ability. Although their test scores put them in the 12th percentile, they estimated themselves to be in the 62nd. Several analyses linked this miscalibration to deficits in metacognitive skill, or the capacity to distinguish accuracy from error. Paradoxically, improving the skills of participants, and thus increasing their metacognitive competence, helped them recognize the limitations of their abilities.
Article
Full-text available
Traditionally, software architecture is seen as the result of the software architecture design process, the solution, usually represented by a set of components and connectors. Recently, the why of the solution, the set of design decisions made by the software architect, is complementing or even replacing the solution-oriented definition of software architecture. This in turn leads to the study of the process of making these decisions. We outline some research directions that may help us understand and improve the software architecture design process.
Article
Full-text available
Confirmation bias, as the term is typically used in the psychological literature, connotes the seeking or interpreting of evidence in ways that are partial to existing beliefs, expectations, or a hypothesis in hand. The author reviews evidence of such a bias in a variety of guises and gives examples of its operation in several practical contexts. Possible explanations are considered, and the question of its utility or disutility is discussed.
Conference Paper
Full-text available
The software architecture community has advocated design rationale in the last decade. However, there is little knowledge of how much reasoning is performed when software design judgments are made. In this study, we investigated the amount of design reasoning performed before making a decision. We recruited 32 students and 40 professionals to participate in this software architecture design study. We found that most subjects needed only a few reasons before making their decisions. They considered that giving a few reasons were good enough to judge despite that more reasons could be found. This result shows a satisficing behavior in design decision making. We explore the implications of this common behavior on software architecture design.
Chapter
This article discusses the model of the diffusion of innovations and describes this model’s key variables. Diffusion is the process by which an innovation is communicated through certain channels over time among the members of a social system. An innovation is an idea, practice, or object that is perceived as new by an individual or other unit of adoption.
Article
In a series of studies in which consumers assembled IKEA boxes, folded origami, and built sets of Legos, we demonstrate and investigate the boundary conditions for what we term the “IKEA effect” – the increase in valuation of self-made products. Participants saw their amateurish creations – of both utilitarian and hedonic products – as similar in value to the creations of experts, and expected others to share their opinions. Our account suggests that labor leads to increased valuation only when labor results in successful completion of tasks; thus when participants built and then destroyed their creations, or failed to complete them, the IKEA effect dissipated. Finally, we show that labor increases valuation of completed products not just for consumers who profess an interest in “do-it-yourself” projects, but even for those who are relatively uninterested. We discuss the implications of the IKEA effect for marketing managers and organizations more generally.