There is a single activity that every person performs daily, dozens or even hundreds of times—making decisions.

From the moment we wake up, we must decide what to eat for breakfast or which clothes to wear. As the day progresses, we encounter more complex decisions during our workday. Ultimately, we return home and may face significant, life-changing decisions. At first glance, each decision appears unique and requires varying amounts of cognitive resources, as some are inherently more challenging than others. How can we compare choosing what to have for dinner with deciding where to spend our next vacation?
In the IT industry particularly, we make numerous decisions daily. These range from determining what work to prioritize next, selecting appropriate frameworks or technologies, and deciding how certain elements should appear on the UI, to confronting what many consider the most difficult decision in IT—how to name classes, methods, or variables. Our brains become exhausted by this constant decision-making. However, despite this being one of our most frequent daily activities, we rarely pay sufficient attention to the decision-making process itself. Most of the time, we make decisions based on subjective opinion—or gut feeling—or are influenced by others.
Even with extensive experience in making decisions, the process still requires considerable effort, and in most cases, we find it uncomfortable. In this article, I aim to explore why decision-making consumes so much energy, what pitfalls we encounter, and knowing all that, how we can improve our decision-making abilities and leverage LLMs to support us in this process. Let’s start by addressing the fundamental question: why is decision-making so difficult?
Why Making Decisions Exhausts Us
We must admit it: no one enjoys making decisions. However, we need to recognize that the problem lies not in the decision itself, but in what follows. This is where the concept of decision fatigue becomes relevant.
Decision fatigue is a psychological phenomenon first systematically studied by social psychologist Roy F. Baumeister, who demonstrated that the more decisions we make, the more our cognitive resources become depleted, leading to progressively poorer decision-making over time [1]. Baumeister’s research revealed that decision fatigue is directly linked to low glucose levels, and that replenishing them restores our capacity to make effective decisions, thereby establishing a biological basis for the phenomenon [2]. The concept emerged from research on ego depletion and self-control, demonstrating that the mental energy required for decision-making is finite. As this energy is consumed, our ability to make thoughtful and well-considered decisions deteriorates—essentially, our brains become fatigued in much the same way our muscles do after physical exertion [1].
This phenomenon is particularly problematic in the modern era. Compared to the previous century, we now face significantly more decisions on a daily basis. While this abundance of choice might initially seem beneficial, decision fatigue reveals a paradox: the more decisions we make, the lower the quality of those decisions becomes.
Decision-Making Variability
From the previous discussion, we understand that regardless of the decision, each one consumes the same amount of mental energy. Consequently, the more decisions we make during the day, the poorer our performance becomes. However, this is only one aspect of the challenge.
According to Daniel Kahneman’s bool Noise, judgment variability arises from factors such as mood, context, and personal biases that affect decisions unpredictably [3]. Cognitive abilities, personality, overconfidence, and the subjective nature of scales where concepts mean different things to different people create systematic differences in how individuals evaluate the same situations. Temporary factors like mood, weather, and fatigue cause the same person to make different judgments about identical situations at different times [4]. Excessive coherence causes people to downplay information that doesn’t fit a pre-existing storyline, while lack of formal procedures, focusing on outcomes rather than process, and social influence further contribute to unwanted variability in human judgment [5].
This overview merely scratches the surface of decision-making complexity. For readers interested in exploring this topic in greater depth, I highly recommend Daniel Kahneman’s book Noise: A Flaw in Human Judgment.
Neglecting the Decision-Making Process
Despite understanding that decision-making is inherently difficult and that numerous factors influence our judgment, we still fail to pay sufficient attention to the decision-making process itself. In IT, when selecting technologies, we typically default to something we have used previously or adopt what someone else has suggested. We rarely explore alternatives or conduct meaningful comparisons. As a result, the prevailing argument often becomes: “It worked in a previous project, so it should work here as well.”
This approach frequently leads to suboptimal decisions. In the following section, I will share a decision-making framework that has proven effective in my experience.
The Solution: A Guided Decision Framework
The question is: how can we overcome all of these factors that influence our decisions? It certainly won’t be easy. However, we can follow a structured process that guides our thinking in a deliberate manner. By doing so, we can ensure that we make the best possible decision within a given context.
Step 1: Define Criteria
The most critical step is defining clear criteria. Since we are seeking the best option within a given context, we need an effective method for assessing why option A is superior to option B. Criteria might include specific features that must be available or other measurable attributes that facilitate straightforward comparison between solutions.
How To Do It?
It is important to note that criteria should not be arbitrary or defined solely by developers. Rather, there should be a clear connection between the criteria and the architectural drivers for the system. Beyond functional requirements, criteria should also address non-functional requirements such as performance, as well as constraints like budget limitations.
Establishing appropriate criteria is crucial for making sound judgments. For this reason, I strongly recommend exploring the topic of architectural drivers in greater depth.
A good starting point is to leverage LLMs, which can recommend potential criteria for evaluation. Additionally, we can use them to quickly validate our criteria by asking whether anything important has been overlooked. However, it is essential to remember that we should not accept LLM-generated criteria without careful consideration. Instead, we must ensure they align with our specific architectural drivers and project requirements.
Step 2: List Down Alternatives
The goal of a structured decision-making process is to identify the best option among all available alternatives. However, individuals frequently narrow their focus prematurely, failing to consider the full spectrum of possibilities. This behavior stems from the influencing factors discussed earlier. For instance, past success with a particular solution may lead to overconfidence that it will succeed again. Alternatively, suggestions from more experienced team members can create an anchoring effect. These biases can then distort the evaluation process itself, causing us to unconsciously manipulate our assessment to validate a predetermined choice rather than conducting a genuinely objective analysis.
How To Do It?
Don’t hesitate to consult colleagues about their experiences and past technology choices, as this can quickly expand your list of alternatives. LLMs can also be invaluable at this stage. Given their ability to search and synthesize information from across the internet, they can effectively identify additional viable options you may not have considered.
Step 3: Prepare Assessment
At this point, we should have a complete list of criteria against which we will evaluate the alternatives we’ve gathered. The purpose of this assessment is to develop a clear understanding of which option best meets our requirements.
How To Do It?
When your criteria list is extensive, evaluating every option against all criteria can become time-consuming, particularly when working under tight deadlines. To streamline the process, narrow your alternatives down to a minimum of three options. Many alternatives can be quickly eliminated because they lack essential features or require paid licensing that exceeds budget constraints.
LLMs can assist with this initial screening. Provide the LLM with your three core criteria along with all alternatives, and it can perform a preliminary evaluation. However, exercise caution—do not rely solely on the LLM’s assessment, as it may misinterpret information from websites or documentation. Always request links and detailed explanations for its conclusions. If you have any doubts, verify the information by asking targeted questions about specific tools or by reviewing the source documentation directly.
Next, create a document that first you will write down all options. After that list options that were rejected and give precise reason why. In the next section create a table. Individual rows are your criteria and columns are your options. This is time for your careful research. You can support yourself with LLM but in this case you need to double-check everything since LLM might not give you full context. If you have enough time, you can conduct Proof of Concept to verify some criteria.
Important thing to remember that at this point nothing is set in stone. To change your decision at this point is for free. You can always add new alternative or criteria. Or you can decide to evaluate an option again that was previously rejected.
Step 4: Propose Solution
After the third step, we should have gathered all needed data to be able to make a decision. Therefore it is time to choose one of the solution.
How To Do It?
You should select the solution that best satisfies your established criteria. The decision must be documented in the format of an Architecture Decision Record (ADR). While numerous ADR formats exist, your documentation should include these essential components:
- Context – Explains what the decision addresses and provides relevant background information
- Decision – A concise statement identifying which option was selected
- Rationale – An explanation of why this solution was chosen
- Consequences – Recognition of the trade-offs involved, as every decision comes with both benefits and drawbacks
- Alternatives – A list of other solutions considered, along with reasons for their rejection
These five elements form the foundation of an effective ADR. While the full ADR format includes additional sections, these core components are sufficient for most purposes. I encourage you to explore the complete ADR format to further enhance your documentation practice.
Step 5: Challenge It With Others
The final step involves gaining buy-in from your team and all stakeholders for the chosen solution. This is a collaborative stage where team members may propose new alternatives or suggest additional criteria. Be prepared to iteratively refine your documentation and remain open to changing your decision when presented with new information or compelling arguments.
Summary
While decision-making may seem straightforward to some, it remains one of the most challenging activities we undertake due to its long-term consequences.
This article has explored why decision-making is so difficult and the factors that influence our judgment. The encouraging news is that we can overcome these challenges by implementing a consistent framework that guides us toward better decisions.
While this process significantly reduces the likelihood of poor decisions, it does not eliminate the possibility entirely. Therefore, we should design our systems with the flexibility to adapt when decisions prove suboptimal—but that is a topic for another discussion.
Links
[1] https://www.bozemancounseling.org/blog/2024/8/4/navigating-decision-fatigue
[2] https://en.wikipedia.org/wiki/Decision_fatigue
[3] https://www.ubs.com/microsites/nobel-perspectives/en/latest-economic-questions/success/articles/reducing-noise-in-decision-making.html
[4] https://hiddenvaluegems.com/library/noise-a-flow-in-human-judgement-by-daniel-kahneman
[5] https://www.fairinstitute.org/blog/daniel-kahnemans-book-noise-sounds-the-same-alarms-about-muddled-decision-making-as-the-fair-movement