Let Us Thrive: Well-Being for Humanity!
What is the best pathway to acquire new knowledge, create a positive work-life balance, and to plan and adapt successfully? Acceptance, tolerance, and inclusiveness: embracing these practices is key to transforming our outlook and attaining higher ...
Using Hypotheses to Manage Technical Uncertainty and Architecture Evolution in a Software Start-up
- Kelson Silva,
- Jorge Melegati,
- Xiaofeng Wang,
- Mauricio Ferreira,
- Eduardo Guerra,
- Cesare Pautasso,
- Olaf Zimmermann
This article presents the case of a start-up applying a technique named ArchHypo that uses hypotheses to express uncertainties related to the software architecture. Ten months after identifying the hypotheses, it was assessed how the usage of this ...
Requirements for Organizational Resilience: Engineering Developer Happiness
Can the right requirements boost developer satisfaction and happiness? We believe they can. In keeping with this issue’s theme, “Well-Being for Resilience: Developers Thrive,” we discuss the connection between the three keywords, well-being, resilience, ...
Measuring Developer Experience With a Longitudinal Survey
- Sarah D’Angelo,
- Jessica Lin,
- Jill Dicker,
- Carolyn Egelman,
- Maggie Hodges,
- Collin Green,
- Ciera Jaspan,
- Ciera Jaspan,
- Collin Green
At Google, we’ve been running a quarterly large-scale survey with developers since 2018. In this article, we will discuss how we run EngSat, some of our key learnings over the past 6 years, and how we’ve evolved our approach to meet new needs and ...
Engineering Data Processing Workflows
Effective data processing workflows are crucial in data science, business analytics, and machine learning. Domain-specific tools can be invaluable, but often custom workflows are needed. Key to their success is splitting data and tasks into manageable ...
Tools for Requirements Engineering
- Juan M. Carrillo-de-Gea,
- Christof Ebert,
- Mohamed Hosni,
- Aurora Vizcaíno,
- Joaquín Nicolás,
- José L. Fernández-Alemán,
- Christof Ebert
Requirements engineering needs a good process and the right tool. Yet in many companies I observe unsuitable use of tools. Missing, wrong, and changing requirements are major failure points. Tools for requirements facilitate professional and efficient ...
Well-Being and Resilience: Developers Thrive!
This special issue shows that the state of wellbeing in software engineering is concerning. Clarity on values and clarity on values and integrity help increase resilience. Hence, make time for a weekly reflection practice, and treat it the same as you ...
Addressing Bad Feelings in Agile Software Project Contexts: Considering Team Welfare and Developer Mental Health
Like all people, software developers feel several emotions when working on agile projects. But what are the underlying reasons for these emotions? Can we boost developer satisfaction and productivity by remedying the causes of negative emotions? We ...
Overwhelmed Software Developers
We have conducted a qualitative psychology study to explore the experience of feeling overwhelmed in the realm of software development. We believe that software developers possess unique traits that may enable them to navigate through the storm of ...
Advancing More Inclusive Tech Careers: How People Develop Their Potential and Thrive
People in the technology industry who belong to underrepresented groups are using six capabilities to develop and harness their potential: perseverance, learning, work experience, communication, curiosity, and empathy. We discuss how organizations need to ...
Developer Thriving: Four Sociocognitive Factors That Create Resilient Productivity on Software Teams
We present a research-based framework for measuring successful environments on software teams for long-term and sustainable sociocognitive problem-solving. Across 1,282 full-time developers in 12+ industries, we tested the factors of our framework and ...
Hybrid Work Well-Being: Software Professionals Finding Equilibrium
We investigated how hybrid work influences well-being in the software industry. Our findings indicate that hybrid work offers primarily positive effects on software professionals’ overall well-being, impacting four of the five PERMA model dimensions: ...
Psychological Safety in the Software Work Environment
Psychological safety is central to promoting a healthy and productive work environment. This article identifies interpersonal challenges that impact psychological safety and provides insights to foster a psychologically safe workspace in software ...
Empathy and Its Effects on Software Practitioners’ Well-Being and Mental Health
- Lidiany Cerqueira,
- Sávio Freire,
- Danilo Ferreira Neves,
- João Pedro Silva Bastos,
- Beatriz Santana,
- Rodrigo Spínola,
- Manoel Mendonça,
- José Amancio Macedo Santos
We recommend that team members practice empathy by being mindful and understanding of others, which can reduce blame, improve job motivation, and prevent burnout. Empathy is an important skill for software practitioners, supporting them to build better ...
Toward Optimal Psychological Functioning in AI-Driven Software Engineering Tasks: The Software Evaluation for Well-Being and Optimal Psychological Functioning in a Context-Aware Environment Assessment Framework
Holistic consideration of the technical, psychological, and social aspects of software engineering tasks is essential. We introduce a conceptual framework designed to assess AI-driven software engineering tasks from multiple perspectives, to improve the ...
The Crucial Role of Personal Values on Well-Being and Resilience in the Software Industry
Personal values play a pivotal role in shaping individuals’ behaviors and decisions. This research aims to determine how alignment with personal values in both professional and personal life influences an individual’s resilience and well-being in the ...
Polyglot Software Development: Wait, What?
- Gunter Mussbacher,
- Benoit Combemale,
- Jörg Kienzle,
- Lola Burgueño,
- Antonio Garcia-Dominguez,
- Jean-Marc Jézéquel,
- Gwendal Jouneaux,
- Djamel-Eddine Khelladi,
- Sébastien Mosser,
- Corinne Pulgar,
- Houari Sahraoui,
- Maximilian Schiedermeier,
- Tijs van der Storm
We propose a concise and unambiguous definition of polyglot software development with a conceptual model and characterize the techniques used for the specification and operationalization of polyglot software development with a feature model.
Continuous Compliance in the Automotive Industry
Although the need to comply with standards has been identified, the concept of continuous compliance has never been defined and characterized. We provide a precise definition of continuous compliance and discuss how compliance with standards can be ...
Taxing Collaborative Software Engineering: The Challenges for Tax Compliance in Software Engineering
- Michael Dorner,
- Maximilian Capraro,
- Oliver Treidler,
- Tom-Eric Kunz,
- Darja Šmite,
- Ehsan Zabardast,
- Daniel Mendez,
- Krzysztof Wnuk
The engineering of complex software systems is often the result of a highly collaborative effort. However, collaboration within a multinational enterprise has an overlooked legal implication when developers collaborate across national borders: It is ...
Design Patterns for Machine Learning-Based Systems With Humans in the Loop
Human involvement in machine learning (ML) is a promising paradigm to overcome the limitations of purely automated predictions and improve the applicability of ML. We compile a catalog of design patterns to guide developers to select and implement human-...
Developing a Reconfigurable Architecture for the Remote Operation of Marine Autonomous Systems
- Alvaro Lorenzo Lopez,
- Ashley Morris,
- Owain Jones,
- Alexander B. Phillips,
- Francisco Mario Hernández Tejera,
- Adrian Penate-Sanchez
In this experience report, we explain how we take advantage of microservices’ inherent modular nature to accomplish a highly adaptable software architecture that can deal with the trials and tribulations often occurring in marine research environments, ...
Human Aspects and Security in Software Development
- Miroslaw Staron,
- Silvia Abrahão,
- Birgit Penzenstaler,
- Alexander Serebrenik,
- Silvia Abrahão,
- Miroslaw Staron
This edition of the “Practitioners’ Digest” brings you recent articles on approaches to addressing selected human and technical aspects of software development, from finding security vulnerabilities, system-level testing, to understanding the impact of ...
Are You Trapped in the Configuration Abyss? An Interview With Prof. Sven Apel
In between what we could do and what we should do lies a configuration abyss, full of poor choices, where opportunities are missed and many mistakes are made. Prof. Sven Apel knows just how poorly humans can make choices. Accordingly he explores the ...
Work Management Strategies to Prevent Overload
Overload can threaten a software system’s performance and reliability due to resource exhaustion. Multiple or long-running incidents can similarly diminish an engineer’s ability to meet sustained workload demands by exhausting the adaptive capacity of ...
Karl Wiegers and Candase Hokanson on Software Requirements Essentials
Karl Wiegers and Candase Hokanson speak with SE Radio host Gavin Henry about software requirements essentials. They explore five different parts of requirements engineering and how you can apply them to any ongoing project.