Sci Simple

New Science Research Articles Everyday

# Computer Science # Software Engineering

Building Better Software for Everyone

Learn how social sustainability can transform software development.

Bimpe Ayoola, Miikka Kuutila, Rina R. Wehbe, Paul Ralph

― 7 min read


Software with a Social Software with a Social Conscience positive impact. Prioritize social values in tech for a
Table of Contents

In today's world, where technology is everywhere, ensuring that software development is done responsibly is vital. Social sustainability in software means creating technology that benefits everyone, not just a select few. The importance of this concept can’t be overstated, as we want our digital tools to bring people together instead of pushing them apart.

What is Sustainable Software Development?

Sustainable software development is the practice of building software that meets current needs without compromising the future. This idea can be broken down into four main areas:

  1. Economic Sustainability: Making sure that software can help create wealth and make profits.

  2. Environmental Sustainability: Using natural resources wisely and minimizing harm to the planet.

  3. Technical Sustainability: Ensuring that software is designed to adapt and work well over time.

  4. Social Sustainability: This is the trickiest part, focusing on how software impacts individuals and communities. It involves thinking about issues like fairness, privacy, and user well-being.

Among these four, social sustainability can be quite complex since it involves various social factors. It’s not just about making a product; it’s about creating something that makes the world a better place for all users.

The Need for Social Sustainability in Software

For too long, the software community has focused heavily on environmental and technical aspects, leaving social sustainability in the shadows. The challenge lies in the intangible nature of social factors, which makes them hard to quantify or address directly. Many developers may not even think about the social consequences of their work.

For example, when building a new app, a developer might prioritize features that improve speed over those that ensure user privacy. However, neglecting the social implications can lead to issues like discrimination or social isolation. Therefore, a well-rounded approach that includes social sustainability is essential.

The Role of User Personas and Stakeholder Maps

To tackle the issue of social sustainability in software development, two important tools have emerged: user personas and stakeholder maps.

User Personas

User personas are fictional characters created based on research. They aren’t just random names and faces; they represent different user types to help developers understand users’ needs, goals, and behaviors. Think of them as your software’s cheerleaders, guiding developers to think about real people while making decisions.

Using personas can change the way a developer approaches their work. When a designer has a persona in mind, they are more likely to consider how a new feature will impact that fictional person’s life. For instance, if a developer is working on an app meant for seniors, having a persona representing an elderly user can help them consider accessibility features that they might otherwise overlook.

Stakeholder Maps

Stakeholder maps, on the other hand, help identify and understand all the people who will interact with or be affected by the software. Imagine a big family dinner where everyone’s opinions matter - that's what a stakeholder map does for software projects. By mapping relationships and concerns, developers gain insights into how different stakeholders can influence or be influenced by the software.

Using both user personas and stakeholder maps together can create a more inclusive software development process that focuses on social sustainability.

Experimenting with Social Sustainability

There has been a noticeable gap in evidence-based research on social sustainability interventions in software development. To fill this gap, an experiment was conducted to evaluate how user personas and stakeholder maps affect software developers’ prioritization of features during the development process.

The Experiment Process

A group of undergraduate computer science students was asked to participate in a prioritization task. They were given a list of user stories for a fictional facial recognition software used in a shopping mall. Each user story described a feature, categorized as prosocial (good for society), antisocial (bad for society), or neutral.

Participants were divided into four groups:

  1. One group received only the stakeholder map.
  2. Another group was provided with user personas.
  3. The third group received both tools.
  4. The control group received no supporting material.

After reviewing the user stories, students ranked each one based on how important they thought it was to implement. By analyzing how each group prioritized the stories, researchers could draw conclusions about the effectiveness of user personas and stakeholder maps in promoting social sustainability.

Findings from the Experiment

The results were intriguing. Students who worked with user personas tended to give lower priority to antisocial features. This means that having a clear idea of the users helped them to think twice before implementing features that might negatively impact society. However, there was no significant change in how they prioritized prosocial features.

On the other hand, participants who used stakeholder maps didn’t show any significant differences in prioritization for either prosocial or antisocial stories. Essentially, the stakeholder map didn’t seem to have a strong impact on decision-making compared to user personas.

The Importance of the Findings

The experiment showed that user personas can effectively guide software developers to think about the social implications of their work. This is a powerful realization as it indicates that even a simple tool can have a substantial impact on how future software can be created.

The results also emphasized that while stakeholder maps are helpful for understanding broader concerns, they may not be as effective in directly influencing individual feature prioritization.

Challenges in Social Software Development

While the findings are promising, incorporating social sustainability into software development is not without challenges. Developers often face hurdles in understanding how to best measure and implement social factors. Here are some of the common challenges:

  1. Complexity of Social Factors: Social issues can be subjective and vary from person to person, making it hard to create clear guidelines.

  2. Training and Awareness: Many developers are not trained to think about social sustainability, leading to a lack of awareness in the field.

  3. Time and Resource Constraints: Focusing on social factors can feel like a luxury when there is pressure to deliver software quickly and on budget.

  4. Balancing Multiple Objectives: While developers might understand the importance of social sustainability, they still have to balance it with other goals, such as performance and cost.

The Way Forward

To promote social sustainability in software development, teams should consider adopting user personas as a common practice. This doesn’t mean creating boring forms filled with metrics; it’s about engaging with users in a meaningful way. Including diverse user representations can lead to better-drafted software solutions that are not only functional but also ethically sound.

Furthermore, educational institutions play a significant role in preparing future developers. Courses that teach the significance of social responsibility in technology can help create a generation of developers who prioritize social sustainability alongside technical excellence.

Conclusion

As the technology industry continues to grow, the need for socially sustainable software becomes increasingly important. By incorporating user personas and stakeholder maps, developers can create software that promotes social good and helps to build a better future for everyone.

In summary, just as a classic superhero needs a sidekick, software development needs user personas and stakeholder maps to ensure that technology uplifts society instead of dragging it down. The journey towards social sustainability in software development may be filled with challenges, but each step taken is a step towards a better world. So, let’s put our thinking caps on, roll up our sleeves, and get to work!

Original Source

Title: User Personas Improve Social Sustainability by Encouraging Software Developers to Deprioritize Antisocial Features

Abstract: Sustainable software development involves creating software in a manner that meets present goals without undermining our ability to meet future goals. In a software engineering context, sustainability has at least four dimensions: ecological, economic, social, and technical. No interventions for improving social sustainability in software engineering have been tested in rigorous lab-based experiments, and little evidence-based guidance is available. The purpose of this study is to evaluate the effectiveness of two interventions-stakeholder maps and persona models-for improving social sustainability through software feature prioritization. We conducted a randomized controlled factorial experiment with 79 undergraduate computer science students. Participants were randomly assigned to one of four groups and asked to prioritize a backlog of prosocial, neutral, and antisocial user stories for a shopping mall's digital screen display and facial recognition software. Participants received either persona models, a stakeholder map, both, or neither. We compared the differences in prioritization levels assigned to prosocial and antisocial user stories using Cumulative Link Mixed Model regression. Participants who received persona models gave significantly lower priorities to antisocial user stories but no significant difference was evident for prosocial user stories. The effects of the stakeholder map were not significant. The interaction effects were not significant. Providing aspiring software professionals with well-crafted persona models causes them to de-prioritize antisocial software features. The impact of persona modelling on sustainable software development therefore warrants further study with more experience professionals. Moreover, the novel methodological strategy of assessing social sustainability behavior through backlog prioritization appears feasible in lab-based settings.

Authors: Bimpe Ayoola, Miikka Kuutila, Rina R. Wehbe, Paul Ralph

Last Update: 2024-12-13 00:00:00

Language: English

Source URL: https://arxiv.org/abs/2412.10672

Source PDF: https://arxiv.org/pdf/2412.10672

Licence: https://creativecommons.org/licenses/by/4.0/

Changes: This summary was created with assistance from AI and may have inaccuracies. For accurate information, please refer to the original source documents linked here.

Thank you to arxiv for use of its open access interoperability.

Similar Articles