Infusing Green: Requirements Engineering for Sustainability (RE4S)
Over the last decades, sustainability research has emerged as an interdisciplinary area; knowledge about how to achieve sustainable development has grown, while political action towards the goal is still in its infancy. For a meaningful discussion, sustainability needs to reference a concrete system—such as an ecological system, a human network, or even a specific software system. Software Engineering for Sustainability (SE4S) has developed as a current focus of research due to sustainability being advocated as major objective for behaviour change on a global scale. To denote an emphasis on environmental sustainability, the attribute green is widely used. At the same time, overall sustainability of our daily lives can only occur when the environmental, social, and economic aspects are in balance. This has to be reflected in the software systems we create.
Elaborating Green Requirements
Guiding Questions for Green RE:- Does the system have an explicit sustainability purpose?
- Which impact does the system have on the environment?
- Is there a stakeholder for environmental sustainability?
- What are the sustainability goals and constraints for the system?
If yes, this can be analysed in depth. If no, it can be considered whether such an aspect is desirable and feasible to add. If, again, that is not the case, then the analysis details the potentials for greening of that IT system (further explored in Q2) instead of greening through IT, but depending on the kind of system this might still lead to considerable improvements of the environmental impact of the system. In case the system is widely used, that is worth the effort.
Any system has an impact on the environment, as any system is applied in a real world context of some kind, which is situated within our natural environment. Consequently, it has to be analysed as to what are the direct (first order), indirect (second order), and systemic as well as potential rebound effects (third order). This potentially includes a very large scope, especially for third order effects, but systemic thinking [36] facilitates such an analysis process and may lead to significant insights.
In case there is an explicit stakeholder who advocates for environmental sustainability, there is already a significant representative who issues objectives, constraints and considerations to support that quality in the system under consideration. In case there is no such advocate, it can be decided to establish such a role. Otherwise, at the very least, a domain expert should be established as a representative for sustainability for providing information on applying environmental standards, legislation, and regulations.
Independent of whether the system has an explicit purpose for supporting environmental sustainability or not, there certainly are a number of objectives that pertain to the different dimensions of sustainability that may be chosen to apply. For example, a social network might not have an explicit environmental purpose, but it certainly has objectives supporting social sustainability. Furthermore, any system will at least have some constraints with respect to the environment, as stated in Q2.
Overview of Content Items and Information Flow for Green Requirements Engineering
Take-away
This figure provides an overview of how green requirements engineering may be conducted within the scope of general purpose requirements engineering by asking guiding questions along the way and providing plugs for additional analysis activities that inform the development of environmental issues that should be considered. This approach is supported by illustrating examples and a discussion on different types of conflicts and traceability of information across different requirements engineering content items in this paper.
The impact of our contribution is mainly determined by the question how much difference the consideration of sustainability actually makes in requirements engineering. If we can make a sustainability purpose explicit in a system, then the difference is significant. If such a purpose is not given, secondary influence can be achieved by adding sustainability objectives and greening the system itself. The latter has less impact on the environment but is still feasible, the more the bigger the user community of a system. In the long run, our hypothesis is that we will not be able to end resource depletion by greening existing systems but only by disruptive change and completely transforming our systems. Creating the mindset for that starts with acknowledging the need for incorporating sustainability as an explicit objective in systems development
Full publication (open access)