Jemand tippt auf einem Notebook

Sustainable Software

Nachhaltige Softwareentwicklung ist unsere Kür

Exzellente Software ist nachhaltige Software

Für adesso heißt das, Nachhaltigkeit als Qualitätsanforderung an Software in allen Phasen des Software Engineerings umzusetzen. Dazu verpflichten wir uns selbst, weil es das Richtige ist, und unsere Verantwortung. Denn Nachhaltigkeit als Qualitätsanforderung an Software ist für uns so selbstverständlich wie Wartbarkeit oder Usability.


Initiativen

Gemeinsam mit unseren Partnern zu mehr digitaler Nachhaltigkeit


Nachhaltige Software

Unser Anspruch ist es, die Umweltauswirkungen von Software und ihres Entwicklungsprozesses zu minimieren. Dazu zählen neben einem möglichst geringen Stromverbrauch und der Inanspruchnahme von möglichst wenig Hardware-Ressourcen, auch eine verlängerte Lebensdauer der Hardware sowie der gezielte Betrieb mit Strom aus erneuerbaren Energien. Als Software Engineers leisten wir unseren Beitrag, indem wir Technologien entwickeln, die unsere Kunden bei ihren Nachhaltigkeitszielen unterstützen.


Der Entwicklungsprozess

Alle am Softwareentwicklungsprozess beteiligten Personen müssen ihren Beitrag zur Reduktion der Umweltauswirkungen von Software leisten. Dazu schulen wir unsere Mitarbeitenden und sensibilisieren sie für Aktivitäten und Entscheidungen, bei denen sie durch ihre Rolle den höchsten Wirkungsgrad für ökologische Nachhaltigkeit erzielen können.

Requirements Engineering

Das Requirements Engineering spielt eine entscheidende Rolle bei der Entwicklung nachhaltiger Software. Es beinhaltet die sorgfältige Identifikation und Dokumentation aller Anforderungen an die Software. Dieser Schritt bildet den Grundstein für die gesamte Entwicklungsarbeit. Indem wir von Anfang an die Nachhaltigkeitsaspekte in die Anforderungsanalyse integrieren, können wir sicherstellen, dass unsere Software nicht nur funktional, sondern auch ressourceneffizient ist. Zum Beispiel ermöglicht eine gründliche Anforderungsanalyse die umweltverträgliche Steuerung von Service Level Agreements, Response Times, Genauigkeiten oder Kompatibilitätsanforderungen.

Konzept und Design

Concept Developer und Designer nehmen für die Nachhaltigkeit digitaler Systeme eine wichtige Funktion ein. Sie sind verantwortlich für das ästhetische und funktionale Design der Benutzeroberfläche. Diese ist nicht nur für die Nutzerzufriedenheit entscheidend, sondern kann auch dazu beitragen, nachhaltige Praktiken zu fördern. Durch die verantwortungsvolle Nutzung von Medien, Schrifttypen und Farben kann der Ressourcenverbrauch von Anwendungen zur Laufzeit reduziert werden. Ein intuitives Design kann User zudem ermutigen, energieeffiziente Einstellungen vorzunehmen oder nachhaltige Funktionen der Software leichter zu nutzen.

Architektur und Technologieauswahl

In der Softwarearchitektur wird die grundlegende Struktur und das Zusammenspiel der Softwarekomponenten festgelegt. Dies hat direkte Auswirkungen auf die Leistungsfähigkeit und Skalierbarkeit der Software. Eine durchdachte Architektur kann die Energieeffizienz und Ressourcennutzung optimieren. Zum Beispiel kann die Auswahl einer skalierbaren Cloud-Infrastruktur dazu beitragen, den Energieverbrauch zu minimieren, indem Ressourcen bedarfsorientiert bereitgestellt werden.

Entwicklung

Software Engineers spielen eine zentrale Rolle bei der Umsetzung der Software. Ihr Code und ihre Implementierung haben direkte Auswirkungen auf die Nachhaltigkeit des Produkts. Dabei geht es weniger um Entscheidungen auf Quellcode-Ebene, sondern eher um Entwurfsmuster und Vorgehensweisen, nach diesen der Code strukturiert wird. Dazu zählen außerdem das Caching und die Kompression von Daten.

Qualitätssicherung

Die Bewertung der Nachhaltigkeit von Software umfasst Monitoring, statische Analyse, quellcodebasierte Tests und Benchmarking. Denn wir können nur verbessern, was wir messen und verstehen. Diese Ansätze helfen, Fehler frühzeitig zu erkennen, die Codequalität zu verbessern und die Softwareleistung zu optimieren. Dadurch wird Ressourcenverschwendung minimiert und die Nachhaltigkeit der Software gewährleistet. Zudem hilft es uns, zu verstehen, wo die Optimierung der Nachhaltigkeit einen möglichst hohen Wirkungsgrad entfaltet.

Betrieb und Wartung

DevOps-Teams sind für die Bereitstellung, Wartung und den reibungslosen Betrieb der Software in der Produktionsumgebung verantwortlich. Effiziente Betriebsprozesse, wie die Automatisierung von Deployments und das kontinuierliche Monitoring der Softwareleistung, tragen zur Minimierung von Ausfallzeiten und Ressourcenverschwendung bei. Dies ist entscheidend, um die Nachhaltigkeit unserer Software über ihren gesamten Lebenszyklus sicherzustellen. Über nachhaltige Update- und Orchestrierungsstrategien lassen sich so die Umweltauswirkungen sogar noch steuern, wenn die Software bereits fertig entwickelt ist.



Sie haben Fragen?

Sprechen Sie uns an, um mehr über unsere Aktivitäten zur umweltgerechten Entwicklung von Software zu erfahren.

Kontakt

Diese Seite speichern. Diese Seite entfernen.