Continual Human Value Analysis in Software Development: A Goal Model Based Approach

Software failures that demonstrate violations of human values can result in financial losses, reputation damages and social implications. Therefore, integrating human values into software is vital to satisfy stakeholder needs. However, developing methodological approaches that allow systematic integration of human values throughout the software development life cycle is an open challenge. This paper proposes the Continual Value(s) Assessment (CVA) framework that uses extended goal and feature modeling techniques to support systematic integration, tracing and evaluation of human values in software systems. The CVA framework prescribes (i) brainstorming of value implications of system features based on conventional system artefacts and (ii) the expansion of the existing set of system features to better serve stakeholder values expectations. In a pilot study, we use an emergency alarm system for the elderly to demonstrate the feasibility of the framework. We further discuss the challenges we faced while applying the framework and present the lessons learned from the pilot study.

[1]  Huib Aldewereld,et al.  Design for Values in Software Development , 2015 .

[2]  Jane Cleland-Huang,et al.  Toward improved traceability of non-functional requirements , 2005, TEFSE '05.

[3]  Alistair G. Sutcliffe,et al.  Value-based requirements engineering: method and experience , 2017, Requirements Engineering.

[4]  Daniel Amyot,et al.  Towards Advanced Goal Model Analysis with jUCMNav , 2012, ER Workshops.

[5]  Alan Borning,et al.  A Survey of Value Sensitive Design Methods , 2018, Found. Trends Hum. Comput. Interact..

[6]  Batya Friedman,et al.  Human values and the design of computer technology , 1997 .

[7]  Waqar Hussain,et al.  Integrating Social Values into Software Design Patterns , 2018, 2018 IEEE/ACM International Workshop on Software Fairness (FairWare).

[8]  Douglas C. Schmidt,et al.  Evolving feature model configurations in software product lines , 2014, J. Syst. Softw..

[9]  Peter Kroes,et al.  Design for Values and the Definition, Specification, and Operationalization of Values , 2014 .

[10]  Jon Whittle,et al.  Is Your Software Valueless? , 2019, IEEE Software.

[11]  Leticia Duboc,et al.  Critical Requirements Engineering in Practice , 2019, IEEE Software.

[12]  Gunter Mussbacher,et al.  Top-Down Evaluation of Reusable Goal Models , 2018, ICSR.

[13]  Harsha Perera,et al.  Towards Human Values Traceability in Software: A Goal Modeling Approach , 2019, 2019 IEEE 27th International Requirements Engineering Conference (RE).

[14]  Ibo van de Poel,et al.  Translating Values into Design Requirements , 2013 .

[15]  Neil A. M. Maiden,et al.  Creativity and Goal Modeling for Software Requirements Engineering , 2015, Creativity & Cognition.

[16]  Kenneth R. Fleischmann,et al.  Developing a meta-inventory of human values , 2010, ASIST.

[17]  L. Sterling,et al.  Don't leave me untouched: Considering emotions in personal alarm use and development , 2014 .

[18]  Jon Whittle,et al.  Software engineering for 'social good': integrating action research, participatory design, and agile development , 2014, ICSE Companion.

[19]  Heidi Krömker,et al.  How personas support requirements engineering , 2012, 2012 First International Workshop on Usability and Accessibility Focused Requirements Engineering (UsARE).

[20]  Pieter E. Vermaas,et al.  Handbook of ethics, values, and technological design : sources, theory, values and application domains , 2015 .

[21]  M. Rokeach The Nature Of Human Values , 1974 .

[22]  S. Schwartz Are There Universal Aspects in the Structure and Contents of Human Values , 1994 .

[23]  Aldrin Jaramillo Franco Requirements elicitation approaches: A systematic review , 2015, RCIS.

[24]  Balbir S. Barn,et al.  Do You Own a Volkswagen? Values as Non-Functional Requirements , 2016, HCSE/HESSD.

[25]  Jeroen van den Hoven,et al.  Design for Values: An Introduction , 2015 .

[26]  S. Schwartz An Overview of the Schwartz Theory of Basic Values , 2012 .

[27]  Rick Salay,et al.  Software Product Lines with Design Choices: Reasoning about Variability and Design Uncertainty , 2017, 2017 ACM/IEEE 20th International Conference on Model Driven Engineering Languages and Systems (MODELS).

[28]  Susan Wyche,et al.  Values as lived experience: evolving value sensitive design in support of value discovery , 2009, CHI.

[29]  Maria Angela Ferrario,et al.  Measuring human values in software engineering , 2018, ESEM.

[30]  S. Schwartz Universals in the Content and Structure of Values: Theoretical Advances and Empirical Tests in 20 Countries , 1992 .

[31]  Mark A. Neerincx,et al.  Embedding Stakeholder Values in the Requirements Engineering Process , 2015, REFSQ.

[32]  Balasubramaniam Ramesh,et al.  Requirements traceability: Theory and practice , 1997, Ann. Softw. Eng..

[33]  Gunter Mussbacher,et al.  Goal modeling for sustainability: The case of time , 2014, 2014 IEEE 4th International Model-Driven Requirements Engineering Workshop (MoDRE).

[34]  William Simm,et al.  Values-First SE: Research Principles in Practice , 2016, 2016 IEEE/ACM 38th International Conference on Software Engineering Companion (ICSE-C).

[35]  Jon Whittle,et al.  Model composition in product lines and feature interaction detection using critical pair analysis , 2007, MODELS'07.

[36]  Axel van Lamsweerde,et al.  Goal-Oriented Requirements Engineering: A Guided Tour , 2001, RE.

[37]  Waqar Hussain,et al.  Operationalizing human values in software: a research roadmap , 2018, ESEC/SIGSOFT FSE.