Antipattern: Emotional Attachment
Author(s): Tobias
Very often, people involved in software development have certain preferences for frameworks, programming languages, or architectural approaches to which they cling, regardless of whether these preferences solve the current problem. Likewise, people may become emotionally attached to a solution because they have struggled with other approaches in the past and do not want to repeat that experience. Or the other way around, people may become emotionally attached to a solution because the team came up with a good solution and want to stick to it. The crucial aspect here is the emotional part, which leads to sticking to certain solutions.
It should be mentioned that an emotional bond can also have positive sides. For example, often a positive emotional attachment to a product in which someone is involved has a positive effect on the product itself. It becomes problematic when decisions are made for emotional reasons and objective facts are ignored.
What are some examples?
- Binding to an ecosystem
- Building a self-made framework instead of using an existing one
- Sticking to a poorly functioning platform / decision
- Developers see the system as their “baby”
- Legacy systems based on outdated technologies
- Reusing well known but unsuitable software for a new task
Why does this happen?
- Fear of losing face when changing an architectural approach or technology
- Fear of having to learn something new
- Painful experience with a certain type of solution
- Overconfidence that you can do better
- Fear of throwing away existing things and having “wasted” time
- Being proud of someone’s solution and the desire for appreciation
- Be very convinced of a manufacturer without evaluating the concrete solution
How can we avoid getting into the situation in the first place?
- Create a regular evaluation/review loop for making decisions
- Create a safe space to reduce the emotional aspects
- Use of objective/neutral evaluation templates
- Obtain a neutral opinion
- Clarify that reevaluating is not a personal devaluation of an existing solution
- Introduction of an error culture can address fears
What are suggestions to get out of the situation if we ended up in it?
- Same as above (avoid getting into the situation)