Sustainable Software Systems: The Core Characteristics and Their Achievement

Software development is essentially an intellectual task that depends essentially on human skills. However, it is not clear which kind of resources are consumed while the software is developed and what are the impacts of this resource consumption in society, economy, environment. Therefore, we surveyed the literature and present text passages below that present evidence about which are the resources consumed that are taken into account when considering sustainability in software systems.

ID Resource Text Passages
S1 Electric energy "Global software engineering aims to design, develop, and use a software with limited energy and computing resources."
S1 Monetary Cost "Software industries have now realized the competitive advantages of the integrated approach for producing high‐quality software with accelerated delivery, minimal cost, and flexibility to manage the requirements even late in the development process"
S1 Production time "Efficient utilization of time and computing resources"
S2 Electric energy "Then, a conceptual model is rendered demonstrating the consolidated life cycles of sustainable product and principle sustainable measurement dimensions, such as energy or information efficiency, low cost and human health."
S2 Monetary Cost "Then, a conceptual model is rendered demonstrating the consolidated life cycles of sustainable product and principle sustainable measurement dimensions, such as energy or information efficiency, low cost and human health."
S2 Human resources "Then, a conceptual model is rendered demonstrating the consolidated life cycles of sustainable product and principle sustainable measurement dimensions, such as energy or information efficiency, low cost and human health."
S3 Electric energy "Green software engineering aims to design, develop, and use the software with confined energy and computing resources."
S3 Production time "Efficient utilization of time and computing resources"
S3 Human resources Several studies have been conducted to shift the focus in applying agile principles and practices in GSD to get several benefits, such as lower production cost, around‐the‐clock development, faster time to market, and the liberty of involving the most talented developers across the globe.
S4 Electric energy There are a number of design activities that support greenness in various phases of software design such as conceptual design, logical design, physical design, data structure and algorithm design. Our findings also show that ‘power-saving software strategies' (70%)’ is the second critical factor for green and sustainable software development.
S4 Human resources "Sustainable development refers to resource use for meeting the needs of humans while taking into account the ecological, economic, and societal impacts"
S5 Electric energy "Sustainability is a main concern in our current society. One of the aspects that play an important role in supporting sustainable development is Information Technology (IT). Both software behavior and the way it is developed impact the amount of energy consumption."
S5 Monetary cost "Green software is an application that produces as little waste as\npossible during its development and operation"
S6 Electric energy "This may indicate that researchers expect these three contribution types would promote gains in energy efficiency and, consequently, to obtain more sustainable software products"
S7 Electric energy "Information Technology and, particularly, software can be a means to support the challenges that face sustainable development. It can be used to optimize industrial processes as well as to reduce energy and resource consumption."
S8 Electric energy "The energy consumption during the software processing is considered as a first order impact."
S8 Monetary Cost For instance, the energy consumption during the software processing is considered as a first order impact because it directly leads to high costs on energy bills and consequently on the environment.
S9 Electric energy The interaction between performance efficiency and energy efficiency is what is reported most and there is a fairly positive interaction.
S9 E-waste "The most common way to address sustainability in software is through energy efficiency [20], [22], but other effects can be considered [10], such as energy usage, E-waste production, emissions caused by required infrastructure (first order effect)"
S10 Electric energy "Energy-efficiency optimization would manifest during software runtime, while optimization in the software architecture would make the maintenance phase of software more sustainable."
S10 Monetary Cost "Maintenance process: papers that aim to make the\nmaintenance of a finished product more sustainable\nby, for example, reducing the personal, monetary and\nenvironmental cost"
S10 Human resources "Maintenance process: papers that aim to make the\nmaintenance of a finished product more sustainable\nby, for example, reducing the personal, monetary and\nenvironmental cost"
S11 Electric energy "This expresses a need for a more sustainable development (SD) in order to reduce energy consumption and greenhouse emissions (GHG)."
S12 Electric energy "Tool for estimating the energy consumption of software"
S12 Monetary Cost "Development process aspect: Sustainability in the initial\nsystem development process (with responsible use of\necological, human, and financial resources)"
S12 Human resources "Development process aspect: Sustainability in the initial system development process (with responsible use of ecological, human, and financial resources)"
S13 Electric energy "Creating energy efficient and green software is becoming popular subject rapidly"
S13 Monetary Cost "Software development multi-sourcing is na emerging global software engineering (GSE) paradigm for producing high quality software at minimum cost and time"
S13 Production time "Software development multi-sourcing is na emerging global software engineering (GSE) paradigm for producing high quality software at minimum cost and time"
S14 Human resources energy-efficient, minimizes the environmental impact of the processes it supports, and has a positive impact on social and/or economic sustainability
S14 Electric energy "We conclude that some software engineering researchers who work in the analyzed area of investigation are missing from the results because they used more specific terms and did not include the more general terms ‘software engineering’, or ‘software specification’, for example in energy efficiency and software quality"
S14 Monetary Cost energy-efficient, minimizes the environmental impact of the processes it supports, and has a positive impact on social and/or economic sustainability
S15 Electric energy "In order to make greener software products, software practitioners need actionable timely information, to make useful trade-offs between energy efficiency and other quality attributes, like performance, during development"
S16 Monetary Cost "Then, Penzenstadler et al. (2013) attached the elements of responsible use of ecological, human and financial resources towards sustainability. Next, Calero et al. (2013) contributed that the consumption of resources can improve the performance of energy used in producing the software product towards sustainability."
S16 Human resources "Then, Penzenstadler et al. (2013) attached the elements of responsible use of ecological, human and financial resources towards sustainability. Next, Calero et al. (2013) contributed that the consumption of resources can improve the performance of energy used in producing the software product towards sustainability."
S16 Electric energy "Then, Penzenstadler et al. (2013) attached the elements of responsible use of ecological, human and financial resources towards sustainability. Next, Calero et al. (2013) contributed that the consumption of resources can improve the performance of energy used in producing the software product towards sustainability."
S17 Electric energy "Reducing energy consumption and carbon footprint, in order to achieve high levels of sustainability"
S17 Monetary Cost "the use of ICT to improve energy efficiency and reduce costs is the subject of a number of papers in this special theme"
S17 Human resources "Costs of human factors affecting the software lifecycle"
S18 Production time In addition we would like to remark the following results. Reusability and Time behavior are two subcharacteristics that we have consider closely related to sustainability however no measures have been founded in this SLR to assess them.
S19 Human resources Software developers need practical guidance to support sustainability during software development [23], [107]. Although there are scarce results in industrial settings, we can rely on the expert opinion of researchers as a basis for providing some general suggestions. They must be adapted considering the particular settings of the project or organization.
S19 Electric Energy But other effects can be considered [10], such as energy usage, e-waste production, emissions caused by required infrastructure (first order effect); in addition, there are changes in user behavior caused by software (second order effects); and changes in\nsocial behaviors induced by software systems that erode the benefits of optimizing energy efficiency (third order effect).
S19 Electric energy Green software definition proposals address the topics of energy consumption and waste reduction during software product life cycle
S20 Electric energy Where the emphasis has been primarily minimizing power usage for datacenters and technical equipments (such as desktops, projectors)
S21 Monetary Cost A long-living software system is sustainable if it can be cost-efficiently maintained and evolved over its entire life-cycle.
S22 Monetary Cost Long term investment and high return on investment.
S24 Electric energy Protect the natural capitals such as energy, air, water and optimal utilization of resources
ID Understanding Resources mentioned
S1, S3 "Global software engineering aims to design, develop, and use a software with limited energy and computing resources." [...] "Software industries have now realized the competitive advantages of the integrated approach for producing high‐quality software with accelerated delivery, minimal cost, and flexibility to manage the requirements even late in the development process" [...] "Efficient utilization of time and computing resources" [...]
  • Electric energy
  • Production time
  • Minimal cost
  • Computing resources
S2 "Then, a conceptual model is rendered demonstrating the consolidated life cycles of sustainable product and principle sustainable measurement dimensions, such as energy or information efficiency, low cost and human health."
  • Electric energy
  • Cost
  • Human Health (human resources)
S3 Several studies have been conducted to shift the focus in applying agile principles and practices in GSD to get several benefits, such as lower production cost, around‐the‐clock development, faster time to market, and the liberty of involving the most talented developers across the globe.
  • Production cost
  • Production time
  • Human resources
S4 There are a number of design activities that support greenness in various phases of software design such as conceptual design, logical design, physical design, data structure and algorithm design. Our findings also show that ‘power-saving software strategies' (70%)’ is the second critical factor for green and sustainable software development. [...] Sustainable development refers to resource use for meeting the needs of humans while taking into account the ecological, economic, and societal impacts [...]
  • Energy
S5 "Sustainability is a main concern in our current society. One of the aspects that play an important role in supporting sustainable development is Information Technology (IT). Both software behavior and the way it is developed impact the amount of energy consumption."
  • Energy consuption
S6 "This may indicate that researchers expect these three contribution types would promote gains in energy efficiency and, consequently, to obtain more sustainable software products"
  • Energy
S7 "Information Technology and, particularly, software can be a means to support the challenges that face sustainable development. It can be used to optimize industrial processes as well as to reduce energy and resource consumption."
  • Energy
S8 "The energy consumption during the software processing is considered as a first order impact because it directly leads to high costs on energy bills and consequently on the environment."
  • Energy
  • Monetary cost
S9 The most common way to address sustainability in software is through energy efficiency, but other effects can be considered, such as energy usage, E-waste production, emissions caused by required infrastructure (first order effect) [...] The interaction between performance efficiency and energy efficiency is what is reported most and there is a fairly positive interaction.
  • Electric energy
S10 "Energy-efficiency optimization would manifest during software runtime, while optimization in the software architecture would make the maintenance phase of software more sustainable." [...] Maintenance process: papers that aim to make the maintenance of a finished product more sustainable by, for example, reducing the personal, monetary and environmental cost
  • Monetary cost
  • Personal cost
  • Environmental cost
  • Electric energy
S11 "This expresses a need for a more sustainable development (SD) in order to reduce energy consumption and greenhouse emissions (GHG)."
  • Electric energy
S12 "Tool for estimating the energy consumption of software" [...] "Development process aspect: Sustainability in the initial system development process (with responsible use of\necological, human, and financial resources)" [...]
  • Energy
  • Financial Resources
  • Human resources
S13 "Creating energy efficient and green software is becoming popular subject rapidly" [...] Software development multi-sourcing is na emerging global software engineering (GSE) paradigm for producing high quality software at minimum cost and time.
  • Electric energy
  • Monetary Cost
  • production time
S14 Energy-efficient, minimizes the environmental impact of the processes it supports, and has a positive impact on social and/or economic sustainability
  • Energy
  • Human resources
  • Monetary Cost
S15 "In order to make greener software products, software practitioners need actionable timely information, to make useful trade-offs between energy efficiency and other quality attributes, like performance, during development"
  • Energy
  • Practitioners need information
S16 "Then, Penzenstadler et al. (2013) attached the elements of responsible use of ecological, human and financial resources towards sustainability. Next, Calero et al. (2013) contributed that the consumption of resources can improve the performance of energy used in producing the software product towards sustainability."
  • Ecological
  • Financial resources
  • Human resources
S17 "Reducing energy consumption and carbon footprint, in order to achieve high levels of sustainability" [...] the use of ICT to improve energy efficiency and reduce costs is the subject of a number of papers in this special theme [...] Costs of human factors affecting the software lifecycle
  • Electric Energy
  • Monetary cost
  • Human Factors
S18 In addition we would like to remark the following results. Reusability and Time behavior are two subcharacteristics that we have consider closely related to sustainability however no measures have been founded in this SLR to assess them.
  • Production time
S19 Software developers need practical guidance to support sustainability during software development. Although there are scarce results in industrial settings, we can rely on the expert opinion of researchers as a basis for providing some general suggestions. They must be adapted considering the particular settings of the project or organization. But other effects can be considered [10], such as energy usage, e-waste production, emissions caused by required infrastructure (first order effect); in addition, there are changes in user behavior caused by software (second order effects); and changes in social behaviors induced by software systems that erode the benefits of optimizing energy efficiency (third order effect).
  • Human resources
  • Energy
S20 Where the emphasis has been primarily minimizing power usage for datacenters and technical equipments (such as desktops, projectors)
  • Electric energy
S21 A long-living software system is sustainable if it can be cost-efficiently maintained and evolved over its entire life-cycle.
  • Monetary cost
S22 Long term investment and high return on investment.
  • Monetary Cost
S24 Protect the natural capitals such as energy, air, water and optimal utilization of resources
  • Electric energy
See references