§ 3 Good Feelings
Context
Software development is a highly mental endeavour, relying on our human abilities to build systems[1]. Developers work in environments where they have to interact and collaborate with other people.
Problem
In addition to having rational thinking, humans also have emotional and social needs. A good head-space is thus essential for effectively reaching a desired result, as developers’ emotions and feelings positively influence their performance[2][3].
How can we strive for a good mindset regarding our development work?
Forces
- Having an atmosphere that supports developers and other professionals helps with productivity, but how to foster such an environment may seem unclear, or have many different moving parts to address.
- Developers usually work in teams and are expected to collaborate with each other, but some developers prefer to work alone and can feel drained by teamwork.
- Software development contexts can include a diversity of people, which can bring diverse perspectives and experiences. However, the differences that come from people’s backgrounds, roles, priorities and tasks can make communication harder.
Solution
Developers should improve their social environment through good teamwork practices and fostering positive relationships with the project’s stakeholders, in addition to bolstering their emotional side by championing an atmosphere of respect, trust and belonging.
A developer’s teammates are, most likely, the people they interact with most during a workday. These interactions range from collaborating on tasks, coordinating work in meetings, and sharing knowledge and experience. A developer’s team should be a well-oiled machine and provide an atmosphere where trust is prevalent, and team members can rely on each other (§8 Team Players).
Depending on the size of their organisation, a developer may encounter people with other roles besides their teammates, such as business people, coaches, clients or end-users, and even other developers. We can find people with different backgrounds and experiences in these varied roles, which suggests that people should be open and communicative to ensure smooth cooperation between the various stakeholders (§9 Stakeholder Relationships).
Even if developers and their co-workers interact well enough to get things done, the right social atmosphere is vital to further boost developers’ mindsets and productivity. By being respectful, trusting their co-workers, and having a welcoming attitude, developers and the people they work with can ensure everyone feels safe to take initiative without fear of fallout when things don’t go as planned (§10 Breathable Atmosphere).
Examples
- Iris is hesitant to raise concerns about the unrealistic sprint plan set by her project manager, fearing it will make her look uncommitted. During the next retrospective, Jeff, the Agile coach, following the Breathable Atmosphere pattern, explicitly invites everyone to share doubts and ensures that disagreements are handled respectfully. This creates a safe space for Iris to voice her concerns, leading to a more realistic plan and reducing her stress.
- Kris accidentally commits faulty code that breaks the build. Instead of criticising them, their teammate Liam suggests doing pair programming to resolve the situation and share advice. This supportive response, fostered by Team Players, helps Kris feel safe despite the mistake, reinforcing trust and reducing their anxiety about future contributions.
- Noah’s team is under pressure to deliver quickly. In meetings, their stakeholder Maya pushes for features without listening to technical concerns, which frustrates the team. With support from their manager, Noah’s team decides to employ Stakeholder Relationships, introducing short check-ins where Noah and his colleagues explain trade-offs, enabling Maya to gain a clearer picture of their constraints. The improved communication reduces tension and makes collaboration more positive.
Consequences
- Nurturing interpersonal relationships can improve the developers’ head-space, making them perform better.
- Improving developers’ mindsets related to their work can be easier said than done, since some development teams may be dysfunctional, with developers not getting along with their colleagues.
- Achieving a state of high spirits can require investing time and money into something that is not physically tangible, which may be harder to justify over something that can be seen easier (such as investing on a new toolset). \todo{review consequence}
References
- A. Cockburn, Agile software development: The cooperative game. Addison-Wesley, 2006.
- D. Graziotin, F. Fagerholm, X. Wang, and P. Abrahamsson, “What happens when software developers are (un)happy,” Journal of Systems and Software, vol. 140, pp. 32–47, 2018, doi: 10/gc8wp7.
- R. M. Kurian and S. Thomas, “Importance of positive emotions in software developers’ performance: A narrative review,” Theoretical Issues in Ergonomics Science, vol. 24, no. 6, pp. 631–645, Nov. 2023, doi: 10.1080/1463922X.2022.2134483.
Last updated: December 18, 2025