Zum Inhalt springen

Suchen...

Nachhaltige Software-Entwicklung

Entdecke nachhaltige Softwareentwicklung: Integriere umweltfreundliche Praktiken und steigere Deine Effizienz in der Softwareentwicklung.

5 Min. Lesezeit
Cover für Nachhaltige Software-Entwicklung

Performance-Tests nachts laufen lassen kostet genauso viel wie mittags – aber mittags gibt es oft Überschuss an erneuerbarer Energie, die sonst verpufft. Nachhaltigkeit in der Softwareentwicklung bedeutet nicht, neue Anforderungen zu erfinden, sondern bestehende Qualitätsattribute wie Effizienz, Wartbarkeit und Verfügbarkeit mit einer anderen Brille zu betrachten. Dabei zeigt sich: Wer Software langlebig baut, spart nicht nur Energie beim Betrieb, sondern verhindert auch, dass alle zwei Jahre bei Null angefangen werden muss. Software Testing spielt dabei eine zentrale Rolle – von der Anforderungsanalyse über Code-Reviews bis hin zur intelligenten Steuerung von Testinfrastrukturen.

Podcast Episode: Nachhaltige Software-Entwicklung

Markus und Florian sprechen über verschiedene Themen rund um Nachhaltigkeit in der Softwareentwicklung. Sie erklären, was Nachhaltigkeit in diesem Kontext bedeutet und wie nachhaltige (Performance-)Anforderungen berücksichtigt werden können. Auch die Grenzen der Nachhaltigkeit werden thematisiert. Markus und Florian geben Einblicke, wie Nachhaltigkeit im Code Review implementiert werden kann und wie sie ins Testen integriert werden kann. Zum Schluss geben sie nützliche Tipps, wie man Nachhaltigkeit in einem Softwareprojekt umsetzen kann.

„Es gibt kein Qualitätsattribut, das ich am Ende vom Software Development Lifecycle noch mit rein teste.” – Markus Lachenmayr, Florian Krautwurm

Markus arbeitet seit Jahresbeginn 2023 als Lead Performance Engineer beim Process Mining Unternehmen Celonis. Zuvor war er, nach seinem Master in Software Engineering, für sieben Jahre in der zentralen Forschungs- und Beratungseinheit von Siemens tätig. Sein Fokus lag auch in dieser Zeit als NFR Engineer auf Softwareeffizienz und Skalierbarkeit. Über die Jahre forschte Markus an internen Software Qualitäts-Attributen (z.B. Testbarkeit und Wartbarkeit), über deren Einfluss das Interesse an Nachhaltigkeit von Software kam. In seiner Freizeit engagiert sich Markus als Fussballtrainer, begeistert sich für American Football, kocht und grillt gerne.

Florian arbeitet aktuell als Test Architekt in der Siemens internen Forschungs- und Beratungseinheit. In seiner Rolle hat er schon viele Innovationsprojekte operativ im Bereich Software Qualität, Cloud, Pipelining und DevOps unterstützt. Am liebsten beschäftigt er sich im Moment beruflich mit den Themen „Shift left and right“ und „Staging and Promotion“ für industriellen und kritische Systeme. Als Portfolio Manager für „Quality Engineering for Digital Technologies“ schärft er außerdem die Strategie und Roadmap für weitere zukunftsgerichtete Themen. Aktuell interessiert er sich privat neben der Arbeit vor allem für die Themen Identitätsschutz und Sustainability in Software und Software Testing, was ihn auch zum Beitrag auf der German Testing Day inspiriert hat.

Highlights der Episode

  • Nachhaltigkeit ist keine neue Anforderung, sondern eine neue Perspektive auf Performance, Wartbarkeit und Langlebigkeit.
  • 600 Kilometer Auto-Äquivalent pro Projekt durch falsche Staging-Pipelines – richtig gebaut nur 600 Meter.
  • Wartbarkeit ist Nachhaltigkeit: Software alle drei Jahre neu schreiben verheizt Menschen und Ressourcen gleichermaßen.
  • Performance-Tests zeitgesteuert laufen lassen, wenn erneuerbare Energie verfügbar ist – APIs zeigen den besten Zeitpunkt.
  • Historisch gewachsene Software regelmäßig gegen heutige Requirements reviewen – da liegt das größte Einsparpotenzial.

Nachhaltigkeit in der Softwareentwicklung: Ein Leitfaden für Entwickler und Tester

In der heutigen Folge diskutieren wir die Rolle der Nachhaltigkeit in der Softwareentwicklung und im Softwaretesting. Von den Anforderungen bis hin zur Implementierung und dem Testen, erfahren Sie, wie Nachhaltigkeit nicht nur eine ethische Verantwortung, sondern auch eine Chance für Effizienzsteigerung und Kostenreduktion sein kann.

Die Bedeutung von Nachhaltigkeit in der Softwareentwicklung

In der heutigen Folge tauchen wir ein in das Thema Nachhaltigkeit in der Softwareentwicklung. Während meines Gesprächs mit Markus Lachenmayr und Florian Krautwurm wurde deutlich, wie wichtig es ist, Nachhaltigkeit nicht als ein Hindernis, sondern als eine Chance zu betrachten. Nachhaltige Softwareentwicklung geht weit über das einfache Einsparen von Ressourcen hinaus. Es ist ein umfassender Ansatz, der darauf abzielt, sowohl die Langlebigkeit der Software als auch ihre Ressourceneffizienz zu maximieren.

Die Herausforderung: Nachhaltigkeit als nachträgliche Überlegung

Eine der größten Herausforderungen in der Branche ist die Tendenz, Nachhaltigkeit als nachträgliche Überlegung zu behandeln. Oft werden Entscheidungen über Performance, Sicherheit und Wartbarkeit getroffen, ohne dabei den Aspekt der Nachhaltigkeit zu berücksichtigen. Diese Vorgehensweise führt nicht nur zu verschwendeten Ressourcen, sondern kann auch langfristig die Wartbarkeit und Erweiterbarkeit der Software beeinträchtigen. Unsere Markus und Florian betonen die Wichtigkeit, Nachhaltigkeit von Anfang an in den Entwicklungsprozess einzubeziehen.

Lösungen und Best Practices

Markus und Florian teilen wertvolle Einblicke darüber, wie man Nachhaltigkeit effektiv in den Entwicklungsprozess integrieren kann. Hier sind einige Schlüsselstrategien:

  • Frühzeitige Integration von Nachhaltigkeitsaspekten in das Anforderungsengineering
  • Betrachtung von Nachhaltigkeit als eine neue Perspektive auf vorhandene NFRs (Nicht funktionale Anforderungen)
  • Durchführung von Trade-off-Analysen zwischen verschiedenen NFRs unter Berücksichtigung ihrer Auswirkungen auf die Nachhaltigkeit

Nachhaltiges Testen: Ein unerwarteter Spielwechsler

Interessanterweise ist das Feld des nachhaltigen Testens noch relativ unerforscht. Doch genau hier sehen unsere Gäste großes Potenzial für Einsparungen und Verbesserungen. Durch strategische Planung können Tests so angelegt werden, dass sie weniger Ressourcen verbrauchen. Beispielsweise können Performance-Tests während Zeiten hoher Verfügbarkeit erneuerbarer Energien durchgeführt werden, was den Carbon Footprint signifikant reduziert.

Praktische Tools und Ressourcen für den Einstieg

Für Entwickler und Tester, die sich aktiv mit dem Thema auseinandersetzen möchten, bieten Organisationen wie Principles.Green oder die Green Software Foundation ausgezeichnete Ressourcen. Diese Plattformen bieten Tutorials, Artikel und sogar spezielle Patterns an, die zur Steigerung der Nachhaltigkeit beitragen können.

Ein Aufruf zum Handeln

Abschließend betonen Markus und Florian die Dringlichkeit, jetzt zu handeln. Die Implementierung nachhaltiger Praktiken in der Softwareentwicklung ist nicht nur gut für die Umwelt – sie kann auch erhebliche Kosteneinsparungen bringen und die Effizienz steigern. Indem wir diese Prinzipien in unseren täglichen Arbeitsablauf integrieren, leisten wir einen wertvollen Beitrag zum Schutz unseres Planeten.

Diese Seite teilen

Ähnliche Beiträge