Blog

Sustainable Software Development - Richard Seidl

Written by Richard Seidl | Jun 12, 2023 10:00:00 PM

Markus and Florian talk about various topics relating to sustainability in software development. They explain what sustainability means in this context and how sustainable (performance) requirements can be taken into account. The limits of sustainability will also be discussed. Markus and Florian provide insights into how sustainability can be implemented in code reviews and how it can be integrated into testing. Finally, they give useful tips on how to implement sustainability in a software project.

“And if you think about it: ok, just by making small changes to the staging system, we’ve saved that - why not do it?” - Markus Lachenmayr, Florian Krautwurm

Markus has been working as Lead Performance Engineer at process mining company Celonis since the beginning of 2023. Previously, after completing his Master’s degree in Software Engineering, he worked for seven years in the central research and consulting unit at Siemens. As an NFR Engineer, his focus during this time was also on software efficiency and scalability. Over the years, Markus researched internal software quality attributes (e.g. testability and maintainability), which influenced his interest in the sustainability of software. In his spare time, Markus is a soccer coach, enjoys American football, cooking and barbecuing.

Florian currently works as a test architect in the Siemens internal research and consulting unit. In his role, he has already provided operational support for many innovation projects in the areas of software quality, cloud, pipelining and DevOps. At the moment, his favorite professional topics are “Shift left and right” and “Staging and Promotion” for industrial and critical systems. As Portfolio Manager for “Quality Engineering for Digital Technologies”, he also sharpens the strategy and roadmap for other future-oriented topics. In addition to his work, he is currently particularly interested in the topics of identity protection and sustainability in software and software testing, which also inspired him to speak at the German Testing Day.

Highlights of this episode:

  • Sustainability in software development concerns not only the efficiency of resource utilization, but also the longevity of the software
  • Sustainability should be seen as a new perspective on existing non-functional requirements
  • There are organizations such as Principles.Green and the Green Software Foundation that provide valuable resources and tutorials on sustainable software development
  • The right architecture and a conscious use of resources can make a big contribution to sustainability
  • Small changes in the staging system can result in large savings in resource utilization

Sustainability in software development: A guide for developers and testers

In today’s episode, we discuss the role of sustainability in software development and software testing. From requirements to implementation and testing, learn how sustainability can be not only an ethical responsibility, but also an opportunity to increase efficiency and reduce costs.

The importance of sustainability in software development

In today’s episode, we dive into the topic of sustainability in software development. During my conversation with Markus Lachenmayr and Florian Krautwurm, it became clear how important it is to view sustainability not as an obstacle, but as an opportunity. Sustainable software development goes far beyond simply saving resources. It is a comprehensive approach that aims to maximize both the longevity of the software and its resource efficiency.

The challenge: sustainability as an afterthought

One of the biggest challenges in the industry is the tendency to treat sustainability as an afterthought. Decisions are often made about performance, security and maintainability without taking sustainability into account. This approach not only leads to wasted resources, but can also affect the maintainability and extensibility of the software in the long term. Our Markus and Florian emphasize the importance of including sustainability in the development process from the very beginning.

Solutions and best practices

Markus and Florian share valuable insights on how to effectively integrate sustainability into the development process. Here are some key strategies:

  • Early integration of sustainability aspects into requirements engineering
  • Considering sustainability as a new perspective on existing NFRs (non-functional requirements)
  • Carrying out trade-off analyses between different NFRs, taking into account their impact on sustainability

Sustainable testing: an unexpected game changer

Interestingly, the field of sustainable testing is still relatively unexplored. But this is precisely where our guests see great potential for savings and improvements. Through strategic planning, tests can be designed to consume fewer resources. For example, performance tests can be carried out during periods of high availability of renewable energy, which significantly reduces the carbon footprint.

Practical tools and resources to get you started

For developers and testers who want to actively engage with the topic, organizations such as Principles.Green or the Green Software Foundation offer excellent resources. These platforms offer tutorials, articles and even special patterns that can contribute to increasing sustainability.

A call to action

In conclusion, Markus and Florian emphasize the urgency of acting now. Implementing sustainable practices in software development is not only good for the environment - it can also bring significant cost savings and increase efficiency. By integrating these principles into our daily workflow, we are making a valuable contribution to protecting our planet.