Software is developed by humans to address human needs. Many human aspects impact end users of software, for example, sight differences; cognitive differences; user age, cultural background, language, and language proficiency; living and working conditions; and so on. Many human aspects also impact software engineers and teams, such as differences in gender, culture, language, emotions, motivation, experience, etc. While end users of software represent the wider human population with its variations, typically software developers form a more unique group: highly educated, highly proficient in English, very comfortable with technology, highly paid, and, unfortunately due to continued trends, mostly male. In order to build software solutions for the wider end user populations, it is critical for software developers to empathize with and deeply understand their end user differences and how that impacts software usage.

In this chapter, we provide an overview of a few of our recent studies identifying some of the key challenges of these human aspects impacting software engineers and software end users. We follow this with a summary of a few of our recent studies addressing how some human aspects impact software engineering (SE), including end user age and mental and physical challenges and developer emotions and gender. We report some of the key lessons that we have learned to date from conducting these studies and present a brief research roadmap for better addressing these human aspects in SE.

Human Aspects and Software Engineering

Several human aspects impacting SE have been studied. In the following, we briefly review some of these, but this is by no means a comprehensive list – we have developed a preliminary taxonomy of end user human aspects [11] and one of developer human aspects impacting requirements engineering (RE) [14].

Gender: Gender bias toward software end users, for example, assuming users are male – this can include the use of noninclusive language, terminology, treatment, and assumptions about users based on their gender [42, 45]. Gender bias also impacts software engineers [Chapter 4 -Breaking the Glass Floor for Women in Tech, Chapter 5 - How Users Perceive the Representation of Non-binary Gender in Software Systems: An Interview Study, Chapter 11- Gender Diversity on Software Development Teams: A Qualitative Study] [22]. The GenderMag framework offers an approach to de-bias user interfaces [4].

Age: Impact of age on usage and/or age bias in design of software systems, for example, elderly users desiring interaction and terminology respecting their life experiences – this includes the different needs that young vs. older users may have, the different contexts of use for their software solutions, and wrong assumptions about differently aged users. We developed AgeMag to address age bias in ecommerce [33], and various guidelines exist for aging user design [36].

Emotions: People react differently to software, for example, some feel over-constrained and anxious when using smart home technology – some users react positively and others negatively to exactly the same solution. Different emotional reactions can have a profound impact on acceptance and adoption of software applications, explored in several recent work on emotions and requirements engineering from both end user and developer emotion perspectives [1, 5].

Physical or mental challenges: Both developers and end users may have a wide range of physical challenges, for example, a color-blind user with fine motor skill control limitations may struggle to use many mobile apps – challenges include color-blindness, sight challenges, hearing challenges, coordination challenges, and impacts caused by chronic disease such as stroke, obesity, cardiac arrest, infection, etc. These may be due to a range of causes, and their impact on different developers and users ranges from inconvenient to making software impossible to use. Various design guidelines have been developed to help different challenges [19], though much less in the mental challenge area [Chapter 24 - Economical Accommodations for Neurodivergent Students in Software Engineering Education: Experiences from an Intervention in Four Undergraduate Courses] [32].

Spoken language: Spoken and written language differs among end users, for example, an app assuming high English proficiency and using technical jargon will confuse many end users – spoken and written language, language complexity, dialogue style, and language proficiency all may differ. Development teams may also use different languages, jargon, and terminology [21]. Some work has explored internationalization of software and simplification of text [41].

Socio-economic status: Different users have differing abilities to pay for and use technology, for example, a homeless person may only be able to afford a very low-end handset – this includes access to technology, affordability of solutions including software, network costs, etc. Their living and work environments may also greatly impact software use [12, 44]. Some users have no work, are under-employed or in precarious work, and have differing incomes, and all may have a significant impact on the design and deployment of software, especially in health and services domains. Limited guidance and tools address these issues arising from digital inequity [32, 35].

Culture and ethnicity: There is a need in development teams and in software developed to address cultural differences, for example, a global software team with mixed cultural work practices needs to respect differing approaches to authority – considerations include cultural practices, assumptions, behaviors, accepted and unaccepted practices, biases against particular users of software, and power structures in teams and groups. Limited work has been done on requirements and design approaches to incorporate culture and respect different ethnicities of users [Chapter 3 - The Challenges of Ethnic-Racial Diversity Within the IT Sector, Chapter 21 - Bringing Diversity in Software Engineering Education from the Middle East and Africa] [3, 47].

Geographic location: Where end users are located geographically, for example, users in rural areas often have low-bandwidth Internet impacting usage – considerations include rural/remote vs. urban, low-bandwidth area, and access to technologies and software. Studies show location may impact users and software systems significantly [48].

Identifying the Key Challenges

Survey 1 – Challenges in addressing diverse end user requirements: We initially conducted a large survey and targeted interviews of software developers to explore some of the human aspects of their end users they found most challenging to address and why [Chapter 7 - Developers’ Perspective of Diverse End User Requirements]. We wanted to gain a better understanding of current developer approaches to addressing diverse end users’ human aspects and key open challenge areas in this domain and determine key focus areas for researching new techniques and tools to address these [11]. Our survey was answered by 61 developers and managers, and then we interviewed a further 12 developers in detail. We wanted to better understand how these diverse end user human aspect issues are understood and addressed from an SE perspective. We asked specifically about end users’ age, accessibility needs, physical and mental challenges, language and technology proficiency, socio-economic status, gender, and cultural differences. Some of the key reasons given by respondents why they found these aspects challenging to address include the broad range of the end user human differences that exist and have to be catered for; the different languages and range of comfort with technology of different user groups; different problem-solving styles of many end user groups; complexity of user interfaces in many application domains; and differences in terminology used, digital literacy, and the need to carefully consider text and icon usage for many target end users [11]. We asked developers what would help them improve development of their software to better address some of these diverse human aspects. Examples reported include better requirements capture and human aspect modeling support; providing developers with better guidelines and practices to follow; better design frameworks and tooling to address a greater range of end user human aspects; development tools that automatically prompt and advise on missing end user human aspect issues in designs and implementations; simpler interfaces in software for many end user groups; more live testing with representative end users, including more diverse participant recruitment approaches; better defect reporting to enable end users to more easily report problems; the need for better development processes to improve target end user involvement; and a need for better education of software engineers about diverse end user human aspects.

Survey 2 – Human aspects impacting software engineering activities: As with diverse end user requirements heavily impacting software engineers, RE activities themselves are some of the most human-centric activities in SE. We chose to conduct a study aimed at exploring the influence of human aspects on RE activities. We conducted a survey with 111 software practitioners, applying a mixed-methods approach to analyze both the qualitative and quantitative data collected [15]. Key findings include an acknowledgment of the influence of human aspects on the performance of practitioners involved in RE activities; motivation, domain knowledge, attitude, communication skills, and personality were seen as some of the most significant human aspects impacting RE activities; differences in personality were seen to influence RE activities; and motivation factors include team collaboration, personal satisfaction, customer engagement, communication skills, and individual interest. We also identified a set of human aspects that were seen to reduce the effectiveness of individuals involved in RE activities. These include communication issues, inadequate domain knowledge, customer/stakeholder nature, team behavior, and management issues. We are now conducting an in-depth study into personality and motivation issues with two software teams.

Data analysis 1 – end user app review analysis: We wanted to better understand the deficiencies end users of software report, which could lead to improving its design and implementation. We analyzed human-centric issues reported in COVID-19 apps [6] and classified the human-centered problems end users encountered into several different kinds, including age, disability, emotions, gender, language, location, privacy, socio-economic status, and others. We found of the 2,611 manually analyzed app reviews, 716 identified human aspect–related issues. Over 50% said the human value of privacy was an issue, 14% user’s geographic location, 11% socio-economic status, 11% language aspects, 5% emotion, and 4% age. However, these figures did vary a little for different COVID-19 apps from different countries [6].

Data analysis 2 – GitHub human-centric issues analysis: Contrasting with the preceding end user app review analysis, we wanted to find out how developers actually discuss the impact of diverse end user needs on SE work. We conducted an analysis of 1,691 issue comments from 12 diverse projects on GitHub, ranging from small to large-scale projects, including projects designed for end users with special needs, for example, visually impaired and dyslexic users [23]. Our analysis revealed that there are a wide variety of human-centric issues being discussed in these repositories. We categorized the human-centric issues into eight categories: inclusiveness, privacy and security, compatibility, location and language, preference, satisfaction, emotional aspects, and accessibility. Some categories, such as inclusiveness, cover several other human aspects, for example, age, gender, and culture. There is also an overlap between some categories and technical-related issues, such as compatibility. We found that privacy, satisfaction, and user preference categories were very commonly discussed in these repositories, whereas there was a limited discussion of accessibility and emotional aspects. Based on the analysis, human-centric issues were found to be different across different projects, and unexpectedly, projects designed for end users with special needs, for example, visually impaired and dyslexic users, and the ones with large-scale end users, for example, Firefox, have limited discussions of human-centric aspects, specifically in accessibility and inclusiveness categories!

Progress Addressing the Challenges

We discuss a few of our recent studies looking to study specific human aspects or small numbers of them, their impact on software engineers and/or end users, and how we can address some of the challenges of human-centric issues on SE highlighted previously.

End user age – age bias and ecommerce software: Our app review analysis and survey of software engineers indicated aging users have very different needs from many younger users. We conducted a study on how people from different age groups behaved when they used ecommerce applications [33]. Following the InclusiveMag methodology [34] – a meta-method to increase software inclusivity in underserved populations – we identified specific requirements for ecommerce sites for people of different ages. This involved three steps – (1) scope, describing facets of older people using ecommerce; (2) derive, developing personas from the facets; and (3) apply, testing the personas using a cognitive walk-through [31] – with two ecommerce applications. Personas were developed from evidence-based facets [2, 30, 36, 37] and interviews with people (n = 24) from four different generations: Generation Z and Generation Y (combined, born 1981–2002 but not including those under 18), Generation X (born 1965–1980), Baby Boomers (born 1946–1965), and the Silent Generation (born 1928–1945). The personas that were developed were a general user and an elderly user as there was a clear distinction between the Silent Generation and younger users. Interestingly, all ages found ways to mitigate risk, another common facet when using ecommerce [2]. We performed a cognitive walk-through with the personas using Amazon (amazon.com) and Alibaba (alibaba.com) and found the elderly persona struggled to use both. These results demonstrate potential age bias against older people when using ecommerce applications. This is of particular concern given the increasing use of online ecommerce and especially during the COVID-19 pandemic lockdowns when at times it was the only way to buy essential items [8].We are working on development of a new age inclusiveness Magnifier (“AgeMag”) to help identify age bias within ecommerce applications.

End user physical and mental challenges – augmented reality browser plug-ins: Our GitHub discussion analysis and survey of software engineers both suggested that many software engineers struggle to understand challenges of end users different from themselves, especially those with physical and mental differences. A popular approach to improve developer empathy for these diverse accessibility challenges is “augmented reality” (AR) browser-based plug-ins – the attempt to mimic how a user with a particular challenge or set of challenges will view and interact with a target website. We conducted a survey with 30 developers to understand current usage of these plug-ins and found that while more than 60% of participants tried to ensure accessibility in different stages of the software life cycle, only 15% used plug-ins to understand end user challenges. They agreed that more end user involvement is needed to create empathy and explained that they would be more inclined to use these plug-ins if there were more awareness, better training, and better support. To explore the current status of these plug-ins, we analyzed popular plug-ins and conducted a heuristic evaluation with a commonly used plug-in, Funkify, with banking, ecommerce, and social media web applications [7]. Our evaluation showed that tools such as Funkify elicited the desired empathetic response, were easy to use, and offered flexibility and customization across a wide range of disabilities. However, these can be improved to cater to users with multiple challenges, add in more disabilities such as autism and hearing impairment that are harder to mimic than low vision or color impairment, and support sharing of content between developers for repeat testing [46].

Developer emotions – developers responding to requirements changes: Our survey of software engineers indicated their emotional responses to requirements challenges are diverse. We carried out an in-depth study on the emotions experienced by 201 practitioners as they responded to requirements changes [28] using a mixed-methods approach. One of our key findings was that participants reported feeling highly pleasurable emotions (e.g., enthusiasm, increased energy, inspiration) more commonly than less pleasurable emotions (e.g., anger, anxiety, fatigue). Individual practitioners, the team, the manager, and the customer were identified as the stimulus that triggered the emotional responses to requirements changes. Finally, the emotions of practitioners were seen to vary with the stages of the requirements handling, across receiving, developing, testing, and delivering requirements changes. Critically, we identified that introducing last-minute requirements changes close to a deadline was seen to violate the developer’s emotional well-being. We developed a set of practical recommendations for practitioners and researchers, including an emotion-centric decision guide for when to introduce and accept requirements changes.

Developer gender – gender bias in SE job advertisements: Our surveys of software engineers tended to confirm that SE remains a male-dominated workforce. One potential reason we speculated could be the way job advertisements are designed is biased toward male candidates [22]. Preliminary research conducted with software engineers and hiring managers indicated that is indeed the case. Traditional word-based gender bias detection methods are somewhat inappropriate in the context of SE. Based on the recommendations made by software engineers and hiring managers, we prepared a checklist to detect gender bias within job advertisements. We developed an NLP-based tool implementing the set of recommendations. In another study we conducted a broad-ranging survey of software engineers and prepared male and female SE candidate preferences, career goals, and job application behaviors. We represented these with personas to give hiring managers a better idea of diverse candidates while designing job roles. The personas can also be used to apply a cognitive walk-through to job advertisements to detect gender bias issues [22], based on the “GenderMag” framework [4].

Key Lessons Learned from Our Studies

We summarize a range of lessons learned from conducting the preceding challenge and progress studies and highlight some actionable recommendations for practitioners and researchers.

Including challenged end users: When developing solutions for challenged end users, it is critical to ensure their engagement throughout the project, but it has always been difficult to find large numbers of participants. Traditionally the main reason was difficulties they face in traveling and sufficiently diverse users [39]. However, with COVID-19, lack of familiarity with online tools and lack of support from these tools for differently challenged users was a serious challenge. We faced difficulties when looking for sufficient participants with low vision, dyslexia, color impairments, and motor impairments for our requirements gathering and evaluation studies. As alternatives, we leveraged related work analysis, had discussions with disability unit managers, and conducted cognitive walk-throughs [18, 46] and simulated actual participants via personas [26]. While SE communities are familiar with these methods, the accessibility and HCI research communities can be quite negative about them. More work is needed to emphasize the complimentary value of these methods to solely using real end users.

Recommendation: Use multiple, complimentary approaches to ensure diverse representatives of end users in development and studies.

Study recruitment: When researchers do requirements gathering, co-design, and evaluation with real users, it is critical to keep participants deeply involved throughout the research projects. Common methods to interact with participants include surveys, interviews, focus groups, and observations. However, during the COVID-19 pandemic, these methods could not be followed via traditional face-to-face or paper-based approaches. We had to adapt our recruitment methods to include more social media advertisements and recruitment via online events such as conferences, workshops, and meetups. We had to adopt remote engagement methods such as online interviews, online observations, and online surveys. These presented challenges, including Zoom fatigue, Internet traffic and connectivity issues, privacy issues in a digital environment, IT literacy issues, as well as missed opportunities created by the lack of face-to-face cues. Surprisingly, these methods seemed to have positive impacts on some studies since they created more equitable opportunities, reduced travel time, reduced anxiety for introverts, and provided equal-power relationships between researchers and participants.

Recommendation: Ensure flexible, human-centric recruitment and engagement approaches in studies and development.

Deep participant feedback: During our preliminary interview-based study on software practitioners’ responses to requirements changes [29], we faced challenges in eliciting participant’s responses about their emotions. Many people were not comfortable sharing details of their emotions, or how they felt, in a workplace context. In our follow up in-depth study [28], we revised our approach – a critical strategy was to share a list of emotions with them to pick, instead of starting on the proverbial blank slate. Using the job-related affective well-being scale (JAWS) [43] proved to be effective, as participants were able to select from options to capture their emotional responses. It was also helpful for us to categorize the responses into a coherent and finite set. vs using a fully open-ended response. The asynchronous and anonymous nature of the survey, as opposed to live face-to-face interviews, seemed to work better for eliciting responses. The effect of national culture on openness to share emotions at work (preliminary study of eight New Zealander and two Australian practitioners vs. in-depth study international in nature), and improved awareness of emotions and well-being due to work-from-home experiences during the COVID-19 pandemic, may also have improved quantity and quality of responses.

Recommendation: Many projects touch on sensitive human aspects; these need care and alternative approaches to respect participant concerns and improve engagement.

Multidisciplinary teams: Our surveys and GitHub discussion analysis highlighted that human-centric SE needs to incorporate other disciplines into the development process, such as health, psychology, and sociology – areas that are increasingly utilizing technological solutions for human-centric problems. Multidisciplinary teams are becoming the norm, with representation from all stakeholders important for the final product development of human-centric software and including them in the development process. The use of “co-design” and “living lab” methodologies in health in particular puts the end users and the “experts” at the center of the development process to incorporate human aspects in the product [10, 38].

Recommendation: Multidisciplinary teams with expertise outside SE are formed and used.

Need for multidisciplinary theories and techniques: Our developer emotion, gender bias, and human-centric issues studies all involved varying amounts of qualitative data. Hence, selecting appropriate qualitative data analysis techniques was critical to deriving rich findings and insights. We applied the qualitative data analysis techniques from socio-technical grounded theory (STGT) such as open coding and constant comparison along with memoing [16]. It allowed us to reach beyond descriptive findings and formulate theoretical frameworks, taxonomies, researcher reflections, and practical recommendations to share with the software practitioner and research communities [15, 28].

Recommendation: Qualitative methods including socio-technical perspectives are needed when studying human-centered issues.

Research and Practice Directions

In the following we briefly summarize some of the key research directions that we recommend be pursued to improve ED&I issues in SE.

Diversifying software teams: It has been shown that diverse teams perform better. In our investigation of gender bias within SE job advertisements, we found that gender-related bias also exists in computer science education and SE work environment [22]. To develop a gender-inclusive SE environment and gender-inclusive CS/SE education environment, we need to ensure the recruitment and career advancement process is gender inclusive. From the findings of our preliminary work with SE job advertisements, we also found that apart from gender, there are other biases relating to age, culture, and English language proficiency of software engineers. To ensure an overall-inclusive SE work environment, more research is needed to identify these specific biases and to devise ways to alleviate them.

Recommendation: Further research into other biases in software teams is needed.

Supporting diverse software engineers: To be able to solve the needs of diverse users using software solutions, the software development teams themselves need to bring together people with a variety of skill sets, backgrounds, and technical and nontechnical expertise, for example, enabling end user software development using LowCode approaches accessible for users who are reliant on screen readers through a preliminary extension of an open source software, Node-RED [24]. More research is required to further investigate and analyze the accessibility of the existing software solutions, including end user–based tools, that is, LowCode approaches for users with visual impairments.

Recommendation: Ensuring diversity is supported and respected in SE teams is essential.

Impact of human aspects in different contexts: In the ecommerce and health domains, almost everyone is an end user, and therefore ehealth and ecommerce applications must be more inclusive. Underserved and under-represented populations are most at risk of harmful effects from the exclusion of human aspects including age, gender, culture, technical literacy, etc. [25], and underserved groups also have the highest burden of disease [27].

Recommendation: Research on how human aspects impact ED&I issues in different domains.

Under-represented end user human aspects in research: Our survey of developers and analysis of app reviews and GitHub and Stack Overflow discussions [11, 13, 23] have highlighted some end user human aspects whose requirements and design approaches to address are as yet little understood and addressed in SE. These include neuro-diverse end users; end users with low literacy and technology usage proficiency; addressing human values of transparency and honesty; motivational and engagement drivers in many domains; and – despite considerable research to date in other fields – aging and young end users. There is a pressing need for software engineers to be equipped with better guidelines, techniques, and tools to address these end users’ specific software needs.

Recommendation: Research on impact of many other human aspects on SE is needed, for example, cognitive differences, literacy, human values, and motivational differences.

Adaptive Software for diverse end users: Most software is designed for the majority of users with homogeneous characteristics, often neglecting those in need of special features and support such as older adults, people from different cultures and languages, people with physical and cognitive challenges. For example, a red-green color-blinded person will face difficulties in separating red and green, a person with low vision will face issues in reading small symbols and text, while a Generation Z user would skim through most content at a rate of 4.4 seconds on every 100 words of text [40]. There are also culture-based different interpretations of color, for example, Chinese newspapers using green for negative stock values and red for positive [9]. Due to this inherent variety of human needs, a single design will not cater to audiences with distinct characteristics [20]. An approach we are using to address this is adaptive software. This allows users to define their own preferences and the developer to support adaptivity of the user interface and workflows accordingly. We have explored adaptive user interfaces in detail for color-blind, low-vision, and dyslexic users [26] and plan to explore other human aspects and software features.

Recommendation: End users are very different – we need better approaches to adapting actively to their needs, not them to software.

Impact of developer empathy and culture: Our surveys demonstrated many differences between most developers in understanding their end users. While AR/VR tools assist in supporting developers in understanding such differences, better support is needed. We need to explore yet more human and socio-technical aspects, such as role of culture – as an amalgamation of organizational, team, and individual culture [17] – in SE/RE activities, practices, and roles.

Recommendation: Researching the role of empathy in developer and end user interactions and understanding how developers view the role of ethics are essential.

Acknowledgments

Support from ARC Laureate Fellowship FL190100035, ARC Discovery Project DP200100020, and ARC Industry Transformation Hub IH170100013 is gratefully acknowledged.