Sustainability Goal Reference Model
We have developed a generic goal model for sustainability analysis. We focused on the problem that sustainability is not specified clearly as a concept to be easily integrated into the software engineering process. The figure below shows the general idea of the sustainability goal reference model. It helps decompose the overall abstract goal of sustainability into different dimensions, identifies values that represent them, and activities that will improve those values.
An Example for Mobility
The following example is an illustrative excerpt from the DriveNow case study.The Meta Model
- Dimensions
- Environmental: Requirements with regard to resource flow, including waste management. Furthermore, impact effects can be analyzed by environmental impact assessment (EIA). The challenge is that usually only first order impacts by a system are considered, whereas second and third order impacts are not yet accounted for.
- Individual: Parts of individual sustainability are covered by privacy, safety, security, HCI and usability as well as personal health and well-being, which still needs to be made explicit in requirements. An example for this could be that an application suggests to take a break after a specific amount of working time.
- Social: A share of social sustainability can be treated via computer supported collaborative work requirements, which reflect the interaction within user groups, via ICT for development requirements, and via political, organizational, or constitutional requirements, as in laws, policies, etc. Still missing are, for example, explicit requirements for strengthening community building.
- Economic: The economic sustainability is taken care of in terms of budget constraints and costs as well as market requirements and long-term business objectives that get translated or broken down into requirements for the system under consideration. The economic concern lies at the core of most industrial undertakings.
- Technical: The technical sustainability requirements include non-obsolescence requirements as well as the traditional quality characteristics of maintainability, supportability, reliability, and portability, which all lead to the longevity of a system. Furthermore efficiency, especially energy-efficiency and (hardware-) sufficiency is part of the technical sustainability requirements.
- Values
- Indicators
- Regulations
- Activities
A dimension is an aspect of sustainability, there are five dimensions to be considered when analyzing sustainability. A dimension is detailed in a set of values.
A value is a moral or natural good that is perceived as an expression of a specific dimension. Each of the five dimensions is represented by a set of values. Values do not necessarily belong exclusively to one dimension but can be considered for a number of dimensions, for example “healthy environment”, which applies for both the environmental as well as the human dimension (Penzenstadler & Femmer, A Generic Model for Sustainability with Process- and Product-specific Instances, 2012).
An indicator is a qualitative or quantitative metric that expresses a specific degree or score with regard to a value, for example, “satisfaction indices” as qualitative metric and “carbon emissions” or “return on investment” as quantitative metrics. A set of indicators thereby approximates a value (Penzenstadler & Femmer, A Generic Model for Sustainability with Process- and Product-specific Instances, 2012).
A regulation is an optional element that affects (i.e. supports or enforces) a value, for example emission regulations. Regulations commonly set limits for a specific indicator to be of legal use. Many values belonging to the different dimensions are heavily regulated, either supported or restricted in order to protect them. For example “freedom of the individual” is supported by the human rights and “healthy air” is supported by the European Union's directive on carbon emissions (Penzenstadler & Femmer, A Generic Model for Sustainability with Process- and Product-specific Instances, 2012).
An activity is a measure taken to contribute to a specific value or a set of values, for example “use train for mid-distance traveling instead of aircraft”. The impact of these activities on a value is measured by the indicators it influences. For the travel example “using a train instead of an aircraft” improves the emissions account of the traveler. For each value, there is a number of activities that can be implemented to support a value. Thereby, the impact of an activity is measured by the indicators it influences (Penzenstadler & Femmer, A Generic Model for Sustainability with Process- and Product-specific Instances, 2012).
Instantiation of the generic sustainability model
According to Penzenstadler and Femmer, “the generic sustainability model can be instantiated for the development process (companies) and for software systems (products).” However the method on how to develop the sustainability model is the same for both fields of application.
For companies applying the generic sustainability model, the application would consist of two phases. Firstly, the Analysis Phase is where the generic model is tailored to a specific context, in this case for example, the urban car sharing platform. Secondly, the Application & Assessment Phase, where the main goal is to monitor activities and indicators in use to assess how the company is performing according to their definition of sustainability, laid out in the sustainability model.
For the Analysis Phase the generic sustainability model is developed in three steps:
- For each dimension, initiate the generic values using the predefined goals of the company or product. These values will then be prioritized to avoid conflict with contradicting goals.
- Identify activities that implement the values. Additionally each value should have a corresponding indicator which allows for an assessment of the sustainability state of the product or system.
- Link activities to an indicator, if they influence them in a positive manner. This allows for identifying potentially reusable items/links between activities and indicators.
After these three steps, the sustainability model is initialized and can be used to monitor the progression of the product or system throughout its operation (Application & Assessment Phase).
Classification of the generic sustainability model
The aforementioned content model is structured into four levels, allowing the requirements engineer to structure the analysis from the outside in (Penzenstadler, Mini-Guideline to Requirements Engineering, 2011).
- Environment / Context:
- System / Product Requirements:
- Logical Architecture:
- Technical Architecture:
The environment level provides an overview of the intended field of application. It contains the domain model, the stakeholders, the system vision and the objectives, goals & constraints of the product or system being analyzed.
The System level describes the interactions between the user and the product/system within the problem domain (black box).
“On this level, the system is described as white box in terms of structure and behavior while still not distinguishing between hardware and software.” (Penzenstadler, MiniGuideline to Requirements Engineering, 2011)
The fourth level defines the technical architecture. Here the realization of the system using hardware and software is being defined.
On first thought, the sustainability analysis would be performed in the second level of the requirements engineering content model. This is because the identification process of activities and indicators provides solutions for solving the identified sustainability goals. However, we can also derive additional goals for the sustainability dimensions. This fact places the creation of the sustainability model between the first and second level.
Conclusion of the generic sustainability model
We provided a reference model which is used to analyze sustainability for a product or system. This generic sustainability model can be instantiated for development process as well as for software systems.
The model subdivides the sustainability term into five dimensions, which form the basis for the following analysis. These dimensions are highly coupled and stand in a special relationship to one another. These dimensions are specified using values, activities, indicators and regulations to form the sustainability model. These elements are created in three steps during the analysis phase (between levels one and two) of the requirements engineering process. After a product or system is implemented and running in a real world application the sustainability model can be used to assess the ongoing operations according to its sustainability features.