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.

Table 1 Sustainability Dimensions

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.

Table 2 PICOC structure

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.

Table 3 Research questions and data extraction items

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. 1.

    Definition of a research goal and research questions

  2. 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. 3.

    Searching for papers on various research databases

  4. 4.

    Pre-selection of papers based on inclusion and exclusion criteria

  5. 5.

    Voting on papers by the authors to select only thematically relevant papers

  6. 6.

    Forward and backward snowballing

  7. 7.

    Additional search on manually selected journals, conferences, and workshops

  8. 8.

    Second voting on papers added in the snowballing process and from conferences/workshops/journals

  9. 9.

    Detailed screening of selected papers and dropping of irrelevant papers.

Fig. 1
figure 1

Overview of the search process

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]:

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.

Table 4 Numbers of papers found in different databases

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.

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.

Fig. 2
figure 2

Published papers per year

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).

Fig. 3
figure 3

Publication venues and number of publications

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.

Table 5 Researchers and numbers of papers they are involved
Fig. 4
figure 4

Top authors in relation to all authors

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.

Fig. 5
figure 5

Who publishes with whom

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).

Table 6 Most cited publications within network and on Google Scholar

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.

Fig. 6
figure 6

Network of references

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.

Table 7 Identified approaches
Table 8 Publication timeline of identified approaches with more than one publication

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 Requirements engineering activities
Fig. 7
figure 7

Timeline of RE Activities

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. 1.

    No evidence

  2. 2.

    Evidence obtained from demonstration or working out toy examples

  3. 3.

    Evidence obtained from expert opinions or observations

  4. 4.

    Evidence obtained from academic studies, e.g., controlled lab experiments

  5. 5.

    Evidence obtained from industrial studies, e.g., causal case studies

  6. 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.

Fig. 8
figure 8

RE Activities, research types, and evidence categorization

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].

Fig. 9
figure 9

Sustainability dimensions, orders of impact, tool support

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.