· Klemens Loschy

Sustainability in software development

Why sustainability has such a hard time in IT — and why it is an integral part of professional software development

What does sustainability actually mean?

As always, Wikipedia has one (or even more, perhaps even the right, or at least a fitting) answer at hand: sustainability is a principle of action in the use of resources. The aim here is to guarantee a lasting satisfaction of needs by preserving the natural regenerative capacity of the systems involved, above all of living beings and ecosystems. That reads a bit clunky and not very IT-related… If you then read on: in the corresponding English word sustainable, this principle is literally recognisable: to sustain in the sense of “to endure” or “to bear.” In other words: the systems involved can “permanently endure” a certain level of resource use without taking damage. I can find something in the definition, but from my point of view that is not (quite) applicable to IT: in IT it is not, or must not be, only about “permanently enduring a level of resource use” — we manage that quite well in IT by now: “we’ll just throw more hardware at it” has been a common “strategy” for many, many years now when systems do not endure this level of resource use. After that comes a series of interpretations and definitions from various circles of society, politics and business. Later, three buzzwords follow that, from my point of view, then fit well (even if not necessarily their explanation): sufficiency, efficiency, consistency (though “consistency” and its explanation don’t really become clear to me).

OK, Wikipedia as we know and love it. But we have arrived in the AI era, so what does ChatGPT (V4) claim if you ask specifically about “sustainability in IT”? ChatGPT is of the opinion that it is about energy efficiency, resource conservation, green software development (which again heads towards resource conservation), environmentally friendly IT infrastructure (essentially resource conservation again), sustainable supply chains (in which resources are conserved), social sustainability. At least one new aspect: social sustainability, otherwise more or less the same thing again…

Sustainability @ rzfz.ai

Perhaps it is too much to ask to be able to build on a recognised and generally valid definition of sustainability. It feels roughly like the discussions about software testing ~20 years ago: back then there were a few guys who talked something about “quality,” “testing is important” or even “software testing is cool,” and only few really understood what it was supposed to achieve. A lot of work, time and persuasion effort was necessary to anchor the importance of these topics sustainably in IT, and even today, 20 years later, you still meet people and companies who can make nothing, or very little, of topics like quality and testing.

SEQIS trade fair stand from 2007

So let me describe my view, or rather rzfz.ai’s view, of the topic of sustainability in software development: sufficiency, as an umbrella term, subsumes it very well from my point of view and can be applied to very many areas and activities in software development. Sufficiency means saving material and energy — now that already sounds sustainable. And it is not only about technical resources; the human being / employee is also part of this principle of sufficiency, and the correct use of these resources is correspondingly important and forms the bridge to social sustainability. Social sustainability, however, has yet other aspects: not every user walks around with the latest generation of phones or notebooks and enjoys almost unlimited and super-fast anytime-and-anywhere internet, and on top of that is tech-savvy. This limited group of people is of course the main revenue driver of our products and correspondingly strongly in focus — but didn’t we create this group in the first place with our kind of software? Isn’t that more of a chicken-and-egg problem? By focusing our software on this target group, we simply exclude a considerable portion of people, or at least significantly reduce their user experience in part.

Sustainability therefore means for us to deliberately question established processes and de facto standards as to whether they are still up to date in the sense of the sustainability idea, because we are convinced that IT has to, and can, do its part to make the world a little bit better.

Why does sustainability have such a hard time in IT?

“Because it doesn’t matter” — or at least “didn’t.” Many things (unfortunately) only become important when failing to observe them leads to (monetary) losses. Before things have really gone wrong in production at least once, quality assurance is at most a stipulation in the process. Only someone who has once experienced a problem in production, and therefore knows what costs and damage are associated with it, will in future do everything to ensure that this situation never, ever occurs again. With sustainability it is (unfortunately) similar: until recently (COVID, energy crisis, inflation, climate crisis) there was simply little immediate benefit in paying attention to sustainability; it simply didn’t “pay off.” Only in recent years has awareness slowly been rising that “more hardware” is surely not the best solution, and no longer the cheapest either. Sustainable solutions are in demand in order to be able to operate software in a resource-saving way, because hosting and electricity costs are no longer small items in the budget. Rising employee salaries, both in Austria but also at offshore and nearshore partners, coupled with the trend towards less working time, and the ever-rising competition in the market, necessitate the targeted and correct deployment of staff. Slack or wrongly deployed resources are by now simply too expensive. Outdated, rigid processes that largely prevent change and literally set the status quo in concrete, and the widespread human trait that “change is, above all, something negative at first,” work actively against the topic of sustainability.

So what to do?

Sustainability has to make its way into our everyday IT, just as quality assurance slowly but steadily made its way in many years ago. For now this means that we have to work actively on it so as not to lose sight of the topic, until it has become established enough that it has become “normal.” It takes those enthusiastic types who keep asking “is what we’re doing here actually sustainable?” or “how can we make this more sustainable?” — and with every question we come a step closer to the goal: sustainability is neither “not worth worrying about” nor is it “madness,” it is an integral and non-negotiable part of professional software development!

Sources and further information

de.wikipedia.org/wiki/Nachhaltigkeit

chatgpt.com

Originally published at SEQIS Blog