Engineering Requirements for Social Sustainability

Social Sustainability Engineering Requirements Value-based Design Value Patterns

Authors: Maryam Al Hinai, Ruzanna Chitchyan

Year: 2016

Published in: Proceedings of ICT for Sustainability 2016.

Read me: DOI: 10.2991/ict4s-16.2016.10.

Abstract: Software is no longer a passive tool, but is an active agent in shaping modern communities. Yet, to date, software engineers do not endeavour to explicitly state requirements which a software system must fulfil if it is to positively contribute to the well-being (that is the social sustainability) of its user community. This paper presents a proposal on how to bridge this gap. It notes that social sustainability requirements stem from key societal values, such as equity, security, education, which can be elicited into value patterns. Such patterns can then serve as templates for software requirements specification. The viability of this proposal is demonstrated through formation of equity value patterns, which are instantiated as requirements to 6 sample studies. We observe that while each organisation and sub-community will have own diverse cultural and traditional values with respective requirements, the fundamental notions (such as equity, security, freedom) that serve as the core of social sustainability remain relatively stable. It is such values that we propose to elicit into patterns for requirements specification.

Bibtex (copy):
@inproceedings{AlHinai2016/08,
  title={Engineering Requirements for Social Sustainability},
  author={Maryam Al Hinai and Ruzanna Chitchyan},
  year={2016/08},
  booktitle={Proceedings of ICT for Sustainability 2016},
  pages={79-88},
  issn={2352-538X},
  isbn={978-94-6252-224-4},
  url={https://doi.org/10.2991/ict4s-16.2016.10},
  doi={10.2991/ict4s-16.2016.10},
  publisher={Atlantis Press}
}

Annotation

By Philippe de Bekker, Merel Steenbergen, Sebastien van Tiggele, Ivor Zagorac. 🪧Slides.

Currently, social sustainability concerns are not directly considered in common requirement engineering practices for software development. Developers have no clear guideline on how to identify, model, measure and translate values into requirements.

This paper proposes a clear methodology for integrating those concerns into requirement engineering using “value patterns”. This methodology is based on core societal values discovered in a previous literature review and flagged as universally important by several international standards. The identification of value patterns should lead to a concrete set of requirements centred around stable societal values for any given application, without immediate focus on a specific software project or domain. Otherwise, moral and personal values tend to cause conflict.

After a detailed analysis, the paper has discovered the following patterns for the ‘equality’ value:

  • Stakeholder variability: factors that can differentiate stakeholders (e.g. gender, educational attainment, health, economic power)
  • Fairness: fair selection of stakeholder goals to be implemented in the system (e.g. equal opportunities, equal pay for work of equal value, fair competition, fair distribution and ownership of resources)
  • Equality for access to services: providing adequate services to all (diverse) types of stakeholders to enable them equal opportunities to complete a given goal (e.g. accessible facilities) In order to support equality, all of these patterns need to be combined. Fairness and equality for access to services need to respect stakeholder variabilities. Ultimately, this requires refining identified goals or setting additional goals.

To validate the proposed methodology, a diverse set of domains with similar solutions has been identified successfully via the application of value patterns. While value patterns demonstrate to be a promising technique for addressing social sustainability in requirement engineering, more values should be analysed in detail to build a more complete list of value patterns that enable the application of the methodology to become a common practice in software engineering processes.

– 📖 –