Infusing Green: Requirements Engineering for Green In and Through Software Systems Birgit Penzenstadler University of California, Irvine Irvine, CA, USA bpenzens@uci.edu Abstract—Environmental sustainability can be applied to soft- more sustainable living. Therefore, in our context, sustainable ware systems in two different understandings — either as green in software is energy-efficient, minimizes the environmental im- software systems (greening of IT / green IT) or as green through pact of the processes it supports, and has a positive impact software systems (greening by IT). Currently it is not clear how environmental sustainability can be systematically supported as on social and/or economic sustainability. These impacts can an objective in requirements engineering for either of these two occur directly (consumed resources), indirectly (mitigated by understandings. service), or as systemic effect [23]. This paper presents a checklist and guide word based approach that demonstrates how to include the objective of environmental Requirements Engineering (RE) is the early phase of soft- sustainability from the very early steps in finding the stakeholders ware engineering where we determine the exact scope of and analyzing the domain to the definition of a usage model and the system and iteratively elaborate the stakeholders’ needs specific requirements. The elaboration is illustrated by a case and concerns [62], [42]. Based on that definition, Require- study on a car sharing system. As software systems affect most aspects of our daily lives, ments Engineering for Sustainability (RE4S) [50] denotes the enabling software engineers to strategically align the objective concept of using requirements engineering and sustainable of environmental sustainability with the other objectives for the development techniques to improve the environmental, social, software system under development could considerably decrease and economic sustainability of software systems and their the impact of people in the industrialized world on the environ- direct and indirect effects on the surrounding business and ment. Index Terms—requirements engineering; environmental sus- operational context. In order to develop such systems, we need tainability; green through IT; green software systems awareness (by education) and guidance (e.g., as in this paper), and creativity (to find better solutions). Green Requirements I. I NTRODUCTION : W HAT IS G REEN R EQUIREMENTS Engineering consequently denotes that same concept with a E NGINEERING ? specific focus on the direct and indirect environmental impacts of systems. However, as sustainability is an encompassing Over the last decades, sustainability research has emerged concept and one aspect of it cannot be strengthened without as an interdisciplinary area; knowledge about how to achieve considering the other dimensions, we will still discuss the sustainable development has grown, while political action broader scope of it referring to all five dimensions. towards the goal is still in its infancy [20], [56]. For a meaningful discussion, sustainability needs to ref- Contribution: Instead of proposing a new framework erence a concrete system—such as an ecological system, a that might interfere with established practices and be negated human network, or even a specific software system [54]. by software engineers, as sustainability is only one of many Software Engineering for Sustainability (SE4S) has developed objectives for a system, we are following an integrative ap- as a current focus of research due to sustainability being proach. It has been achieved to integrate safety and security as advocated as major objective for behaviour change on a global additional objectives into requirements engineering [12], [33], scale [47], [48]. To denote an emphasis on environmental and now we propose to do the same for sustainability [49]. sustainability, the attribute green is widely used. At the same We show that requirements engineering can accommodate the time, overall sustainability of our daily lives can only occur new objective of improving the environmental sustainability of when the environmental, social, and economic aspects are in software systems using its current techniques and incorporat- balance [59]. This has to be reflected in the software systems ing simply a few more instantiations of known requirements we create. types. An extended version of this paper will be published in The term Green or Sustainable Software can be inter- a book chapter [7] but we consider it important to get further preted in two ways: (1) green in software: the software feedback and stimulate discussion at the workshop. code being sustainable, agnostic of purpose (as in [41]), or (2) green through software: the software purpose being to Outline: We provide the background, related work and support sustainability goals, i.e. improving the sustainability foundation in Sec. II, elaborate how to systematically inte- of humankind on our planet (as in [58]). Ideally, both inter- grate sustainability into RE in Sec. III, discuss the remaining pretations coincide in a software system that contributes to challenges in Sec. IV, and conclude with an outlook in Sec. V. II. BACKGROUND Furthermore, Naumann et al. [41] provide a framework for We lay out the context from sustainability science and Infor- sustainable software engineering. They investigate how web mation and Communication Technology (ICT) & sustainabil- pages can be developed with little environmental impact, i.e., ity, outline related work in RE, and describe the foundation for energy-efficiently, and offer a respective guideline for web this work: the sustainability dimensions, their requirements, developers. Gu et al. [17] propose a green strategy model the reference model used for requirements documentation, and that provides decision makers with the information needed to the case study used for the running example. decide on whether to take “green” strategies and eventually how to align them with their business strategies. In contrast to A. Sustainability Science the focus on energy-saving in both of these works, we consider In general, sustainability is the “capacity to endure”, but a much broader definition of sustainability. interpreting this concept requires context. A popular definition Cabot et al. [6] report on a case study for sustainability as of sustainable development was given by the UN as “meeting a goal for the ICSE’09 conference with i*-models to support the needs of the present without compromising the ability of decision making for future conference chairs. Stefan et al. [53] future generations to meet their own needs” [59]. Although extend that with quantitative goal modeling techniques. Both it is not actionable, it is the most cited definition currently works provide model instances for specific case studies while in use. Ultimately, sustainability depends on the population the work at hand uses a generic model for reference. at large, so common conceptions of sustainability must be Mahaux et al. [35] present a case study on a business acknowledged: “People sustain what they value, which can information system for an event management agency and only be derived from what they know.” [54] For that purpose, assessed how well some RE techniques support modeling of Joseph Tainter has suggested that it is useful to pose the four specific sustainability requirements. In contrast, our aim is to questions with regard to sustainability: provide modelling means for integrating sustainability into any “Sustain what? For whom? How long? At what cost?” [55] software system as a major objective. More elaborate theoretic frameworks on the definition of D. Dimensions of Sustainability for Software Systems sustainability exist, e.g. [5], [8], [13], [52], [2], [38], all referring to systems thinking [37], but are more extensive than Sustainability is characterized by the three dimensions eco- adequate for the scope of this paper. Sustainability science nomic, social, and environmental [59]. This characterization is currently discussing whether sustainability is limited by is extended with a fourth dimension human (or individual) by ecological constraints or enabled by continuous innovation and Goodland [16], portraying individual development by every transformation [34] and software systems might help in either human over their life time. When analyzing the sustainability direction. of IT systems, these four dimensions apply, and an additional dimension, technical, supports better structuring of concerns B. ICT and Sustainability with respect to software systems. We are convinced that a The relevance of information and communication technolo- focus on environmental sustainability only makes sense when gies for environmental sustainability is analyzed by Hilty, Arn- in balance with the other dimensions of sustainability. falk, Erdmann et al. [23]. On the basis of that, Hilty, Lohmann, Most concisely, the dimension of sustainability are char- and Huang [20] provide an overview of the fields of ICT acterized as follows [45]: Individual sustainability refers to in the service of sustainability: Environmental Informatics, maintaining human capital (e.g., health, education, skills, Green IT, and Sustainable Human-Computer Interaction. As knowledge, leadership, and access to services). Social sus- technological efficiency alone will not produce sustainability tainability aims at preserving the societal communities in (cf. Jevon’s paradoxon [29]), sustainable development requires their solidarity and services. Economic sustainability aims at a combination of efficiency and sufficiency strategies, inter alia maintaining capital and added value. Environmental sustain- by decoupling economic growth from environmental impacts ability refers to improving human welfare by protecting the and from the use of natural resources. natural resources: water, land, air, minerals and ecosystem Furthermore, the newly established conference on ICT for services. Technical sustainability refers to longevity of systems Sustainability (ICT4S) [22] is establishing a research commu- and infrastructure and their adequate evolution with changing nity that emphasizes interdisciplinary research across various surrounding conditions. domains. E. Requirements Types for the Dimensions of Sustainability C. Related Work: RE and Sustainability For general characteristics of sustainability requirements for The workshop series on Requirements Engineering for the respective dimensions, we have found the following sub- Sustainable Systems1 [3], [46] has brought a number of types that are used in other requirements categorizations [51]: contributions on aspects like goal modeling, energy saving, Environmental: Requirements with regard to resource flow, complexity, sustainability-enhancing application domains, user including waste management, can be elicited and analyzed by participation, quality, and eco-aware design. Life Cycle Analysis [19], [1]. Furthermore, impact effects can be analyzed by environmental impact assessment (EIA). The 1 http://www.ics.uci.edu/∼bpenzens/2014re4susy/ challenge is that usually only first order impacts by a system are considered, whereas second and third order impacts are reduced version of the model as depicted in Fig. 2. For the not yet accounted for. full AMDiRE model, please refer to [39]. Individual: Parts of individual sustainability are covered by Green requirements engineering may as well be applied with privacy, safety, security, HCI and usability as well as personal an activity-based approach though—the choice was taken for health and well-being, which still needs to be made explicit in illustrative purposes, as the artefact-based approach provides requirements. An example for this could be that an application an overview that is explicitly structured according to the work suggests to take a break after a specific amount of working results. That way, the result excerpts can be seen in context time. with other requirements engineering work results. Social: A share of social sustainability can be treated via G. Running example: Car Sharing System computer supported collaborative work (CSCW [4]) require- ments, which reflect the interaction within user groups, via In a collaboration with BMW in 2012, we elaborated a ICT for development (ICT4D [18], [57]) requirements, and case study on the car sharing system DriveNow (partially via political, organizational, or constitutional requirements, as reported on in [14]). The elicitation was carried out in an in laws, policies, etc. Still missing are, for example, explicit interview series with the DriveNow project leaders and by requirements for strengthening community building. performing additional background research on the domains of Economic: The economic sustainability is taken care of hybrid cars, car sharing business models. The requirements in terms of budget constraints and costs as well as market basis established in that case study was used for elaborating requirements and long-term business objectives that get trans- the illustrative examples in the paper at hand. lated or broken down into requirements for the system under The business model is commercial car sharing for registered consideration. The economic concern lies at the core of most users with flexible drop-off points for the vehicles on public industrial undertakings. parking lots. The car sharing system is composed of a web Technical: The technical sustainability requirements include application for registration, reservation and billing, a car fleet non-obsolescence requirements as well as the traditional qual- maintained by a service partner where each car is equipped ity characteristics of maintainability, supportability, reliability, with a meter and a transponder, and a central database. and portability, which all lead to the longevity of a sys- III. I NFUSING G REEN : E LABORATING G REEN tem. Furthermore efficiency, especially energy-efficiency and R EQUIREMENTS (hardware-)sufficiency [21] is part of the technical sustainabil- ity requirements. Four of these five dimensions are already supported to a Guiding Questions for Green RE: considerable extent by traditional software quality character- 1. Does the system have an explicit sustainability purpose? 2. Which impact does the system have on the environment? istics and requirements can be dealt with. The least support 3. Is there a stakeholder for environmental sustainability? exists for the environmental dimension. Consequently, we 4. What are the sustainability goals and constraints for the system? especially need to consider second and third order impacts in the environmental dimension of software systems. Fig. 1. Guiding Questions for Green Requirements Engineering F. AMDiRE: Artefact Model for Domain-independent Re- Based on the concepts presented in Sec. II, we describe how quirements Engineering to elaborate green, sustainable requirements within a generic The various influences on processes and application do- requirements engineering approach. The guiding questions are mains make requirements engineering (RE) inherently com- summarised in Figure 1. plex and difficult to implement. When it comes to defining [Q1] Does the system under consideration have an explicit an RE reference model, we basically have two options: we purpose towards environmental sustainability? If yes, this can can establish an activity-based RE approach where we define be analysed in depth. If no, it can be considered whether such a blueprint of the relevant RE methods and description tech- an aspect is desirable and feasible to add. If, again, that is not niques, or we can establish an artefact-based approach where the case, then the analysis details the potentials for greening we define a blueprint of the RE artefacts rather than a blueprint of that IT system (further explored in Q2) instead of greening of the way of creating the artefacts. In the last six years, we through IT, but depending on the kind of system this might have established several artefact-based RE approaches, empiri- still lead to considerable improvements of the environmental cally underpinned the advantages of applying those approaches impact of the system [43]. In case the system is widely used, in industry, and consolidated the different approaches and that is worth the effort. established the AMDiRE approach, i.e. the Artefact Model [Q2] Does the system under consideration have an impact for Domain-independent Requirements Engineering. AMDiRE on the environment? Any system has an impact on the envi- includes a detailed artefact model that captures the basic ronment, as any system is applied in a real world context of modelling concepts used to specify RE-relevant information, some kind, which is situated within our natural environment. tool support, and a tailoring guideline that guides the creation Consequently, it has to be analysed as to what are the direct of the artefacts [39]. For the purpose of this paper, we use a (first order), indirect (second order), and systemic as well Context / Environment / Problem Domain Requirements / System / Solution Domain elicit Stakeholder Model sustainability objectives specify Usage Model sustainable interaction S Objectives, & Goals derive S find sustainability stakeholders S sustainable system System Vision Business Process & vision S Deployment Requirements Lifecycle ! Constraints S & Rules System Constraints ! ! Quality Requirements Domain Model ! ! Process Requirements S elicit refine and deduce sustainability sustainability S analyse sustainability of context constraints requirements Fig. 2. Overview of Content Items and Information Flow for Green Requirements Engineering as potential rebound effects (third order). This potentially the first piece of information that may explicitly include includes a very large scope, especially for third order effects, green concerns in the form of supporting business pro- but systemic thinking [36] facilitates such an analysis process cesses or services. If that is not the case, then there will and may lead to significant insights. still be elements in the Domain Model that can be related [Q3] Is there an explicit stakeholder for sustainability? In to sustainability concerns, due to the impacts caused by case there is an explicit stakeholder who advocates for envi- the system (see Q2). This is denoted by the activity ronmental sustainability, there is already a significant represen- analyse sustainability of context. tative who issues objectives, constraints and considerations to • If the business context and application domain lack support that quality in the system under consideration. In case adequate root elements for a sustainability analysis, the there is no such advocate, it can be decided to establish such Stakeholder Model may be used as starting point (see a role. Otherwise, at the very least, a domain expert should be Q3), characterised by the activity find sustainability established as a representative for sustainability for providing stakeholders. Whichever the system under consideration, information on applying environmental standards, legislation, the stakeholder model should include a sustainability and regulations. advocate, at least as representative for legal constraints. [Q4] What are the sustainability goals and constraints for • In either case — a system with an explicit sustainabil- the system? Independent of whether the system has an explicit ity concern as well as without such a mission — the purpose for supporting environmental sustainability or not, Objectives & Goals should feature sustainability as one there certainly are a number of objectives that pertain to major quality objective (see Q4). This objective should the different dimensions of sustainability that may be chosen be included in the general reference goal model of a to apply. For example, a social network might not have an company used as a basis for instantiation for a particular explicit environmental purpose, but it certainly has objectives system and then refined according to the system specifics. supporting social sustainability. Furthermore, any system will Apart from eliciting sustainability objectives from the at least have some constraints with respect to the environment, stakeholders, it is also necessary to elicit sustainability as stated in Q2. constraints from the domain model for the Constraints For the description of how to elaborate green requirements, & Rules, which includes sustainability-related constraints we limit ourselves to a few concepts that are commonly agreed for any kind of systems, for example, environmental on as content items or information elements for gathering and standards. refining requirements, all depicted in the overview in Fig. 2. From these different starting points, the sustainability re- These are Business Processes, Domain Models, Stakeholders, quirements and constraints are propagated throughout the con- Objectives, Constraints, System Vision, Usage Model, as well tent items in requirements engineering as illustrated in Fig. 2. as Quality Requirements, Process Requirements, Deployment This includes the activites derive sustainable system vision, Requirements, and System Constraints. There are a number specify sustainable interaction and refine and deduce sus- of potential starting points for green requirements engineering tainability requirements. The following sections walk through with related elicitation and analysis activities as illustrated in these stages and describe the development of the respective Fig. 2: content items. • In case there is a relation of the business process of the In the example of the car sharing system, the business system under consideration to sustainability or environ- model aims at promoting cars as a service (as opposed to an mental issues (see Q1), the Business Process Model is owned vehicle), but also includes the objective of reducing environmental impacts by focusing on hybrid cars and by This is especially helpful for finding passive stakehold- providing a car sharing service. ers who do not have an active interest in issuing own goals, but whose constraints have to be adhered to, for A. Analyse Sustainability of Context example legislative representatives. Whenever we are faced with a system that has an explicit The example in Fig. 3 illustrates and excerpt of the stake- contribution to sustainability by either improving our ways holder model for the car sharing system, including the ones to analyse the environment and reporting feedback, or by that advocate sustainability or serve as domain experts on its enabling and incentivising sustainable behaviour in its users, various aspects. we can analyse the contextual elements this related to in the Business Processes and the Domain Model. Examples for such systems are the Carbon Footprint Calculator2 , the Story of Stuff Project3 , or car sharing systems like Zipcar4 or Sustain Car constrains Regula consults tors DriveNow5 . If there is no explicit purpose for environmental ability consult Sharing System ant Owner sustainability, there might still be a purpose for social sustain- produces for competes Legisla tion manages for requests ability, for example different types of local community tools or provides develops consults City council Compe social networks. Either way the system will cause some kind titors of impact on the environment, which can span from first order Car Manufa Policy makers Fleet impacts to third order impacts. The system environment and cturer operat or Web service Develo provider pers wider context are usually analysed using a Domain Model. Domain Experts This can also serve as the basis for a life-cycle analysis [30] QA Hybrid Billing User of the system under consideration. engine dev. Mainte Archite Business Analyst CSR nance CRM For the car sharing system, first order effects are the DB ct City Planner Engine App Engine Environ resources that the system itself (the application on different ers GreenIT er Coder ment Expert Comm Business uter User expert Req devices and the database) consume. The second order effects Testers Marketi ng Eng Joy Rider Shop per are the resources the car sharing system triggers in its applica- tion domain, i.e. the cars that are being shared on the road and Fig. 3. Stakeholder Model of the Car Sharing System that do consume a considerable amount of resources, but at the same time decrease the overall consumption of resources through more cars (which would have been used otherwise). C. Elicit Sustainability Objectives, Goals and Constraints The third order effects might be a decrease in the number The next step is to elicit the sustainability objectives and of individually owned cars, less parking space shortage, and goals from the stakeholders and to deduce any sustainability eventually less cars, which would lead to better air quality, but constraints from the business processes and/or the domain this remains to be observed in the long run. model. A goal is an objective the system under consideration B. Find Sustainability Stakeholders should achieve [28]. They build a hierarchy, and they can influence each other in terms of conflicts, constraints, or Stakeholders are the basis for requirements engineering. support. They pursue goals, include the users of the system under To facilitate goal elicitation, we distinguish three subcat- development, and issue constraints [15]. In the context of green egories that refer to different levels of abstraction in sys- requirements engineering, the goal is to elicit stakeholders tems development: Business Goals are all business-relevant that advocate for sustainability and that are domain experts (strategic) goals as well as goals with direct impact on the for life cycle analysis, environmental concerns, legislation for system or project. Usage Goals are a direct relation to the environmental regulations, or environmental standards. functional context and usage of the system (user perspective) There are different possible approaches to identifying stake- for behaviour modelling. System Goals are system-related holders for sustainability [45]: goals that determine or constrain system characteristics [39]. 1) Reference list: Instantiating generic reference lists of Each usage goal is related to a business goal and each system stakeholders for the concrete project context (see [45] goal to a usage goal. for a generic list of sustainability stakeholders). In order to consider the sustainability perspective during 2) Context: Inspecting the business and operational context goal modelling, we consult a reference model for sustainabil- of the system under development, and understanding ity, that represents the sustainability dimensions by sets of which concrete roles are involved. values. Values are approximated by indicators, supported by 3) Goals: Iteratively analysing and refining a generic sus- regulations, and contributed to by activities [44]. tainability model [44] and deducing the related roles. Instantiating the generic sustainability model for a specific 2 http://coolclimate.berkeley.edu/carboncalculator system is feasible in a case whether sustainability is the major 3 http://storyofstuff.com/ purpose of the system under consideration. For most systems 4 http://www.zipcar.com/ sustainability will be one amongst a number of objectives, 5 http://www.drive-now.com/ therefore it is more suitable to develop one overall Goal Model for the system and to detail the submodel for the objective very clear in the vision. In case it is a minor aspect, it may of sustainability by using the sustainability dimensions and still be expressed as one of the concerns. the generic sustainability model as a reference. This means The system vision defines the system scope and com- to analyse the generic sustainability model and to decide for prehends the system context (business context as well as each value within the dimensions whether it is applicable to operational context), which is intended to realise a number of the system under development and, if so, to select those related Features. A feature is, in our understanding, a prominent or activities which can be operationalized as goals for the system. distinctive user-recognisable aspect, quality, or characteristic of a system that is related to a specific set of requirements, Sustainable whose realisation enable the feature [9]. Furthermore, it de- mobility notes the most important stakeholders and their concerns, in [economic] order to serve as communication basis with all stakeholders, [environmental] Long-term return on investment Minimize environmental [social, economic] Car as a service including non-technical ones. As example, the system vision impact for the car sharing system is depicted in Fig. 5. It was [environmental, elaborated in discussion with various stakeholders from the [economic] [individual] [economic, Transparent economic] Save resources Commute respective industry domains (car manufacturer, fleet operator). technical] pricing model Easy maintenance [individual] [social,economic] Rent car Carpool Answer( [economic, [technical, I(want(to( customer( individual] individual] CRM( enquiries.( Search( minimize(my( Available( Save(costs( Easy financial Good [social] environmental( &(energy( navigation Establish impact.( control community Complaint( Car(pool( Share( I(want(to( Call(center( drive(from( [technical] [technical, social] [environmental, [technical] Good coding Use crowd- technical] High availability A(to(B.( [social] Support( practices sourced traffic Use hybrid cars Provide user Register(( Par0cipate( data (e.g. Waze) forum Adver0se( [economic, We(want(to(contribute( Rent( [technical] technical] [technical] to(sustainable(mobility.( WebApp( Clear interface definitions Few variables High reliability of cars Car(Sharing(Community( Sustainability?( System** Profit?( Data( scope* Base( Fig. 4. Sustainability Goals of the Car Sharing Case Study Rental( Repor0ng( In the car sharing example, the objectives in the three Billing(/( Fill(up(gas,(( clean,(( Sta0s0cs( repair( Return( categories were elicited by considering the dimensions of Management( sustainability and how they can be reflected with regard to the High( availability( system. Figure 4 depicts an excerpt of the goal model for the Easy( maintenance( Service(team/( Fleet(management( car sharing system. The overall goal of Sustainable mobility Business*context* Administra0on( Opera&onal*context* is broken down into subgoals (e.g. Minimize environmental impact) and these are refined into usage goals (e.g. Save Fig. 5. The Car Sharing System Vision resources), which are again broken down (e.g. Carpool) and/or refined into system goals (e.g. High availability). The square brackets denote the sustainability dimensions of the goal. E. Usage Model D. Derive Sustainable System Vision With the system vision established, the next step is to derive the interaction with the user. The content item Usage Model The next step is to derive a sustainable System Vision, details a Use Case Overview in its Use Cases and Scenarios. a common vision of the system under consideration agreed We distinguish Services and Use Cases. Both concepts are upon by all stakeholders that have an active interest in the means to describe (black box) system behaviour. Use Cases system. One frequently used method to create system visions describe sequences of interaction between Actors (realising that are easy to communicate is Rich Pictures [40]. A rich user groups) and the system as a whole. More precisely, a picture is a cartoon-like representation that identifies all the use case represents a collection of interaction scenarios, each stakeholders, their concerns, and some of the structural and defining a set of interrelated actions that either are executed by conceptual elements in the surrounding work context. The an actor or by the system under consideration [10]. For each choice of an easy to understand medium instead of a more use case, there is at least one Functional Scenario in which formal and detailed one arises from the need that stakeholders Actors participate. Use Cases and Scenarios can be represented of various domains and disciplines have to understand the in the form of structured text (for example, the Cockburn vision. The system vision is usually coupled to a milestone template [10]), in UML use case diagrams, in UML activity with the scope of an early draft of a common idea of the diagrams, and in message sequence charts. For the car sharing system. It can be used as an early basis for estimations and system we illustrate the example scenario of a commuter user planning of the subsequent development process. Furthermore, who wants to carpool. it is a detection basis for moving targets. In case the purpose of the system is closely linked to sustainability, this shall become Example Use Case and Scenario for Carpooling to [60]. Hence, we see a system as a grey box rather than Primary Actor: Commuter User Goal in Context: The purpose of this feature is to enable users to carpool, as a glass box, since we restrict systems’ internals, but do which saves all parties resources. not consider their logical structure by interacting components, Preconditions: The user is already registered with the system. interface specifications, and functions. They are usually de- Description: 1) The user logs into the system. scribed in natural language text. 2) The system displays the user’s dashboard with statistics, offers, billing, and profile data. 3) The user clicks on the carpool button from the homepage of the Example System constraint for the car sharing system system. • The web application shall use Waze as navigation system on 4) The system prompts him with a form for entering the carpool handheld devices. requirements. 5) The user enters his home address, destination, and date & time for Quality Requirements describe the demands for individual the desired ride. quality attributes across a system’s functionality, the sat- 6) The system displays either the option to select from possible rides he could add to as a passenger or to offer this ride as a separate isfaction criteria of those requirements, the qualitative or new carpooling option. quantitative metrics, and how the metric will be evaluated. 7) The user selects the best available option to add on to an existing They characterise the attributes of the system either coupled ride as a passenger. 8) The system confirms the ride and informs the driver. to a specific functionality or as a cross cutting concern. Variations: They are usually represented in the form of natural text. 7a) The user selects to offer a new ride as carpool. Quality requirements are assessed by Measurements that can 7b) The system acknowledges the new ride and informs the user that the be either a Normative Reference (e.g. a GUI style guide) or ride will be offered for passengers until 3 hours before departure time. a Metric. Quality Requirements constrain System Actions and can be satisfied by Generic Scenarios. We make use of quality F. Refine and Deduce Sustainability Requirements definition models as by Deissenböck et al. [11]. Finally, detailed sustainability requirements and constraints are refined and deduced in four categories: Process Require- Example High-priority quality requirements for the car sharing system ments, Deployment Requirements, System Constraints, and • High availability (economic, individual and social sustainability) Quality Requirements. Further concerns for the system or the • High usability, easy to use (individual and social sustainability) project may be managed in a Risk List. • Affordable (individual and economic sustainability) Process Requirements denote demands with regards to the The Risk List includes a description of all risks that are conducted development, for example using a green software related to project-specific requirements, usually in the form of engineering process. They constrain the content and / or natural language text. The conceptualisation of requirements structure of selected artefact types and the process model, i.e., risks is considered on the basis of an artefact model [26], [27]. the definition of the milestones regarding time schedules, used The risks are implied by the various types of requirements and infrastructure like mandatory tools, and compliance to selected we use the risk list as an interface to risk management. standards and approaches like to the V-Modell XT. They are mostly described in natural language text. Example Risk List for the car sharing system • Peak times and commuting might lead to an accumulation of cars Example Process Requirement for the car sharing system in specific areas, leading to low availability in other areas. • Develop the system according to the guidance provided by Software • Excessive usage could cause high energy demands with peaks that Engineering for Sustainability (SE4S) and as described in the book cannot be satisfied by renewable energy. In that case, more gas “Green Software Engineering”. would have to be used. • Users are not active enough, therefore no community would be Deployment Requirements specify demands with respect to established, and consequently there is no contribution to social the installation of the system and launching it into operation, sustainability. for example the migration of the data of the legacy system to By going through these steps, we have obtained detailed the green data center used for the system under development. sustainability requirements that can be traced back to their respective origins in the Business Process, the Domain Model, Example Deployment Requirement for the car sharing system the Stakeholder Model, or the Goal Model. From here on, the • The testing period with the pilot users will be carried out on the responsibility for ensuring that the requirements are designed server in the Munich Green Data Center. into the system and eventually implemented moves on from System Constraints detail restrictions on a system’s tech- the requirements engineer to the system architect and the nical components and architecture as well as related quality designers. attributes, for example hardware sufficiency, i.e. that the sys- tem shall run on the old hardware without resource-intensive IV. D ISCUSSION upgrades. They describe its functionality by means of single atomic actions, and its quality by means of assessable system In this section, we reflect on the mapping of sustainability quality requirements. We consider concepts that describe the dimensions to content items, and discuss requirements con- transition to logical and technical architecture layers according flicts, cost modeling, legal constraints, and risk management. A. Which Dimensions Appear in which Content Items? heads, but as legislation has banned the old lightbulbs already Independent of the applied artefact model, it is interesting in some countries, they will have to be used for now. Resolving to take a look at the mapping of sustainability dimensions such a conflict for a particular case means to assign weights to content items. Table I gives a coarse-grained mapping of to each of the goals and prioritise whether the energy saving requirements content items to the sustainability dimensions is greater or whether the risk and long-term negative impacts that they contain information from. For example, a system of the dangerous materials are greater. vision will generally include mainly environmental and social C. Cost Modelling sustainability aspects (as it abstracts from technical details), Another aspect worth discussing is the connection between the system constraints will feature many constraints from stakeholders, goals, and cost modelling. The stakeholders are the environmental and technical sustainability dimensions, made explicit in the goal model by tracing back to the rationale and the process requirements will include demands from the of a goal, as the information source (e.g. a domain expert) or environmental, social, and technical dimension. the issuer of a goal. With respect to assigning costs to the goals TABLE I there is a limitation, as this only makes sense for business R EQUIREMENTS C ONTENT I TEMS AND THEIR S USTAINABILITY goals, but not for values that cannot be expressed in return on D IMENSIONS investment. Some goals, for example the protection of the en- Content Item Sustainability Dimension vironment, do not have monetary value in themselves and their Stakeholder Model all qualitative value is hard to measure. At the same time, it is Goals all important to define measures to ensure the realization of these System Vision mainly environmental and social Usage Model social and economic goals and to show that the approach can make a difference in Quality Requirements technical those resulting measures. Consequently, instead of assigning Deployment Requirements technical costs to the sustainability goals, their contribution to higher System Constraints environmental and technical Process Requirements environmental, social and technical causes must be made explicit, for example the contribution Risk List all to objectives commonly agreed on by governments like the sustainable development goals from Rio+206 , or the Vision 2050 [61]. B. Sustainability Requirements Conflicts D. Legal Constraints In traditional qualities considered during software engi- As a consequence of the fact that environmental goals have neering we already face a number of potential conflicts, for not yet been prioritized sufficiently by the economy, legislation example between code maintenance and code performance, or has established a number of environmental regulations that between the development time and the desired quality of a companies have to adhere to. These regulations will still software system. Consequently, the question arises what kinds be extended in the future, which makes legislation probably of conflicts exists between the five dimensions of sustainability the most important stakeholder representing environmental and their related goals. sustainability in particular. Individual and social sustainability The economic dimension aligns with the environmental one are also taken care of by law, for example by worker’s rights, in terms of resource savings (energy, materials, waste), but which are supported and represented by worker unions. they may conflict when it comes to additional certifications, It would be interesting to see at which point we need new building a (environmentally and socially) sustainable supply laws and a different legislation to make sure that important chain, and turning to more expensive alternative solutions in questions of sustainability are incorporated into IT systems. case they are more environmentally friendly. The reason for Furthermore, it would be interesting to look at other examples that is mainly that up to now, the negative environmental such as functional safety and also to a certain extent security, impacts that are caused by our economy are hardly charged. where such laws exist. Therefore, the goal of environmental sustainability does not get assigned monetary value but only image value, which is E. Risk Management and Environmental Sustainability likely to be ranked secondly. These conflicts are also discussed Risks, safety and security all strongly relate to sustainability: in [44]. risks need to be managed in order to enable sustainability, and Another potential conflict, at least for some systems, is a safety and security are part of sustainability. trade-off between energy efficiency and dangerous materials. Safety is part of individual and social sustainability for This is one potential goal conflict in case energy efficiency preserving human life (no injuries) and environmental (no would require using more dangerous material. Although not a chemical or other hazardous accidents), but also has aspects software system in itself, a lightbulb might serve as example: in economic sustainability (a product that is not safe will not New energy-saving lamps are much more energy-efficient than let a company reach long-term economic goals). the old light bulbs, but at the same time contain toxic mercury Security is also part of various dimensions, the technical that imposes a threat when a lamp breaks as well as phenol, one as it is a standard quality attribute for systems, then naphthalene and styrene. In the case at hand, considerate users will make sure the lamp is not in close proximity to their 6 http://www.uncsd2012.org/ individual and social (as the users shall be protected), and as ACKNOWLEDGEMENTS a consequence of that also the economic dimension (insecure systems will not have market success). I would like to thank Ankita Raturi, Debra Richard- son, Daniel Mendez, Henning Femmer, Alejandra Rodriguez, Both of these quality aspects have not been around forever, Oliver Feldmann, Susanne Klein, Manfred Broy, Daniel but they were introduced as explicit qualities for software sys- Pargman, Joseph Tainter, Lorenz Hilty, Bill Tomlinson, Juliet tems after the first safety hazards and the first security threats Norton, Marcel Pufal, Coral Calero, Xavier Franch, Wolfgang occurred. Consequently, we can learn from this development Lohmann, Martin Mauhaux, and Beth Karlin for helpful and for systematically incorporating sustainability into software inspiring discussions as well as Joachim Kolling from BMW engineering [49]. for supporting the case study. This work is part of the DFG V. C ONCLUSION EnviroSiSE project under grant number PE2044/1-1. This paper provided an overview of how green requirements R EFERENCES engineering may be conducted within the scope of general purpose requirements engineering by asking guiding questions [1] Henrikke Bauman and Anne-Marie Tillman. The Hitch Hiker’s Guide along the way and providing plugs for additional analysis to LCA: An Orientation in Life Cycle Assessment Methodology and Applications. Professional Pub Serv, 2004. activities that inform the development of environmental issues [2] Simon Bell and Stephen Morse. Sustainability indicators: measuring that should be considered. This approach was supported by the immeasurable? Earthscan, 2008. illustrating examples and a discussion on different types of [3] Berntsson Svensson, R. et al. 18th Intl Working Conf on Requirements Engineering: Foundation for Software Quality. Proc of the Workshops conflicts and traceability of information across different re- RE4SuSy, REEW, CreaRE, RePriCo, IWSPM and the Conference quirements engineering content items. Related Empirical Study, Empirical Fair and Doctoral Symposium. ICB The impact of our contribution is mainly determined by Research Reports 52, University Duisburg-Essen, Institute for Computer Science and Business Information Systems (ICB), 2012. the question how much difference the consideration of sus- [4] Uwe M Borghoff and Johann H Schlichter. Computer-supported coop- tainability actually makes in requirements engineering. If we erative work. Springer, 2000. can make a sustainability purpose explicit in a system, then [5] Paul Burger and Marius Christen. Towards a capability approach of sustainability. Journal of Cleaner Production, 19:787–795, 2001. the difference is significant. If such a purpose is not given, [6] J. Cabot, S. Easterbrook, J. Horkoff, L. Lessard, S. Liaskos, and J.- secondary influence can be achieved by adding sustainability N. Mazon. Integrating sustainability in decision-making processes: A objectives and greening the system itself. The latter has less modelling strategy. In Software Engineering - Companion Volume, 2009. impact on the environment but is still feasible, the more the ICSE-Companion 2009. 31st International Conference on, pages 207 – 210, May 2009. bigger the user community of a system. In the long run, the [7] Coral Calero and Marco Piattini, editors. Green in Software Engineering. author’s hypothesis is that we will not be able to end resource Springer, to be published 2014. depletion by greening existing systems but only by disruptive [8] Marius Christen and Stephan Schmidt. A formal framework for con- ceptions of sustainability — a theoretical contribution to the discourse change and completely transforming our systems [32]. Creat- in sustainable development. Sustainable Development, page DOI: ing the mindset for that starts with acknowledging the need for 10.1002/sd.518, 2011. incorporating sustainability as an explicit objective in systems [9] A. Classen, P. Heymans, and P.-Y. Schobbens. What’s in a Feature : A Requirements Engineering Perspective. In J. Fiadeiro and P. Inverardi, development. editors, Proceeding of the 11th International Conference on Fundamen- Another way to ensure prioritizing environmental sustain- tal Approaches to Software Engineering (FASE 08) in Conjunction with ability is to enforce policies based on the compliance-driven ETAPS 08, number 4961 in FASE/ETAPS, pages 16–30. Springer-Verlag Berlin, 2008. economy. One open issue is the standardisation of (environ- [10] A. Cockburn. Writing Effective Use Cases. Number ISBN-13: 978- mental and general) sustainability as explicit quality objective 0201702255. Addison-Wesley Longman Publishing Co., Inc., 2000. in software development, for example within the IEEE 830 [11] F. Deissenboeck, E. Juergens, K. Lochmann, and S. Wagner. Software Quality Models: Purposes, Usage Scenarios and Requirements. In Recommendation for Software Requirements Specifications Proceedings of the 7th international workshop on Software Quality and the ISO 25000 on software quality, informed by the (WoSQ 09), page N/A. IEEE Computer Society Press, 2009. ISO standard families on environmental management [24] and [12] Premkumar T. Devanbu and Stuart Stubblebine. Software engineering for security: a roadmap. In The future of software engineering, pages social responsibility [25]. 227–239. ACM Press, 2000. The path towards software engineering for sustainability7 [13] Andrew Dobson. Environment sustainabilities: An analysis and a requires a mindset of awareness (by business analysts and typology. Environmental Politics, 5:401–428, 1996. [14] Oliver Feldmann. Sustainability Aspects in Specifying a Car Sharing developers) and methodical guidance (as provided in this Platform. Bachelor’s thesis, Technische Universität München, 2012. paper), and creative confidence (as in [31]). If sustainability [15] Martin Glinz and Roel J. Wieringa. Guest editors’ introduction: policies and standards are put in place, and software engineers Stakeholders in requirements engineering. IEEE Software, 24(2):18–20, 2007. prioritize them in the systems they develop, future software [16] R. Goodland. Encyclopedia of Global Environmental Change, chapter systems may significantly contribute to indirectly influencing Sustainability: Human, Social, Economic and Environmental. Wiley and the behaviour of users who interact with those systems and Sons, 2002. enable us to move towards a more sustainable global society [17] Qing Gu, Patricia Lago, and Simone Potenza. Aligning economic impact with environmental benefits: A green strategy model. In First as illustrated in the Vision 2050 [61]. International Workshop on Green and Sustainable Software, 2012. [18] Richard Heeks. Ict4d 2.0: The next phase of applying ict for international 7 http://www.se4s.org development. Computer, 41(6):26–33, 2008. [19] Lorenz Hilty, Roland Hischier, Thomas F. Ruddy, and Claudia Som. In- [42] B. Nuseibeh and S. Easterbrook. Requirements Engineering: A formatics and the Life Cycle of Products. In iEMSs 2008: International Roadmap. In Proceedings of the Conference on the Future of Software Congress on Environmental Modelling and Software, 2008. Engineering, pages 35–46, New York, NY, USA, 2000. ACM. [20] Lorenz Hilty, Wolfgang Lohmann, and Elaine Huang. Sustainability and [43] Birgit Penzenstadler. Supporting sustainability aspects in software ICT — an overview of the field. In Proceedings of the EnviroInfo 2011, engineering. In 3rd International Conference on Computational Sus- 2011. tainability (CompSust), 2012. [21] Lorenz Hilty, Wolfgang Lohmann, and Elaine Huang. Sustainability and [44] Birgit Penzenstadler and Henning Femmer. A Generic Model for ict—an overview of the field. POLITEIA, 27(104):13–28, 2011. Sustainability with Process- and Product-specific Instances. In First Intl. [22] Lorenz M. Hilty, Bernard Aebischer, Göran Andersson, and Wolfgang Workshop on Green In Software Engineering and Green By Software Lohmann, editors. ICT4S 2013. Proceedings of the First International Engineering, 2013. Conference on Information and Communication Technologies for Sus- [45] Birgit Penzenstadler, Henning Femmer, and Debra Richardson. Who tainability, ETH Zurich, February 14-16. ETH Zurich, University of Is the Advocate? Stakeholders for Sustainability. In 2nd International Zurich and Empa, Swiss Federal Laboratories for Materials Science and Workshop on Green and Sustainable Software (GREENS, at ICSE, San Technology, 2013. Francisco, USA), 2013. [23] Lorenz M Hilty, Peter Arnfalk, Lorenz Erdmann, James Goodman, Mar- [46] Birgit Penzenstadler, Martin Mahaux, and Camille Salinesi, editors. tin Lehmann, and Patrick A Wäger. The relevance of information and Second International Workshop on Requirements Engineering for Sus- communication technologies for environmental sustainability. Environm. tainable Systems (RE4SuSy), 2013. http://ceur-ws/vol-995. Modelling & Software, 21(11):1618 – 1629, 2006. [47] Birgit Penzenstadler, Ankita Raturi, Debra Richardson, Coral Calero, [24] International Standardization Organization. ISO 14000 - Environ- Henning Femmer, and Xavier Franch. Systematic Mapping Study on mental management, 2004. http://www.iso.org/iso/home/standards/ Software Engineering for Sustainability (SE4S). In 18th Intl. Conf. on management-standards/iso14000.htm. Evaluation and Assessment in Software Engineering, 2014. [25] International Standardization Organization. ISO 26000 Guidance [48] Birgit Penzenstadler, Ankita Raturi, Debra Richardson, Coral Calero, on social responsibility, 2010. http://www.iso.org/iso/home/standards/ Henning Femmer, and Xavier Franch. Systematic Mapping Study on iso26000.htm. Software Engineering for Sustainability (SE4S) — Protocol and Re- [26] S. Islam. Software Development Risk Management Model - A Goal sults. Technical Report UCI-ISR-14-1, Institute for Software Research, Driven Approach. In Proceedings of the 7th Joint Meeting of the University of California, Irvine, 2014. http://isr.uci.edu/publications. European Software Engineering Conference and the ACM SIGSOFT [49] Birgit Penzenstadler, Ankita Raturi, Debra Richardson, and Bill Tomlin- Symposium on the Foundation of Software Engineering (ESEC / FSE), son. Safety, security, now sustainability: The non-functional requirement pages 5–8, New York, NY, USA, 2009. ACM Press. of the 21st century. IEEE Software Special Issue on Green Software, 2014. [27] S. Islam, S. Houmb, D. Mendez Fernandez, and M. Joarder. Offshore- [50] Birgit Penzenstadler, Bill Tomlinson, and Debra Richardson. Re4s: Outsourced Software Development Risk Management Model. In Pro- Support environmental sustainability by requirements engineering. In ceedings of the 12th IEEE International Conference on Computer and International Workshop on Requirements Engineering for Sustainable Information Technology (ICCIT 09), pages 514–519, 2009. Systems, 2012. [28] Michael Jackson. Software Requirements and Specifications: A Lexicon [51] Ankita Raturi, Birgit Penzenstadler, Bill Tomlinson, and Debra Richard- of Practice, Principles and Prejudices. Addinson-Wesley, 1995. son. Developing a sustainability non-functional requirements framework. [29] William Stanley Jevons. The coal question. Macmillan and Co. London, In accepted for GREENS’14, 2014. 2nd edition, 1866. [52] K.-H. Robert, B. Schmidt-Bleek, J. Aloisi de Larderel, G. Basile, [30] Björn Johansson, Anders Skoogh, Mahesh Mani, and Swee Leong. J.L. Jansen, R. Kuehr, P. Price Thomas, M. Suzuki, P. Hawken, and Discrete event simulation to generate requirements specification for M. Wackernagel. Strategic sustainable development — selection, design sustainable manufacturing systems design. In Proceedings of the 9th and synergies of applied tools. Journal of Cleaner Production, 10:197– Workshop on Performance Metrics for Intelligent Systems, PerMIS ’09, 214, 2002. pages 38–42, New York, NY, USA, 2009. ACM. [53] David Stefan, Mark Barrett, Emmanuel Letier, and Mark Stella-Sawicki. [31] Tom Kelley and David Kelley. Creative Confidence: Unleashing the Goal-oriented system modelling for managing environmental sustain- Creative Potential Within Us All. Crown Business, 2013. ability. In International Workshop on Software Research and Climate [32] Susan Krumdieck. The Survival Spectrum: The key to Transition Engi- Change (WSRCC), 2010. neering of complex systems. In Proceedings of the ASME International [54] Joseph Tainter. Social complexity and sustainability. Journal of Mechanical Engineering Congress & Exposition, 2011. Ecological Complexity, 3:91–103, 2006. [33] Robyn Lutz. Software engineering for safety: a roadmap. In Proceedings [55] Joseph Tainter. Sustainability. Personal communication, February 14, of the Conference on The Future of Software Engineering, pages 213– 2014. 226. ACM, 2000. [56] The Club of Rome. 40 years ‘limits to growth’. http://www.clubofrome. [34] Georgina Mace. The Limits to Sustainability Science: Ecological org/?p=326, 2012. Constraints or Endless Innovation? PLoS Biol, 10(6), 2012. [57] Mark Thompson. Ict and development studies: Towards development [35] Martin Mahaux, Patrick Heymans, and Germain Saval. Discovering 2.0. Journal of International Development, 20(6):821–835, 2008. Sustainability Requirements: an Experience Report. In 17th Interna- [58] Bill Tomlinson. Greening through IT. MIT Press Association, 2010. tional Working Conference on Requirements Engineering: Foundation [59] United Nations. Report: Our Common Future. In Conference on for Software Quality, 2011. Environment and Development, 1987. [36] Donella Meadows. Leverage points — places to intervene in a [60] K. Wiegers. Software Requirements. Number ISBN-13: 978- system. http://www.donellameadows.org/wp-content/userfiles/Leverage 0735618794. Microsoft Press, Redmond, WA, USA, 2nd edition, 2003. Points.pdf, 1999. A shorter version of this paper appeared in Whole [61] World Business Council for Sustainable Development. Vision 2050: Earth, winter 1997. A New Agenda for Business. http://www.wbcsd.org/WEB/PROJECTS/ [37] Donella H. Meadows. Thinking in Systems - A primer. Earthscan, 2008. BZROLE/VISION2050-FULLREPORT FINAL.PDF, 2010. [38] Desta Mebratu. Sustainability and sustainable development: histori- [62] Pamela Zave. Classification of research efforts in requirements engi- cal and conceptual review. Environmental impact assessment review, neering. ACM Computing Surveys, 29(4):315–321, 1997. 18(6):493–520, 1998. [39] Daniel Mendez and Birgit Penzenstadler. Artefact-based Requirements Engineering: The AMDiRE Approach. Requirements Engineering Jour- nal, to appear 2014. [40] Andrew Monk and Steve Howard. Methods & tools: the rich picture: a tool for reasoning about work context. interactions, 5(2):21–30, 1998. [41] Stefan Naumann, Markus Dick, Eva Kern, and Timo Johann. The greensoft model: A reference model for green and sustainable software and its engineering. Sustainable Computing: Informatics and Systems, 1(4):294 – 304, 2011.