Quality Characteristic - Sustainability

Sustainability  is a quality characteristic that has rapidly become very important for organizations. Some people see sustainability as already represented in the quality in use characteristics of the ISO25010 standard . We noticed however, that sustainability as it is perceived today, encompasses much more than just mitigating the environmental risk. Sustainability is also related to the economic and social impact of IT. Therefore, we decided to describe it as a main quality characteristic in its own right. 

Sustainability is one of the important factors that IT delivery teams must consider today, along with the more traditional quality characteristics

In this section we describe this new quality characteristic, which is our extension to the “quality characteristics for quality in use” part of the ISO25010 standard as shown in below figure. 

Sustainability

 

Definition

Sustainability is a focus point of quality engineering that aims to minimize the unfavorable impact that business processes, the IT components that support them, and the infrastructure that hosts them, have on the planet.
It promotes an approach to software and systems design, development, implementation, deployment, operation, maintenance and retirement, that emphasizes environmental perdurability and energy efficiency.  

 

Details and sub-characteristics for sustainability 

In 1987 a United Nations document defined sustainable development (of society) as “meeting the needs of the present without compromising the ability of future generations to meet their own needs” [UN 1987] which today is supported by the 17 Sustainable Development Goals [UN 2022]. We support this essential definition but felt the need to make it more specific to IT delivery as shown in the previous section. The quality characteristic sustainability is about perdurability of IT, the long-term effects. The first thing that comes to mind for many people is the carbon footprint (CO2 emission), and this is indeed part of sustainability, but it is much more.  

In general sustainability refers to three aspects: Environmental -, Economic -, and Social sustainability. For IT systems the environmental and economic sustainability are relatively easy to influence and measure, the social sustainability is more difficult. Within the context of the TMAP body of knowledge for quality engineering and testing for IT delivery, we focus on the environmental sustainability and the closely related economic sustainability. In the context of “information technology” the social sustainability (availability of IT, contribution to equality, etc.) is derived and consequential, thus we will keep it in mind but won’t have explicit focus on influencing it. If you would like to learn more about the social aspect, please read to the blog “(E)quality engineering: Towards a software quality model to address social sustainability” [Tort 2021]. 

From our own experience, supported by various sources (e.g. [Tozzi 2022]), we found that if there is a focus on optimizing the environmental impact of IT delivery, this usually also has a positive effect on the economic impact of IT in the long run and therefore also contributes to the business value which is the starting point of IT delivery (see the VOICE model). Well-designed systems, built in a resource-aware process, often result in IT systems that have lower costs in the total life-cycle, and often even already in the development stages. 

The quality characteristic Sustainability has three sub-characteristics: 

  • Environmental sustainability 
    This includes energy consumption, carbon footprint (CO2 emission), pollution and use of scarce natural resources.
  • Economic sustainability 
    This includes the financial consequences such as costs and revenues, profitability, technical debt, etcetera.
  • Social sustainability 
    This includes the consequences for individual people, groups of people and society as a whole.

Many of the sources we found on IT and sustainability focus on the design, development and build process. We are convinced that the entire lifecycle from cradle to grave (and back to cradle again – recycling) should be considered. Good maintainability (which means little technical debt) for example may have a much higher impact on sustainability than low-energy use during development. This is why in our definition we explicitly mention all different activities in IT delivery. This broad focus also helps to prevent sub-optimization, it may for example be favorable to spend more time and resources during the development of an IT system so that in the operational period the energy use will be significantly less. Also, it will be favorable to do more research in which materials to use for creating hardware, to prevent using pollutive or scarce materials. 

When striving for sustainability one should not limit the view to the development and use of IT systems alone, but to the broader impact of IT on the planet. The IT system itself might not necessarily be super sustainable in all situations, since using extra IT resources isn’t always very sustainable. But using these extra IT resources might contribute to sustainability of our planet as a whole (so it is about the use of IT to achieve an overall higher level of sustainability). For example, when IT systems are implemented to reduce the energy use or limit other aspects of unfavorable impact on the environment. And with sustainability it’s not enough to look at current impact, but also look into future impact generated by the debt of not enough action today. 

The term “green IT” is also used in the context of sustainability. In our opinion green IT is a subset of sustainability, focused on the solution being more environmentally friendly and energy efficient compared to alternative solutions, making it more sustainable. Comparing green IT with sustainable IT, the latter is more comprehensive, taking into account the broader ecosystem and lifecycle. Replacing existing solutions by green solutions could be less sustainable overall, considering the extra pollution or use of scarce materials caused by the replacement. 

How to achieve sustainability of new IT systems 

The best way of going towards sustainable IT is building sustainable IT systems from the start. This aligns with the general goal of quality engineering to build quality in from the start, to deliver the pursued business value. Business value in this perspective is not just economical value, but also environmental and social value. Together, all aspects of sustainability contribute to business value. 

Nowadays it is commonly understood there is a need to have sustainability as an integrated part of the requirements for a business process and the IT systems that support it. As with any quality characteristic, the team and their stakeholders must carefully consider what the sustainability goals are and how they can achieve these goals.  

The focus on sustainability needs to be supported by clear goals within an organization, laid down in their quality policy, which is a basis for defining the requirements of specific business processes and IT systems. 

One of the ways to achieve a proper level of sustainability is by applying state of the art services and tools such as the Artificial Data Amplifier [ADA 2022]. ADA is an AI-based service which can be used to limit the effort of generating data sets for training Machine Learning algorithms or for generating test data that complies with privacy regulations. The energy use of such tool is compensated by the energy savings of having better and/or smaller data sets than without using the service. 

New tools are constantly being developed to provide insight into the environmental impact of systems. These tools support the awareness of the impact and thus are the basis for improvement. Be aware that these tools often only measure a limited part of the aspects of sustainability, for example energy use or CO2 emission. Since our definition of sustainability is broad, multiple indicators should be used to cover all relevant aspects of sustainability. When looking for the relevant indicators please keep the VOICE model in mind. 

Of course, a focus on sustainability can tie in nicely with other ways of looking at improvement such as the seven types of waste defined in lean [Maurya 2012]. 

Approach to improving sustainability of existing IT systems 

Often IT delivery teams and their stakeholders still have existing IT systems that were not created with sustainability in mind (so-called legacy systems). Since todays high-performance IT delivery is about continuous improvement, sustainability can be added to that improvement focus. Keep in mind that in the introduction of building block Continuous Improvement we describe the improvement areas Products, Processes and People, that are all important for achieving sustainable IT. 

To actively promote improvement of the sustainability of existing business processes and their supporting IT systems we use this 5-step approach (adapted from [Euteneuer 2022]): 

Step 1 Define sustainability goals and relevant indicators, and measure a baseline of the usage of the business process and IT system(s) that support it
Step 2 Analyze the measurements to find possibilities to improve
Step 3 Combine information from measurement and analysis steps to determine the impactful parts
Step 4 Refactor & optimize the most impactful parts 
Step 5 Measure the effects and identify further optimizations 
  Return to step 2

This way the improvement starts where the impact is highest.  With the optimization the focus should be broad. Don’t just think of optimizing the code but also about clean code/architecture, application optimization, deployment optimization, green infrastructure architecture, improved business solutions, environmental footprint of the IT delivery process, proper use of services, recycling of hardware components, etcetera. 

Why a focus on sustainability is meaningful 

We believe that a focus on sustainability as a quality characteristic drives delivery of business processes, with supporting IT systems, that have lower technical debt and increased technical excellence which brings environmental, economic and societal benefits. 

A focus on the right quality level (based on all relevant quality characteristics) in the end doesn’t cost extra effort or money, because the effect is not only found in sustainability, but also in efficiency and effectiveness. That way costs go down, the duration of processes is shorter and the organization as a whole works better. All of which contributes to a more sustainable organization and society. 

By following quality engineering principles, you can ensure that you are making a responsible and positive impact. 

References: