Abstract
Various approaches toward the development of sustainable software systems have been proposed by the requirements engineering community over the last decade. We conducted a systematic mapping study, analyzed 55 publications, and identified 29 approaches that have been published since the year 2000. We analyzed how the approaches evolved over time and how the publications and authors are influenced by each other. Furthermore, the approaches are analyzed in terms of their supported requirements engineering activities, along with the evidence provided in the publications. Additionally, we also analyzed which sustainability definitions have been used, if an iterative application of the approaches is discussed, and if the approaches also provide a tool-support for practitioners. We noticed an increase of publications on requirements engineering approaches toward sustainability in the last years, whereas a majority discuss sustainability based on the same multi-dimensional concept. Although different case studies have been already conducted, we noticed a lack of an industrial application. Our main findings concern the need of an evaluation on how the proposed requirements engineering approaches can also be applied in agile software development processes. Additionally, we also promote the development of supporting software tools to support practitioners in adapting the proposed approaches.
Similar content being viewed by others
Avoid common mistakes on your manuscript.
1 Introduction
In order to tackle current global challenges, sustainability needs to become a substantial concern in almost every domain. In recent years, sustainability has become an important topic in software engineering, too. Incorporating sustainability in new as also in existing processes is necessary to evaluate long-term impacts of software systems not only in respect to environmental aspects, but also to economic or social aspects. Consequently, it needs a paradigm shift even in software development. Software systems are not isolated, but closely intertwined with the related organizations, employees, and customers. Hence, they can cause different sustainability impacts as well, whether positive or negative. Analyzing sustainability impacts of software systems therefore can contribute on a much larger scale than expected. In the software development life cycle, requirements engineering (RE) is the very first possibility to consider sustainability issues [1]. A number of approaches has been developed in the last decade that focus on analyzing possible sustainability impacts of software systems during requirements engineering activities [S50, 2]. Consequently, several authors also suggest to add sustainability as a qualitative attribute of software systems and to treat it like other non-functional requirements such as safety or security [3,4,5].
The Karlskrona Manifesto for Sustainability Design [6] describes sustainability as a systemic concept and a conceptual framework to think about sustainability. Based on the definition of sustainable development by the Brundtland Commission [7], which refers to it as ”development that meets the needs of the present without compromising the ability of future generations to meet their own needs,” and following Penzenstadler and Femmer [S23], the Karlskrona Manifesto describes sustainability in the context of five dimensions (cf. Table 1). As we will later see, many authors already incorporated the idea of sustainability as a multi-dimensional concept in their proposed approaches.
Becker et al. [1] identify RE practitioners as a key role in creating sustainable software systems. However, RE practitioners argue that they cannot practice sustainability design as it is not supported by the methodologies used in their companies and that there is a lack of method and tool support in this field [3]. We therefore anticipate that our work can become a single starting point which provides an overview of methods and tools for RE practitioners. In the past, different systematic mapping studies (SMS) and literature reviews have already been conducted that address sustainability in RE [8,9,10,11]. However, they either focus on sustainability aspects of the development process itself or on special aspects like software quality or eLearning systems. As far as we know, no SMS has been conducted that generally addresses RE approaches that foster the development of sustainable software systems.
Our work also aims at researchers in this field to give them an overview of what has already been done and where their contributions are still needed. We understand that this overview can be particularly helpful for researchers entering this field, but also give the community at large a better understanding of the state-of-the-art in their field.
With our work, we want to give an overview of which RE approaches have been proposed to support the development of sustainable software-intensive systems and how they have evolved over time. To answer these questions, we performed an SMS to identify and analyze existing RE approaches. Additionally, we wanted to know which RE activities the proposed approaches address and what type of evidence they provide. Furthermore, we also examined which sustainability definitions they rely on, if they can also be applied in an agile software development process and if they provide supporting software tools.
The main contribution of this SMS is an overview of 55 selected publications and 29 different approaches that could be identified. The main aspect that distinguishes our work from previous, similar work in this area, is our interest in the applicability of the proposed approaches in agile software development processes. Nowadays, they are the predominant software engineering practices, whereas Scrum provides the most common framework [12]. But moreover, we also state some recommendations for future academic work that will support the usage of the approaches in industrial practice.
The main results encompass an overview of the evolution of the proposed approaches, their supported RE activities, as also their provided evidence. Our study shows a lack of a common understanding about sustainability in RE, although many publications rely on the same multi-dimensional concept. We also noticed that none of the approaches are used as industrial practice and that only a few industrial case studies have been conducted so far. Our study also shows that none of the publications discuss an application of their approaches in agile software development processes, although several of them propose an iterative application of their approaches. Nevertheless, the study also reveals the presence of an interconnected sustainability community within RE and a growing number of publications in the last years.
The remainder of this paper is structured as follows. In Sect. 2, we present the research goal, the research questions, and the search strategy. Section 3 provides an overview on the results based on the analysis of the selected publications. In Sect. 4, we discuss the results, their implications, and provide some additional recommendations. Section 5 presents related work. In Sect. 6, we discuss possible threats to the validity of this SMS. The paper is concluded in Sect. 7.
2 Study design
In this section, we present the main research goal of this study, the research questions for data extraction, and the search strategy to identify relevant publications.
2.1 Research goal and research questions
The overall research goal of this study is to identify approaches that have been discussed in the field of requirements engineering that foster the development of sustainable software-intensive systems. Accordingly, the following PICOC structure [13] in Table 2 has been defined for this study.
Further, the research questions and corresponding data extraction items in Table 3 have been defined for an in-depth analysis of the selected papers that follows the search process (cf. Sect. 2.2). The data extraction process and data analysis was performed by the first author and supervised by the other authors. The results of these research questions are presented in Sect. 3 and are further discussed in Sect. 4.
Ad RQ1 The first research question aims to identify the different approaches (D1-1) that have been proposed so far, as also how they evolved over time (D1-2) and which authors contributed most (D1-3). Even more, it will be investigated which publication venues (D1-4) are used, which are the most influencing publications (D1-5), and who publishes with whom (D1-3). Concerning the proposed approaches, we grouped the papers by approach, because for some of the approaches more than one paper has been published.
Ad RQ2 The second research question aims to identify the requirements engineering activities supported by the proposed approaches. Furthermore, we are interested in the different research types that have been published and how the approaches have been evidenced. The publications are categorized according to the research types (D2-1) presented by Wieringa et al. [14] (evaluation research, validation research, solution proposal, philosophical paper, experience paper, and opinion paper). The requirements engineering activities (D2-2) are categorized based on the five activities discussed by Paetsch et al. [15] (requirements elicitation, requirements analysis, requirements documentation, requirements validation, and requirements management). We add requirements negotiation as a sixth category to distinguish it from requirements analysis. Additionally, the publications are also categorized according to the evidence categorization (D2-3) suggested by Zengyang et al. [16] (no evidence, evidence obtained from demonstration or working out toy examples, evidence obtained from expert opinions or observations, evidence obtained from academic studies, evidence obtained from industrial studies, evidence obtained from industrial practice).
Ad RQ3 The third research question aims to identify the sustainability definitions used. We are especially interested in how many papers are based on the five sustainability dimensions (D3-1) proposed by Penzenstadler and Femmer [17], or which other concepts are used. Furthermore, we also ask which orders of effects (immediate, enabling, structural) are discussed by the selected approaches (D3-2).
Ad RQ4 The fourth research question asks if the publications also discuss supporting software tools (D4-1) for their approaches.
Ad RQ5 Finally, the fifth research question asks, if the approaches (according to the authors of the papers) is applicable in agile contexts (D5-1), especially Scrum.
2.2 Search strategy
Our search strategy mainly corresponds to those described by Kitchenham and Charters [13], Petersen et al. [18], Villamizar et al. [19], and Yan et al. [20].
The search strategy includes a database search, a snowballing process, and a manual search in already known conferences, journals, and workshops. Such hybrid search strategies have also been analyzed and suggested by Mourão et al. [21].
An overview on the entire search process and how many papers have been included or excluded in every step is presented in Fig. 1. The search process follows the subsequent list of steps:
-
1.
Definition of a research goal and research questions
-
2.
Definition of a proper search string based on the defined research questions, including cross-checking with previously selected papers of a manual search
-
3.
Searching for papers on various research databases
-
4.
Pre-selection of papers based on inclusion and exclusion criteria
-
5.
Voting on papers by the authors to select only thematically relevant papers
-
6.
Forward and backward snowballing
-
7.
Additional search on manually selected journals, conferences, and workshops
-
8.
Second voting on papers added in the snowballing process and from conferences/workshops/journals
-
9.
Detailed screening of selected papers and dropping of irrelevant papers.
The main work of the search process has been accomplished by the first author, who was guided by both other authors. All authors contributed equally to both votings. In total, 55 papers are finally used for a detailed analysis in this SMS to answer the research questions presented in Sect. 2.1. The complete set of all selected papers is listed in a separate bibliography at the end of this paper.
2.2.1 Search string
The construction of our search string is primary based on our main research goal and the presented PICOC structure (cf. Sect. 2.1). Secondary, the development of the search string was supported by the titles of a set of nine papers that we already got from manual searches using Google Scholar before we started with this SMS:
-
“Infusing Green: Requirements Engineering for Green In and Through Software Systems” by Penzenstadler [S18]
-
“A generic model for sustainability with process- and product-specific instances” by Penzenstadler and Femmer [S23]
-
“Toward a Systematic Process for the Elicitation of Sustainability Requirements” by Paech et al. [S24]
-
“Toward Automatically Identifying Potential Sustainability Effects of Requirements” by Groher et al. [S25]
-
“Analyzing Trade-offs for Sustainability Requirements: A Decision-Making Process” by Saputri and Lee [S29]
-
“Developing a sustainability non-functional requirements framework” by Raturi et al. [S34]
-
“Discovering Sustainability Requirements: An Experience Report” by Mahaux et al. [S45]
-
“Sustainability requirement patterns” by Roher and Richardson [S46]
-
“Crowd-Focused Semi-Automated Requirements Engineering for Evolution Toward Sustainability” by Seyff et al. [S48].
All of these papers represent work we identified as relevant with respect to our main research goal. We also cross-checked, that they are also found when the search was actually performed on the selected databases (cf. Sect. 2.2.2).
We evaluated different search strings, longer and more complex ones, but also shorter and less restrictive search strings. Finally, we decided to use the following search string:
(green OR sustainability OR sustainable) AND (requirement OR requirements)
We experimented to apply the search string on the titles, author keywords, abstracts, and the publications’ full text. Since the search string is very short, an unmanageable number of several thousands of papers can be found when it is also applied on the papers abstracts, or even on the papers’ full text. Finally, we decided to apply the search string only on the publication titles and the author keywords. This strategy delivered the most convincing search results (not too many nor too few publications). Additionally, we mitigated the risk to miss any relevant papers by also applying a snowballing process and the review of selected publication venues.
2.2.2 Databases
The main search process has been conducted in February 2022. We selected the following online databases that have also been used or proposed in other studies [13, 20, 22, 23]:
-
ACM Digital Library, https://dl.acm.org
-
IEEE Xplore, www.ieeexplore.ieee.org
-
Scopus, www.scopus.com
-
Web of Science, www.webofknowledge.com (formerly known as ISI Web of Knowledge).
As each search engine of these databases is implemented differently and requires a special syntax, we had to adapt our generic search string slightly for every database. As already explained in Sect. 2.2.1, we applied our search string only on the publication titles and author keywords and not on the papers’ abstracts. The papers found in the different databases have been merged and duplicates have been removed. The results are shown in Table 4. As it can be seen, a total of 261 unique papers were considered in the next step.
2.2.3 Inclusion and exclusion criteria
In this section, we present the inclusion and exclusion criteria we applied for selecting appropriate research papers for our analysis and to exclude those that are not suitable.
Inclusion criteria
-
Peer reviewed studies published in journals, conferences, and workshops
-
Studies written in English
-
Studies accessible electronically
-
Studies from the domain of computer science and/or software engineering.
Exclusion criteria The exclusion criteria, if not explicitly stated, are the contrary of the inclusion criteria. Further criteria are:
-
Non-peer reviewed studies (abstracts, tutorials, editorials, slides, talks, tool demonstrations, posters, panels, keynotes, technical reports)
-
Peer-reviewed studies, but not published in journals, conferences or workshops (e.g., PhD theses, books, patents)
-
Duplicated studies
-
Studies published before the year 2000.
We limited the search and selection to papers published since the year 2000. The oldest publication we found by a manual search (cf. Sect. 2.2.1) upfront the SMS has been published in 2011. Therefore, we did not expect to find any relevant papers published earlier than 2000. From a total of 261 papers, 151 papers have been excluded based on these predefined inclusion and exclusion criteria. The majority of the papers that have been excluded were thematically not relevant, because they are neither related to software engineering (31 papers) nor to computer science (94 papers). Many of these papers concern topics like sustainable supply chains, sustainable product development, or energy efficiency. For the search in Scopus, Computer Science has been defined as the topic domain. Due to technical limitations of the search engines, this was not possible for the other databases. In the end, 110 papers were left for further investigation within this SMS.
2.2.4 Voting #1
After collecting research papers from the search databases and applying the inclusion and exclusion criteria, we conducted a voting phase to select all relevant papers to answer the research questions, and therefore suggest, describe or evaluate approaches for identifying or handling any issues of sustainability in requirements engineering. Based on the title and the abstract of each paper, the authors of this SMS decided whether it is either relevant, irrelevant or if there is some uncertainty and the relevance of the paper has to be further discussed. To help the authors in their decision-making, the following question has been defined in order to have a common understanding if and why a paper will or will not be accepted:
Does the paper discuss a concept (e.g., idea, process, method, technique or tool) or a study in the field of RE that fosters the development of sustainable software-intensive systems?
Afterwards, the results have been reviewed in an online meeting. Out of 110 publications, the authors had a clear agreement on 68 papers (all authors voted for either relevant or irrelevant), which corresponds to around two-thirds of the papers of this voting step. The remaining 42 papers needed a further discussion due to different positions by the authors. The calculated Fleiss’ kappa [24] value \(\kappa\) equals to 0.45, which can be interpreted as a moderate agreement [25]. At the end, 88 papers have been selected as relevant in this step.
2.2.5 Snowballing
Snowballing means, both, to consider the reference list of a paper (backward snowballing) and all papers that refer to the paper being examined (forward snowballing) [26, 27]. For any new relevant paper, that got through the inclusion/exclusion criteria and the voting, the snowballing process was repeated iteratively till no new papers were found. The citations were retained by Google Scholar. In total, we checked 1429 citations and 2634 references in the first iteration. After removing duplicates and the papers that have already been found by the database search, the first author identified potentially relevant papers based on their titles (title addresses the topics software development, requirements engineering and sustainability).
In total, three iterations of the snowballing process have been conducted and 10 new papers have been found.
2.2.6 Selected journals, conferences and workshops
Additionally, we manually reviewed the following listFootnote 1 of journals, conferences, and workshops for any relevant papers that we did not find previously.
-
Requirements Engineering, Journal, 2000–2022, https://www.springer.com/journal/766
-
International Workshop on Requirements Engineering for Sustainable Systems (RE4SuSy), 2012–2020, http://birgit.penzenstadler.de/re4susy/, as part of IEEE International Requirements Engineering Conference (RE), http://re20.org
-
International Conferences on Information and Communication Technologies for Sustainability (ICT4S), 2013–2020, http://ict4s.org
-
International Workshop on Green and Sustainable Software (GREENS), 2012–2018, http://greens.cs.vu.nl, as part of International Conference on Software Engineering (ICSE), https://www.icse2018.org.
Out of 328 papers in total, 5 papers have been selected for further consideration based on their titles and abstracts, that also passed the inclusion/exclusion criteria, and have not been included or excluded previously.
2.2.7 Voting #2
A second voting step was conducted for the papers that have been added during the snowballing process and from selected conferences and workshops. This second voting affected 15 papers and has been conducted in the same manner as the first voting (see Sect. 2.2.4). In the end, 14 new papers have been accepted and only one paper has been declined. Consequently, 102 papers were further considered.
2.2.8 Full text screening
As a last step of the search process, we conducted a detailed full text review of the papers and dropped 47 out of 102 papers. This step was necessary to eliminate all papers that do not discuss any explicit approach concerning sustainable software systems and that have not been excluded based on the exclusion criteria in the previous steps before. Ten publications revealed themselves as position papers and further nine publications do not concern the software engineering domain. Other publications were declined because they are literature researches (7), surveys (7), case studies or experience reports (5), vision or concept papers (5), interview studies (2), doctoral symposium papers (1), or tutorial descriptions (1).
3 Results
In this section, we present the answers to the research questions based on the analysis of the selected research papers as stated in Sect. 2.1.
3.1 RQ1: Which RE approaches have been proposed since the year 2000 to support the development of sustainable software-intensive systems and how have they evolved over time?
The first research question concerns the years of publication, the used publication venues, the contributed authors, citations, and an overview of the identified approaches.
3.1.1 Years of publication and publication venues
Figure 2 shows the number of published research papers each year since 2011. As it can be seen, more than half of the papers (29 out of 55) have been published in 2018, 2019 and 2020, which indicates an increase of publications.
Figure 3 shows the publication venues in which the papers have been published. The analysis shows that 55 papers have been published in 25 different journals or conference/workshop proceedings. The three conferences and workshops that we manually searched during the search process (cf. Sect. 2.2.6) are also listed in the top four publication venues. The top publication venue is the International Workshop on Requirements Engineering for Sustainable Systems (RE4SuSy), which was hosted from 2012 to 2021 as part of the International Requirements Engineering Conference (RE).
3.1.2 Authors and citations
Table 5 shows all 91 researchers (not only first authors), that contributed to the selected research papers. We did not differentiate between first authors of the papers and additional authors. In total, 39 authors contributed to more than one paper. The analysis reveals that the authors who contributed most are B. Penzenstadler, R. Chitchyan and L. Duboc with 18, 8 and 7 publications each. The three authors that have contributed most, are involved in 22 publications, which corresponds to exactly 40% of the papers. Duboc jointly contributed to six of seven papers with Penzenstadler and/or Chitchyan. Penzenstadler and Chitchyan, in sum, published 21 papers out of the 55 papers that were part of our study. Jointly they contributed to five out of the 55 selected publications. The top ten authors are involved in 33 publications, which corresponds to 60% of the papers.
Figure 4 shows the number of papers published each year including the numbers of papers in which the top ten authors have participated (indicated by the blue color). The analysis reveals that the top authors contributed constantly over the whole timeline, with a maximum of eight publications in 2018 and a decrease of publications in the subsequent years. However, the majority of the papers with the top ten authors have been published in the last four years. The same is true for the other publications where none of the top ten authors were involved (indicated by the red color): 15 out of 22 publications are published in the last five years from 2017 to 2021.
Figure 5 further shows all authors that are involved in at least two of the selected papers. The edges between two authors indicate that they contributed to the same paper. We can identify seven groups of authors. The largest group consists of 15 authors (indicated by the magenta color). Most of the top ten authors are also part of this group.
The number of citations for each publication was retrieved with Google Scholar. As it can be seen in Table 6, [S23] has the most citations on Google Scholar (177), followed by [S45] (102), [S18] (81), [S34] (56), and [S46] (53).
Figure 6 also shows a network of citations of the selected research papers. The analysis reveals that [S23] and [S45] are the most cited publications within the network of the selected publications (23 citations each from other publications within the network). In [S45], M. Mahaux, P. Heymans, and G. Saval describe experiences from a software project in which ”sustainability requirements were treated as first class quality requirements, and as such systematically elicited, analyzed and documented”. As it was published in 2011, it is also one of the oldest papers of the analyzed papers. In [S23], B. Penzenstadler and H. Femmer introduce the technical sustainability dimension (in addition to the economical, environmental, social, and individual) and provide a ”generic model for sustainability” (composed of goals, dimensions, regulations, values, indicators and activities), that can be used to analyze the sustainability of development processes and software systems. The next most cited publications are [S18], [S34], and [S46] with 11, 10, and 8 citations from within the network.
We also identified one paper [S14] that does not cite nor was cited by any other paper in the network. As we can see in Table 6, the most cited publications within the network are also the most cited publications on Google Scholar.
3.1.3 Identified approaches
In total, 29 different approaches could be identified that are listed in Table 7. Specifically, 12 approaches are discussed by more than one paper, whereas 38 publications are related to them (four publications discuss more than one of the approaches). The remaining 17 publications represent other stand-alone contributions. Several approaches already present a dedicated name, like SusAF, AMDiRE, INSURE/ENSURE or the Karlskrona Manifesto.
As shown in Table 7, the most discussed approach is the Sustainability Awareness Framework (SusAF) [S49], that is covered by six publications. Another six papers discuss reusable catalogs of sustainability requirements. Four of them discuss this topic in the medical domain [S30, S22, S15, S51], whereas the other two are domain-independent [S7, S52]. Although these papers discuss requirements catalogs in different domains, we grouped them to one approach because of their similarity. Other topics that have been discussed by more than three papers are the Generic Sustainability Model, Goal-oriented Requirements Engineering and the Artifact Model for Domain-independent Requirements Engineering.
Table 8 shows the publication years of the approaches that has been discussed by more than one paper. It can be seen, that the Sustainability Awareness Framework and the sustainability requirements catalogs/libraries are the newest approaches. In contrast, the approaches on goal-oriented requirements engineering and the generic sustainability model have been primary published in the first years. Additionally, other approaches come up recently like crowd-focused semi-automated approaches, equality value patterns, the Karlskrona Manifesto, and a negative UX-based discovery approach.
3.2 RQ2: What types of papers are published, which RE activities are supported and what type of evidence is provided?
The second research question concerns the addressed requirements engineering activities, the publications’ research types, and their respective evidence rating.
3.2.1 RE Activities
The traditional requirements engineering process is typically divided into several activities. In literature, typically four or five different activities are discussed. The categorization used in this SMS is based on the five activities also used by Paetsch et al. [15], Batool et al. [28], and Lucia and Qusef [29], namely requirements elicitation, requirements analysis, requirements documentation, requirements validation, and requirements management. We decided to add requirements negotiation as a sixth category to explicitly distinguish it from requirements analysis.
Table 9 shows the mapping of the publications to the requirements engineering activities. As it can be seen, the elicitation and analysis of requirements are the most supported requirements engineering activities. Additionally, 33 of the 55 publications consider more than one RE activity.
Figure 7 shows which requirements engineering activities have been discussed in each of the different years of the regarded time period. Our analysis reveals that none of the activities was dominant in a particular period.
3.2.2 Publication type and evidence rating
According to Wieringa et al. [14], the papers of this SMS are categorized into the following six classes of publication types: evaluation research, validation research, solution proposal, philosophical paper, experience paper, and opinion paper. Following Weinreich und Groher [30], we also used the same evidence categorization that originally is presented by Li et al. [16]. The papers are categorized in the following hierarchy:
-
1.
No evidence
-
2.
Evidence obtained from demonstration or working out toy examples
-
3.
Evidence obtained from expert opinions or observations
-
4.
Evidence obtained from academic studies, e.g., controlled lab experiments
-
5.
Evidence obtained from industrial studies, e.g., causal case studies
-
6.
Evidence obtained from industrial practice.
An overview of the mapping between the research types and the evidence categorization is shown in Fig. 8a. Additionally, the requirements engineering activities were mapped with the research types and with the evidence categorization as shown in Fig. 8b, c.
3.3 RQ3: Which sustainability dimensions and orders of effects are considered by the approaches?
The third research question concerns the used sustainability definitions. In total, 37 papers refer to the concept of the five sustainability dimensions proposed by Penzenstadler and Femmer [17]. As shown in Fig. 9a, these are two thirds of the observed papers. Nine papers do not mention any sustainability dimensions [S21, S35, S39, S26, S8, S6, S9, S5, S4]. One paper discusses the social dimension of sustainability but it remains unclear how many other dimensions are considered. Four publications only regard the economic, environmental, and social dimensions [S46, S14, S7, S45]. Two papers additionally consider the technical dimension [S12, S38] but not the individual dimension. Another publication considers the economic, social, environmental, and individual dimensions, but not the technical dimension [S2]. Finally, one paper considers up to 9 dimensions, namely the five by Penzenstadler and Femmer, and in addition ”purpose”, ”design-aesthetical”, ”integrative”, and ”legal” [S40].
We also found that 21 papers focus especially on one or more sustainability dimension. Figure 9b shows that the environmental dimension [S33, S11, S22, S51, S26, S19, S18, S3, S45, S35, S8, S6, S9, S5, S4] and the social dimension [S33, S11, S22, S51, S26, S52, S47, S37, S1, S21] are the most popular. Two publications also focus on the economic dimension [S33, S11], five publications on the technical dimension [S33, S11, S22, S51, S52], and three on the individual dimension [S22, S51, S39].
Next to the different sustainability dimensions, we also examined how many publications mention the three orders of impacts or at least distinguish between direct and indirect sustainability impacts. As presented in Fig. 9c, 19 papers incorporated the idea of direct, indirect, and systemic impacts [S19, S18, S3, S29, S48, S34, S49, S16, S50, S44, S13, S43, S27, S36, S24, S25, S53, S55, S7]. Seven publications do not mention three orders of impact, but discuss direct and indirect sustainability impacts [S33, S9, S37, S17, S42, S2, S46]. The remaining 29 papers do not discuss orders of impacts.
3.4 RQ4: Which supporting software tools are provided?
We also examined how many papers discuss the use of a supporting software tool. Therefore, we inspected the abstracts, the conclusions, and the figures of the papers and additionally searched for the term ”tool” within the full-text. As shown in Fig. 9d, 24 of 55 papers, envision a tool or underpin its usefulness as part of future work, present a conceptual solution, developed prototypes, or mention the use of external tools. Nearly, a quarter of all papers (13), either envision a supporting software tool to their proposed approach or even mention it as part of planned future work [S31, S32, S29, S45, S49, S20, S42, S50, S43, S46, S26, S10, S3], although it is not clear in every case if the authors really mean a ”software tool” when they used the term ”tool” or if they used it as a synonym for an approach without software support. Seyff et al. [S48] discuss the only conceptual solution in more detail, which is about a platform for crowd-focused semi-automated requirements engineering. Seven papers present prototypes of supporting software tools. Groher et al. [S25] discuss a machine learning-based approach to identify potential effects, which has been evaluated by applying it in the domain of home automation. Saputri and Lee [S17] provide a semi-automated tool to assess the sustainability aspect of software artifacts based on defined sustainability requirements. Ponsard et al. [S35, S4] present an approach to help Cloud developers to build applications in a more energy-aware way and to support them to make the right trade-offs among different energy related non-functional requirements. This approach is supported by an open source prototype. Albuquerque et al. [S52] present a sustainability catalog that has been also implemented as a web-based tool, that can be configured to filter the catalog according to specific needs. Alharthi et al. [S41] present the SuSoftPro methodology and a web-based tool that can be used by requirements engineers to analyze the impacts of requirements on the sustainability of software systems. Finally, Basmer et al. [S53] present SusApp, which is a web-based tool that supports the Sustainability Awareness Framework (SusAF) [S49] and facilitates the documentation and visualization of effects on sustainability. Another three papers by Penzenstadler [S19], Seyff et al. [S36], and Chitchyan et al. [S55], mention the use of external tools, such as Enterprise Architect, DOORS, IBM Rational, and others.
3.5 RQ5: Which approaches can be applied in an agile context, according to the authors?
To identify the publications that propose an iterative application of their proposed approaches or discuss agile software development (or even Scrum), we searched for the terms “iteration” (respectively “iterative”), “agile” and “scrum” within the full-text of the papers. We found that 31 publications do not mention any of these terms, six publications mention the term “agile” and 18 publications either mention or even suggest an iterative application of their approach.
None of the six papers, that mention the term “agile” already propose an iterative application. Oyedeji and Penzenstadler present the Karlskrona Manifesto [S28] as also experiences from applying it in two case studies [S20]. Both papers mention the Agile Manifesto [31] as an example of a successful guide to help practitioners in software development. In a publication by Oyedeji and Penzenstadler [S28], an expert group also requested a mapping of the Karlskrona Manifesto to agile software development, especially Scrum, during its evaluation. This is also the only paper that mentions Scrum. Horkoff und Li [S26] state that the development of sustainable systems should be in line with agile thinking and business realities. Svetinovic [S14] also state the necessity “to make RE methods adaptive without the luxury of being able to integrate them with agile development methods”. Hinai and Chitchyan [S47] and Penzenstadler [S13] suggest an application of their approaches in agile settings as part of future work.
Out of the 18 publications that mention or suggest an iterative application of their approaches, nine publications describe it as an integral part. In line with [S13], Penzenstadler et al. also state in [S10, S18, S19, S23] that the stakeholder identification and goal elicitation usually happen iteratively in practice. Pham et al. [S40] present their ShapeRE framework for the iterative identification and representation of sustainability requirements. Seyff et al. [S48] also regard the elicitation, analysis, and negotiation of requirements considering their impact on sustainability as an iterative process enabled by their outlined platform for crowd-focused requirements engineering. Paech et al. [S24] propose checklists that can be used to iteratively refine the requirements of a specific system with sustainability considerations. Finally, Condori-Fernandez et al. propose an iterative methodology for nichesourcing the knowledge on sustainability requirements and their dependencies [S38], and also investigate how green software strategies can contribute to quality requirements prioritization performed iteratively throughout a service-oriented software design process [S12].
The remaining nine publications [S45, S35, S15, S43, S11, S7, S9, S31, S55] do not propose an iterative application of their approaches as an integral element but at least mention the iterative applicability of their approaches or mention other iterative approaches as part of related work.
4 Discussion
In this section, we first summarize and discuss the results of the research questions and their implications. Afterwards, we also state some recommendations concerning future academic work on approaches for sustainable software systems and their application in practice.
4.1 Proposed approaches and their evolution
Timeline and authors Generally, the results show an increase of publications in the recent years. This is not a surprise, as the interest in sustainability topics is raising across many different domains beyond computer science. Nevertheless, in 2021, only three papers have been published. We identified two possible reasons for this low number in comparison to the preceding years: the first reason might be the cancellation of conferences due to the Covid pandemic, the second is that not all research papers were available in the selected databases during the search process in February 2022. Our search strategy was defined to include relevant papers since the year 2000 (cf. Sect. 2.2.3). Nevertheless, the oldest selected publication was published in 2011. No relevant publications were selected that have been published before the year 2011.
One third of all authors (39 out of 91) contributed to more than one of the selected publications. The results show that the top ten authors contributed to 33 of the publications and the top 18 authors (authors that contributed to four or more papers) contributed to 46 papers, which are more than 80% of the 55 selected publications. Although different groups of authors have been identified that contributed to the same publications, it is quite interesting that 7 out of the 10 top authors are also part of the same group. This indicates that these authors share a common understanding of sustainability in software engineering. Furthermore, our study shows that the authors are highly interconnected. Consequently, they also interact, which is also confirmed by the numbers of papers that cite (or are cited by) other publications. Accordingly, we can identify a sustainability community within the requirements engineering domain.
Approaches The results show that many different approaches have been published in the last decade that support the development of sustainable software systems. Only 12 out of 29 approaches have been discussed in more than one publication selected in this SMS. One of these approaches is the Sustainability Awareness Framework (SusAF), that has already been evaluated in industrial case studies. Consequently, there are many different possibilities for researchers to use existing approaches as a starting point, to evaluate them in practice and to refine them. One of the key challenges will be to push these approaches to a level, so that practitioners can apply them in industrial settings.
4.2 RE activities, publication types, and evidence rating
RE activities It is not surprising that requirements elicitation and requirements analysis are the activities that are most addressed by the publications. These are also the activities that are probably of highest importance for practitioners. Concerning possible sustainability impacts of software requirements, it is obvious, that the requirements analysis activity is the most important one. Nevertheless, we believe that sustainability should be incorporated in all RE activities:
-
Requirements elicitation should not only discover functional and non-functional requirements of a software system but also requirements of sustainability issues.
-
Requirements analysis should analyze possible impacts of functional and non-functional requirements toward different sustainability dimensions.
-
Requirements negotiation processes with the stakeholders should address sustainability issues in order to not only discuss conflicting requirements but also conflicting sustainability impacts across different dimensions (e.g., positive economic impacts vs. negative environmental impacts).
-
A requirements documentation that includes sustainability impacts can support future decision making. Possible impacts could be included upfront their implementation but also afterwards through the use of different metrics (e.g., energy usage).
-
The requirements validation process can assure that sustainability impacts have been analyzed and that they do not harm any sustainability standards of the stakeholders.
-
Sustainability impacts should also be considered as part of requirements management, that primarily keeps track of requirements changes throughout the software life-cycle.
Publication types and evidence rating We found that the majority of the publications are either evaluation (15) or validation (23) papers. Another 11 publications are classified as solution papers without a corresponding validation. Interestingly, none of the publications obtained evidence from industrial practice, which underpins the novelty of the research field of sustainability in RE. Further, only 11 publications obtained evidence from industrial case studies. In contrast, 35 papers obtained evidence either from demonstrations or toy examples (17), from expert opinions or observations (8), or from academic studies such as lab experiments (10). These results expose a lack of industrial case studies and the need for an extended practical evaluation of the proposed approaches.
4.3 Sustainability definitions
The results show, that there is no common understanding about sustainability in the domain of requirements engineering. The perception of sustainability as a multi-dimensional concept is crucial and was first mentioned more than three decades ago [7]. Instead of analyzing possible formal definitions stated in the papers, we analyzed how many papers mention different sustainability dimensions and which dimensions they use. This also facilitates a comparison of the selected publications. We found that two thirds of the publications incorporate sustainability as a five-dimensional concept as proposed by Penzenstadler and Femmer [17]. Hence, this concept is already widely used within the requirements engineering domain. Nevertheless, 18 papers use other sets of sustainability dimensions or do not mention any of them.
As 21 papers focus on one or more of the sustainability dimensions, we also analyzed which of the dimensions are most considered. It is not surprising, that the environmental dimension is of most interest and is most often linked to the topic of sustainability. Interestingly, the social dimension is the second most considered dimension, whereas the economic, the technical, and the individual dimensions are of rather low interest. We expected a greater dominance of the technical and the economic dimensions, as they are typically important for the developers and the stakeholders in software development processes.
In addition to the multi-dimensional concept of sustainability, impacts on sustainability can be differentiated in three orders of impacts (direct, indirect, and systemic) as described by Hilty and Aebischer [32]. The results show, that only about a third of the publications mention the three orders of impacts, which is a much smaller number than for the five sustainability dimensions. This leads to the question, if the categorization of sustainability impacts along two axis, namely sustainability dimensions on the one hand, and orders of impacts on the other hand, is too complex. This will potentially be a topic for future research.
4.4 Tool support
Tool support for newly developed approaches becomes important when they are evaluated in case studies with practitioners. Concerning software requirements, software tools can support the stakeholders by simplifying the documentation and visualization of their sustainability impacts [S53]. The results of our study show that of the 55 publications only seven provide tool support in form of a developed prototype. Although 13 publications mention a supporting software tool as part of future work, more than half of the publications do not discuss such assistance. The development of supporting software tools requires appropriate knowledge and can be very time consuming. Also, the development is only worth the effort if there is a chance to evaluate it in a subsequent case study.
4.5 Application in Agile software development
Before we conducted the SMS, we already noticed that much work has been published in the area of requirements engineering for the development of sustainable software systems but only little in the context of agile software development processes. Since nowadays agile software development and especially Scrum [12] is the predominant software engineering practice, it is worth investigating how sustainability issues can be incorporated into such processes. Therefore, we also analyzed how many publications discuss the application of their approaches in an agile context. In fact, only six out of 55 papers mentioned the term "agile", whereas none of these papers discuss or even suggest an application of their approaches in agile processes.
Nevertheless, 18 publications mention or suggest an iterative application of their approach. Consequently, there is a high potential that some of them might also fit in agile practices with iterative process cycles like in Scrum. Therefore, an interesting area of future work is to investigate which of the existing approaches can be applied in agile processes, which of the approaches need some adaptations, and which approaches do not fit well and cannot be adapted easily.
4.6 Recommendations
Based on the previously discussed results, we suggest the following recommendations, that target the practical usage of approaches proposed by academics.
Sustainability definition The results reveal a lack of a common understanding of what makes a software system sustainable. Although 37 out of 55 papers refer to the same concept of the five sustainability dimensions proposed by Penzenstadler and Femmer [17], the remaining 18 papers either mention more, less or even no sustainability dimensions. The existence of numerous different definitions of software sustainability has already been discussed by Penzenstadler [33] and by Venters et al. [34], and it is argued that this leads to inefficient efforts to address sustainability. In order to consider sustainability in software development processes, it is even more important for practitioners that they share a common understanding of what makes a software system sustainable and that the approaches used rely on the same sustainability concepts.
Application in agile contexts The study shows that a noteworthy number of approaches have been proposed by the requirements engineering community within the last decade. Nevertheless, in practice, agile development processes are dominant at the moment. Consequently, there is a need to evaluate which of the already existing approaches are also applicable in agile contexts. On the one hand, some of the approaches already propose an iterative procedure and may therefore be used in projects that follow agile practices. Other approaches would likely need more adaptations to fit. We also suggest to consider this aspect for newly developed approaches.
Tool support The availability of software tools, that can be used by practitioners, can accelerate the adoption of proposed approaches in practice. Even if there is a lack of resources to develop a software tool, we encourage to at least discuss opportunities as possible future work. Additionally, it would help practitioners as well as academics if such tools were available open source.
Simplicity and value Finally, in addition to supporting software tools, we demand simplicity of the proposed approaches, otherwise it will be very difficult for practitioners to use them. Sustainability, not only in the domain of software engineering or computer science, requires solutions that can be adapted easily and quickly by companies, organizations, or other communities. Furthermore, we postulate that approaches proposed by the scientific community also expose their added value provided by their application. In the end, adopting new approaches requires willingness of the stakeholders. Thus, the additional investment of time and money has to reveal any considerable benefit.
5 Related work
In this section, we present related work on sustainability in requirements engineering and software engineering in general. Several systematic mapping studies and systematic literature reviews have been published in the last decade, whereas the majority focus on the sustainability of software systems. Some papers also discuss sustainability in the context of the software development process itself. The work published so far state the following issues that we also exposed: (1) There is an increasing interest in sustainability in the software engineering domain. (2) The proposed approaches are limited used in practice. (3) There is a lack of a common sustainability definition. (4) Many studies focus on the environmental dimension of sustainability.
5.1 Sustainability in requirements engineering
Alharthi and Spichkova [35] performed an SLR on sustainability requirements for eLearning systems. They identified 15 sustainability requirements from 51 studies, whereas the majority belong to the social and individual sustainability dimension. Another SLR by Alharthi et al. [36], focusing also on eLearning systems, identified 18 sustainability requirements.
García-Mireles et al. [9] conducted an SMS to identify practices for managing interactions between software quality characteristics and sustainability. They found that the interaction between performance and energy efficiency has been discussed most and can be rated as a positive interaction, while security as an example shows a conflicting interaction with energy efficiency. García-Mireles and Villa-Martínez [37] also performed an SMS to understand how the development of sustainability requirements can be mapped to the activities and tasks of the requirements processes that are part of ISO/IEC 12207. The results show a trend for methodological support for the stakeholder requirements definition process, but on the other hand also a lack of proposals for the system and the software requirements analysis process.
Jannat [10] conducted a literature review and examined how traditional requirements elicitation techniques can be converted to green software requirements elicitation techniques. In contrast to the other studies in this section, this work focuses not on the sustainability of a developed software system, but on the development process itself.
Mireles et al. [11] conducted an SMS and present a classification approach of sustainability aware requirements methods. They investigated the sustainability notion, the papers rely on, as also their view on green software, and the coverage of requirements engineering activities.
In contrast to our work, none of these studies nor any other publication (to the best of our knowledge) generally addresses RE approaches toward sustainability or provides an overview of approaches in this domain.
5.2 Sustainability in software engineering
Ahmad et al. [8] performed an SLR about sustainability in software engineering and observed publications that provide approaches and methods used for sustainability in software engineering. The results show that as of 2014, only few publications have been published in SE concerning sustainability in contrast to other domains.
Berntsen et al. [38] conducted an SMS that focuses on the development of frameworks and guidelines in sustainable software engineering. The results show an increasing interest in sustainability in the recent years and present different types of models and criteria for evaluating sustainability properties.
Imran and Kosar [39] conducted an SLR with the objective to present technical and non-technical challenges and approaches to incorporate software sustainability. The results show that sustainability can be integrated into activities at the technical (software design, coding, user experience, etc.) and non-technical levels (documentation, training of software engineers, leadership skills of project managers, etc.). Therefore, this study does not only discuss sustainability of the software system but also of the development process.
Mourão et al. [40] conducted an SMS and analyzed 75 studies addressing methods, processes, tools, and metrics proposed to support the software development in a sustainable way. The results indicate a growing interest in sustainability topics within the SE research community and the need to line up research with practice.
Penzenstadler [41] conducted an SLR with the aim to provide an overview of different aspects of sustainability in software engineering. The paper sketches a taxonomy of topics and domains, and provides a list of used methods and proposed approaches. Penzenstadler et al. [42] also conducted an SMS on software engineering for sustainability. The results show a great number of research topic clusters and a variety of models and methods. On the other hand, the low number of evaluation papers also shows that the usage of the approaches in practice is still limited.
Venters et al. [43] investigated how the term ’sustainability requirement’ is generally used in software and requirements engineering. The data reveals that the term is used ambiguously across different research fields.
Wolfram et al. [44] performed an SMS and provide an overview of how researches have defined sustainability so far. They further examined which knowledge areas and which time scope of sustainability effects are mostly targeted in scientific research. The results also show the novelty of sustainability in software engineering and that research is primarily focused on environmental issues and direct impacts of the developed software systems and the software development processes.
Although several secondary studies have already been published that concern sustainability in SE, none of them (in contrast to our work) addresses the development of sustainable software systems in agile processes.
6 Threats to validity
Our study is subject to several threats to validity, including internal, external, conclusion, and construct validity. This classification of possible threats to validity is proposed by Wohlin et al. [45].
6.1 Construct validity
Construct validity refers to the question of whether the constructs are measured and interpreted correctly and relates to the definition of the search string for the database search. To ensure a common understanding of the relevant concept and terms, we analyzed the definitions of sustainability and synonyms in the context of software engineering (e.g., longevity) in the relevant literature. To ensure our search terms were accurate, we conducted a pilot study to verify and refine the initial keywords. We also extended the database search by a manual search in relevant publication venues. To ensure a common understanding of the data extracted from the studies, the two remaining authors reviewed the data extracted by the first author. This procedure also mitigates the threat of hypothesis guessing; since the authors are familiar with sustainability in requirements engineering, some results were already expected, whereby the authors can be biased.
6.2 Internal validity
Internal validity refers to the question of whether the study results follow from the data. The quality of the evaluation is influenced by the knowledge, experience, and understanding of the first author. To mitigate this threat of a personal bias, the first author was guided by the two other authors, pilot studies were conducted, and samples were taken to ensure a systematic search and evaluation process.
During the search process, we also conducted two voting phases to select relevant papers and discussed several papers to get to an agreement. In preparation of the voting phase, a question has been formulated together to support the authors in deciding whether a paper should be included or excluded.
To mitigate a data extraction bias, templates were developed and filled out for each paper. The classification of papers are based on models already presented in other publications (research types, evidence ratings, sustainability dimensions, RE activities).
6.3 External validity
External validity refers to the question of whether claims for the generality of the results are justified. The external validity may be influenced by the search engines used. To mitigate this threat, we used four different databases and extended the database search by additional search process strategies such as forward- and backward-snowballing and also manually searched for publications in selected workshops, conferences, and journals.
The search string consists of different terms combined by boolean operators. Penzenstadler et al. [42] reported about different results depending on the order of the terms and operators within the search term, although the search terms were semantically equivalent. We tried to mitigate this threat by using additional search process strategies as described above.
Overall, the aim of this SMS is to provide an overview of existing approaches that is as complete as possible. Consequently, the SMS concerns a very narrow topic in the RE domain and cannot be easily generalized to related research fields.
6.4 Conclusion validity
Conclusion validity takes care of issues when drawing conclusions and refers to the question of whether the study is reproducible by other researchers. The threats concerning the search process for any repeated studies are rather low as far as researchers follow the same methodology as presented in Sect. 2. Nevertheless, we conducted two voting phases to decide if publications should be selected or not. Consequently, other researchers might retrieve a different set of papers, even if they also conduct votings and discuss any disagreements. As the number of selected publications and identified RE approaches is also very low, they also have a low statistical power. Furthermore, the data extraction process of the selected papers is personally biased by the conducting first author. This has been also discussed in Sect. 6.2.
7 Conclusion and future work
We performed a systematic mapping study to obtain an overview of existing RE approaches that foster the development of sustainable software-intensive systems. An important aspect of our study, that distinguishes it from other studies, is our interest in the applicability of the approaches in agile software development processes. We identified 55 studies published since the year 2000, that we aggregated to 29 RE approaches.
Our analysis reveals that none of the approaches explicitly target agile settings. Nevertheless, several of them propose an iterative application of their approaches and therefore might be applied in agile settings too.
We further analyzed the approaches with regard to the RE activities they support and found that most focus on the elicitation and analysis of software requirements.
Some approaches have already been evaluated in industrial case studies but none of them is industrial practice. It thus remains one of the key challenges to reach maturity of the approaches, so that practitioners can adapt and use them.
A considerable number of approaches incorporate the idea of sustainability as a multi-dimensional concept. However, we cannot confirm that there is a common understanding of sustainability in RE yet. Still, our study shows the presence of an interconnected sustainability community within RE and a growing number of publications in the recent years.
Finally, we also formulate recommendations for future academic work that could potentially support the usage of the developed approaches in practice. This includes the necessity of a common understanding of the sustainability of software systems, the applicability of the approaches not only in RE but also in agile settings, the added value of supporting software tools, as also our request for simplicity of the approaches.
Our future work will target on carrying out case studies to evaluate how the Sustainability Awareness Framework (SusAF) can be applied in real-world projects within agile settings and in which way the impacts of backlog items, such as single user stories, can be mapped to the impacts identified by SusAF.
7.1 Supplementary information
The datasets generated during and/or analysed during the current study are available from the corresponding author on request.
Notes
The websites of the journals, conferences, and workshops have been last accessed in February 2022.
References
Becker C, Betz S, Chitchyan R, Duboc L, Easterbrook SM, Penzenstadler B, Seyff N, Venters CC (2016) Requirements: The key to sustainability. IEEE Softw 33(1):56–65
Penzenstadler B (2014) Infusing green: Requirements engineering for green in and through software systems. In: RE4SuSy@ RE, pp 44–53
Chitchyan R, Becker C, Betz S, Duboc L, Penzenstadler B, Seyff N, Venters CC (2016) Sustainability design in requirements engineering: state of practice. In: Proceedings of the 38th Int. conference on software engineering companion. ACM, pp 533–542
Penzenstadler B, Raturi A, Richardson D, Tomlinson B (2014) Safety, security, now sustainability: The nonfunctional requirement for the 21st century. IEEE Softw 31(3):40–47
Raturi A, Penzenstadler B, Tomlinson B, Richardson D (2014) Developing a sustainability non-functional requirements framework. In: Proceedings of the 3rd international workshop on green and sustainable software. ACM, pp 1–8
Becker C, Chitchyan R, Duboc L, Easterbrook S, Penzenstadler B, Seyff N, Venters CC (2015) Sustainability design and software: the Karlskrona manifesto. In: 2015 IEEE/ACM 37th IEEE International conference on software engineering, vol 2. IEEE, pp 467–476
Strategic Imperatives. Report of the world commission on environment and development: Our common future. 10 (1987)
Ahmad R, Baharom F, Hussain A (2014) A systematic literature review on sustainability studies in software engineering. In: Knowledge management international conference (KMICe), Langkawi, Malaysia
García-Mireles GA, Moraga MÁ, García F, Calero C, Piattini M (2018) Interactions between environmental sustainability goals and software product quality: a mapping study. Inf Softw Technol 95:108–129
Jannat UK (2016) Green software engineering adaption in requirement elicitation process. 5:94–98
Mireles GAG, Moraga MÁ, García F, Piattini M (2017) A classification approach of sustainability aware requirements methods. In: 2017 12th Iberian conference on information systems and technologies (CISTI). IEEE, pp 1–6
Hoda R, Salleh N, Grundy J (2018) The rise and evolution of agile software development. IEEE Softw 35(5):58–63
Kitchenham B, Charters S (2007) Guidelines for performing systematic literature reviews in software engineering
Wieringa R, Maiden N, Mead N, Rolland C (2006) Requirements engineering paper classification and evaluation criteria: a proposal and a discussion. Requir Eng 11(1):102–107
Paetsch F, Eberlein A, Maurer F (2003) Requirements engineering and agile software development. In: WET ICE 2003. Proceedings. Twelfth IEEE international workshops on enabling technologies: infrastructure for collaborative enterprises, 2003. IEEE, pp 308–313
Li Z, Liang P, Avgeriou P (2013) Application of knowledge-based approaches in software architecture: a systematic mapping study. Inf Softw Technol 55(5):777–794
Penzenstadler B, Femmer H (2013) A generic model for sustainability with process-and product-specific instances. In: Proceedings of the 2013 workshop on Green in/by software engineering. ACM, pp 3–8
Petersen K, Feldt R, Mujtaba S, Mattsson M (2008) Systematic mapping studies in software engineering. In: 12th International conference on evaluation and assessment in software engineering (EASE), vol 12, pp 1–10
Villamizar H, Kalinowski M, Viana M, Fernández DMé (2018) A systematic mapping study on security in agile requirements engineering. In: 2018 44th Euromicro conference on software engineering and advanced applications (SEAA). IEEE, pp 454–461
Yan M, Xia X, Zhang X, Ling X, Yang D, Li S (2019) Software quality assessment model: a systematic mapping study. Sci China Inf Sci 62(9):191101
Mourão E, Pimentel JF, Murta L, Kalinowski M, Mendes E, Wohlin C (2020) On the performance of hybrid search strategies for systematic literature reviews in software engineering. Inf Softw Technol 106294
Heinz M (2020) Systematic mapping studies. 2014. Online available https://userpages.uni-koblenz.de/~laemmel/esecourse/slides/sms.pdf. Last visited 4th April 2020
Kitchenham B, Pretorius R, Budgen D, Brereton OP, Turner M, Niazi M, Linkman S (2010) Systematic literature reviews in software engineering—a tertiary study. Inf Softw Technol 52(8):792–805
Fleiss JL (1977) Measuring nominal scale agreement among many raters. 76(5):378
Landis JR, Koch GG (1977) The measurement of observer agreement for categorical data. 33(1):159
Wohlin C (2014) Guidelines for snowballing in systematic literature studies and a replication in software engineering. In: Proceedings of the 18th international conference on evaluation and assessment in software engineering, pp 1–10
Webster J, Watson RT (2002) Analyzing the past to prepare for the future: writing a literature review. MIS Quarterly xiii–xxiii
Batool A, Motla YH, Hamid B, Asghar S, Riaz M, Mukhtar M, Ahmed M (2013) Comparative study of traditional requirement engineering and agile requirement engineering. In: 2013 15th International conference on advanced communications technology (ICACT). IEEE, pp 1006–1014
De Lucia A, Qusef A (2010) Requirements engineering in agile software development. J Emerg Technol Web Intell 2(3):212–220
Weinreich R, Groher I (2016) Software architecture knowledge management approaches and their support for knowledge management activities: a systematic literature review. Inf Softw Technol 80:265–286
Fowler M, Highsmith J et al (2001) The agile manifesto. Softw Dev 9(8):28–35
Hilty LM, Aebischer B (2015) ICT for sustainability: An emerging research field. ICT Innov Sustain 3–36
Penzenstadler B (2013) Towards a definition of sustainability in and for software engineering. In: Proceedings of the 28th annual ACM symposium on applied computing, pp 1183–1185
Venters CC, Jay C, Lau LMS, Griffiths MK, Holmes V, Ward RR, Austin J, Dibsdale CE, Xu J (2014) Software sustainability: the modern tower of babel. In: CEUR Workshop proceedings, vol 1216. CEUR, pp 7–12
Ahmed A, Spichkova M (2016) Individual and social requirement aspects of sustainable elearning systems. In: Proceedings of the international conference on engineering education and research (ICEER 2016). RMIT University, pp 1–8
Alharthi AD, Spichkova M, Hamilton M (2019) Sustainability requirements for elearning systems: a systematic literature review and analysis. Requir Eng 24(4):523–543
García-Mireles GA, Villa-Martínez HA (2017) Practices for addressing environmental sustainability through requirements processes. In: International conference on software process improvement. Springer, Berlin, pp 61–70
Berntsen KR, Olsen MR, Limbu N, Tran AT, Colomo-Palacios R (2016) Sustainability in software engineering-a systematic mapping. In: International conference on software process improvement. Springer, Berlin, pp 23–32
Imran A, Kosar T (2019) Software sustainability: a systematic literature review and comprehensive analysis. arXiv preprint arXiv:1910.06109
Mourão BC, Karita L, do Carmo MI (2018) Green and sustainable software engineering—a systematic mapping study. In: Proceedings of the 17th Brazilian symposium on software quality, pp 121–130
Penzenstadler B, Bauer V, Calero C, Franch X (2012) Sustainability in software engineering: a systematic literature review
Penzenstadler B, Raturi A, Richardson D, Calero C, Femmer H, Franch X (2014) Systematic mapping study on software engineering for sustainability (SE4S). In: Proceedings of the 18th international conference on evaluation and assessment in software engineering, pp 1–14
Venters CC, Seyff N, Becker C, Betz S, Chitchyan R, Duboc L, McIntyre D, Penzenstadler B (2017) Characterising sustainability requirements: a new species red herring or just an odd fish? In: 2017 IEEE/ACM 39th international conference on software engineering: software engineering in society track (ICSE-SEIS). IEEE, pp 3–12
Wolfram N, Lago P, Osborne F (2017) Sustainability in software engineering. In: 2017 Sustainable internet and ICT for sustainability (SustainIT). IEEE, pp 1–7
Wohlin C, Runeson P, Höst M, Ohlsson M, Regnell B, Wesslén A (2000) Experimentation in software engineering—an introduction. Kluwer Academic Publishers, Doedrecht
Funding
Open access funding provided by Johannes Kepler University Linz.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Systematic mapping study
Systematic mapping study
-
[S1]
Maryam Al Hinai and Ruzanna Chitchyan. Evaluating Equality Requirements for Software Systems. pages 20–2.
-
[S2]
Nguyet Nguyena and Ruzanna Chitchyan. Systems re-design for sustainability: PetShop Case study. page 15.
-
[S3]
Sedef Akinli Kocak and Gulfem Isiklar Alptekin. A Utility Model for Designing Environmentally Sustainable Software. page 6.
-
[S4]
Christophe Ponsard, Raphael Michel, Jean-Christophe Deprez, and Sanae Saadaoui. Guiding Cloud Application Developers toward a Balanced Design Trade-off among Energy Impacting Requirements2. page 14.
-
[S5]
Birgit Penzenstadler, Bill Tomlinson, and Debra Richardson. Support Environmental Sustainability by Requirements Engineering. page 6.
-
[S6]
Jean-Christophe Deprez, Ravi Ramdoyal, and Christophe Ponsard. Integrating Energy and Eco-Aware Requirements Engineering in the Development of Services-Based Applications on Virtual Clouds. page 7.
-
[S7]
Rui Carvalho. Discussion Toward a Library of Software Sustainability Requirements. page 10.
-
[S8]
David Stefan, Emmanuel Letier, and Mark Barrett. Goal-Oriented System Modeling for Managing Environmental Sustainability. page 4.
-
[S9]
Giovanna Gonzales Calienes. Requirements Prioritization Framework for developing Green and Sustainable Software using ANP-based Decision Making. page 9, 2013.
-
[S10]
Birgit Penzenstadler, Henning Femmer, and Debra Richardson. Who is the advocate? Stakeholders for sustainability. In 2013 2nd International Workshop on Green and Sustainable Software (GREENS), pages 70–77, San Francisco, CA, USA, May 2013. IEEE.
-
[S11]
Nelly Condori Fernandez, Patricia Lago, and Miguel R Luaces. Using Participatory Technical-action-research to validate a Software Sustainability Model. page 10, 2019.
-
[S12]
Nelly Condori Fernandez and Patricia Lago. The Influence of Green Strategies Design onto Quality Requirements Prioritization. In Erik Kamsties, Jennifer Horkoff, and Fabiano Dalpiaz, editors, Requirements Engineering: Foundation for Software Quality, volume 10753, pages 189–205. Springer International Publishing, Cham, 2018. Series Title: Lecture Notes in Computer Science.
-
[S13]
Birgit Penzenstadler. Sustainability analysis and ease of learning in artifact-based requirements engineering: The newest member of the family of studies (It’s a girl!). Information and Software Technology, 95:130–146, March 2018.
-
[S14]
Davor Svetinovic. Strategic requirements engineering for complex sustainable systems. Systems Engineering, 16(2):165–174, June 2013.
-
[S15]
Manal Kharbouch, Ali Idri, Leanne Redman, Hassan Alami, José Luis Fernández-Alemán, and Ambrosio Toval. Software Requirement Catalog on Acceptability, Usability, Internationalization and Sustainability for Contraception mPHRs.pdf. 2020.
-
[S16]
Birgit Penzenstadler, Leticia Duboc, Regina Hebig, Andy Dearden, Benjamin Kanagwa, Michel Chaudron Engineer Bainomugisha, Eric Umuhoza, and Dorothy Okello. Raising Awareness for Potential Sustainability Effects in Uganda: A Survey-based Empirical Study. page 7, 2020.
-
[S17]
Theresia Ratih Dewi Saputri and Seok-Won Lee. Integrated framework for incorporating sustainability design in software engineering life-cycle: An empirical study. Information and Software Technology, page 106407, September 2020.
-
[S18]
Birgit Penzenstadler. Infusing Green: Requirements Engineering for Green In and Through Software Systems. page 10, 2014.
-
[S19]
Birgit Penzenstadler. From Requirements Engineering to Green Requirements Engineering. In Coral Calero and Mario Piattini, editors, Green in Software Engineering, pages 157–186. Springer International Publishing, Cham, 2015.
-
[S20]
B Penzenstadler and S Oyedeji. Experiences from Applying the Karlskrona Manifesto Principles for Sustainability in Software System Design. page 11, 2020.
-
[S21]
Nelly Condori-Fernandez, Alejandro Catala Bolos, and Patricia Lago. Discovering requirements of behavior change software systems from negative user experience. In Proceedings of the 40th International Conference on Software Engineering: Companion Proceeedings, pages 222–223, Gothenburg Sweden, May 2018. ACM.
-
[S22]
Sofia Ouhbi, José Luis Fernández-Alemán, Ali Idri, Ambrosio Toval, José Rivera Pozo, and Manal El Bajta. A Reusable Requirements Catalog for Internationalized and Sustainable Blood Donation Apps:. In Proceedings of the 12th International Conference on Evaluation of Novel Approaches to Software Engineering, pages 285–292, Porto, Portugal, 2017. SCITEPRESS - Science and Technology Publications.
-
[S23]
Birgit Penzenstadler and Henning Femmer. A generic model for sustainability with process- and product-specific instances. In Proceedings of the 2013 workshop on Green in/by software engineering - GIBSE ’13, page 3, Fukuoka, Japan, 2013. ACM Press.
-
[S24]
Barbara Paech, Ana Moreira, João Araujo, and Peter Kaiser. Toward a Systematic Process for the Elicitation of Sustainability Requirements. page 7, 2019.
-
[S25]
Iris Groher, Norbert Seyff, and Tahira Iqbal. Toward Automatically Identifying Potential Sustainability Effects of Requirements. page 5, 2019.
-
[S26]
Jennifer Horkoff and Tong Li. Using the Doughnut Model to Support Sustainable Quality Requirements in iStar. page 6, 2020.
-
[S27]
Shola Oyedeji, Ahmed Seffah, and Birgit Penzenstadler. Sustainability Quantification in Requirements Informing Design. page 10, 2017.
-
[S28]
Shola Oyedeji and Birgit Penzenstadler. Karlskrona Manifesto: Software Requirement Engineering Good Practices. page 9, 2018.
-
[S29]
Theresia Ratih Dewi Saputri and Seok-Won Lee. Analyzing Trade-offs for Sustainability Requirements: A Decision-Making Process. page 8, 2019.
-
[S30]
Mariam Bachiri, Ali Idri, Leanne M. Redman, Jose Luis Fernandez-Aleman, and Ambrosio Toval. A Requirements Catalog of Mobile Personal Health Records for Prenatal Care. In Sanjay Misra, Osvaldo Gervasi, Beniamino Murgante, Elena Stankova, Vladimir Korkhov, Carmelo Torre, Ana Maria A.C. Rocha, David Taniar, Bernady O. Apduhan, and Eufemia Tarantino, editors, Computational Science and Its Applications - ICCSA 2019, volume 11622, pages 483–495. Springer International Publishing, Cham, 2019. Series Title: Lecture Notes in Computer Science.
-
[S31]
Isabel Sofia Brito, Jose M. Conejero, Ana Moreira, and Joao Araujo. A concern-oriented sustainability approach. In 2018 12th International Conference on Research Challenges in Information Science (RCIS), pages 1–12, Nantes, May 2018. IEEE.
-
[S32]
Theresia Ratih Dewi Saputri and Seok-Won Lee. Addressing sustainability in the requirements engineering process: From elicitation to functional decomposition. Journal of Software: Evolution and Process, 32(8), August 2020.
-
[S33]
Theresia Ratih Dewi Saputri and Seok-Won Lee. Incorporating Sustainability Design in Requirements Engineering Process: A Preliminary Study. In Seok-Won Lee and Takako Nakatani, editors, Requirements Engineering Toward Sustainable World, volume 671, pages 53–67. Springer Singapore, Singapore, 2016. Series Title: Communications in Computer and Information Science.
-
[S34]
Ankita Raturi, Birgit Penzenstadler, Bill Tomlinson, and Debra Richardson. Developing a sustainability non-functional requirements framework. In Proceedings of the 3rd International Workshop on Green and Sustainable Software - GREENS 2014, pages 1–8, Hyderabad, India, 2014. ACM Press.
-
[S35]
Christophe Ponsard, Jean-Christophe Deprez, and Raphael Michel. Guiding Cloud Developers to Build Energy Aware Applications. In Pascal Lorenz, Jorge Cardoso, Leszek A. Maciaszek, and Marten van Sinderen, editors, Software Technologies, volume 586, pages 397–414. Springer International Publishing, Cham, 2016. Series Title: Communications in Computer and Information Science.
-
[S36]
Norbert Seyff, Stefanie Betz, Leticia Duboc, Colin Venters, Christoph Becker, Ruzanna Chitchyan, Birgit Penzenstadler, and Markus Nobauer. Tailoring Requirements Negotiation to Sustainability. In 2018 IEEE 26th International Requirements Engineering Conference (RE), pages 304–314, Banff, AB, August 2018. IEEE.
-
[S37]
Till Winkler. Human Values as the Basis for Sustainable Software Development. In 2018 IEEE International Symposium on Technology and Society (ISTAS), pages 37–42, Washington DC, DC, USA, November 2018. IEEE.
-
[S38]
Nelly Condori-Fernandez, Patricia Lago, Miguel Luaces, and Alejandro Catala. A Nichesourcing Framework applied to Software Sustainability Requirements. In 2019 13th International Conference on Research Challenges in Information Science (RCIS), pages 1–6, Brussels, Belgium, May 2019. IEEE.
-
[S39]
Nelly Condori-Fernandez, Joao Araujo, Alejandro Catala, and Patricia Lago. Toward a non-functional requirements discovery approach for persuasive systems. In Proceedings of the 35th Annual ACM Symposium on Applied Computing, pages 1418–1420, Brno Czech Republic, March 2020. ACM.
-
[S40]
Yen Dieu Pham, Abir Bouraffa, and Walid Maalej. ShapeRE: Toward a Multi-Dimensional Representation for Requirements of Sustainable Software. In 2020 IEEE 28th International Requirements Engineering Conference (RE), pages 358–363, Zurich, Switzerland, August 2020. IEEE.
-
[S41]
Ahmed D. Alharthi, Maria Spichkova, and Margaret Hamilton. SuSoftPro: Sustainability Profiling for Software. In 2018 IEEE 26th International Requirements Engineering Conference (RE), pages 500–501, Banff, AB, August 2018. IEEE.
-
[S42]
Jose M. Conejero, Isabel Sofia Brito, Ana Moreira, Jacome Cunha, and Joao Araujo. Modeling the Impact of UAVs in Sustainability. In 2016 IEEE 24th International Requirements Engineering Conference Workshops (REW), pages 208–216, Beijing, China, September 2016. IEEE.
-
[S43]
Bendra Ojameruaye, Rami Bahsoon, and Leticia Duboc. Sustainability debt: a portfolio-based approach for evaluating sustainability requirements in architectures. In Proceedings of the 38th International Conference on Software Engineering Companion - ICSE ’16, pages 543–552, Austin, Texas, 2016. ACM Press.
-
[S44]
Birgit Penzenstadler, Joseph Mehrabi, and Debra J. Richardson. Supporting Physicians by RE4S: Evaluating Requirements Engineering for Sustainability in the Medical Domain. In 2015 IEEE/ACM 4th International Workshop on Green and Sustainable Software, pages 36–42, Florence, Italy, May 2015. IEEE.
-
[S45]
Martin Mahaux, Patrick Heymans, and Germain Saval. Discovering Sustainability Requirements: An Experience Report. In Daniel Berry and Xavier Franch, editors, Requirements Engineering: Foundation for Software Quality, volume 6606, pages 19–33. Springer Berlin Heidelberg, Berlin, Heidelberg, 2011. Series Title: Lecture Notes in Computer Science.
-
[S46]
Kristin Roher and Debra Richardson. Sustainability requirement patterns. In 2013 3rd International Workshop on Requirements Patterns (RePa), pages 8–11, Brazil, July 2013. IEEE.
-
[S47]
Maryam Al Hinai and Ruzanna Chitchyan. Engineering Requirements for Social Sustainability. In Proceedings of ICT for Sustainability 2016, Amsterdam, the Netherlands, 2016. Atlantis Press.
-
[S48]
Norbert Seyff, Stefanie Betz, Iris Groher, Melanie Stade, Ruzanna Chitchyan, Leticia Duboc, Birgit Penzenstadler, Colin Venters, and Christoph Becker. Crowd-Focused Semi-Automated Requirements Engineering for Evolution Toward Sustainability. In 2018 IEEE 26th International Requirements Engineering Conference (RE), pages 370–375, Banff, AB, August 2018. IEEE.
-
[S49]
Leticia Duboc, Stefanie Betz, Birgit Penzenstadler, Sedef Akinli Kocak, Ruzanna Chitchyan, Ola Leifler, Jari Porras, Norbert Seyff, and Colin C. Venters. Do we Really Know What we are Building? Raising Awareness of Potential Sustainability Effects of Software Systems in Requirements Engineering. In 2019 IEEE 27th International Requirements Engineering Conference (RE), pages 6–16, Jeju Island, Korea (South), September 2019. IEEE.
-
[S50]
Leticia Duboc, Birgit Penzenstadler, Jari Porras, Sedef Akinli Kocak, Stefanie Betz, Ruzanna Chitchyan, Ola Leifler, Norbert Seyff, and Colin C. Venters. Requirements engineering for sustainability: an awareness framework for designing software systems for a better tomorrow. Requirements Engineering, August 2020.
-
[S51]
Sofia Ouhbi, José Luis Fernández-Alemán, Ambrosio Toval, José Rivera Pozo, and Ali Idri. Sustainability requirements for connected health applications. Journal of Software: Evolution and Process, 30(7):e1922, 2018. _eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1002/smr.1922.
-
[S52]
Diogo Albuquerque, Ana Moreira, João Araujo, Catarina Gralha, Miguel Goulão, and Isabel Sofia Brito. A sustainability requirements catalog for the social and technical dimensions. In International Conference on Conceptual Modeling, pages 381–394. Springer, 2021.
-
[S53]
Maike Basmer, Timo Kehrer, and Birgit Penzenstadler. Susaf welcomes susapp: Tool support for the sustainability awareness framework. In 2021 IEEE 29th International Requirements Engineering Conference (RE), pages 418–419. IEEE, 2021.
-
[S54]
Yen Dieu Pham, Abir Bouraffa, Marleen Hillen, and Walid Maalej. The role of linguistic relativity on the identification of sustainability requirements: An empirical study. In 2021 IEEE 29th International Requirements Engineering Conference (RE), pages 117–127. IEEE, 2021.
-
[S55]
Ruzanna Chitchyan, Stefanie Betz, Leticia Duboc, Birgit Penzenstadler, Steve Easterbrook, Christophe Ponsard, and Colin Venters. Evidencing sustainability design through examples. 2015.
Rights and permissions
Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.
About this article
Cite this article
Bambazek, P., Groher, I. & Seyff, N. Requirements engineering for sustainable software systems: a systematic mapping study. Requirements Eng 28, 481–505 (2023). https://doi.org/10.1007/s00766-023-00402-1
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00766-023-00402-1