Kriterienkatalog für nachhaltige Software

2 Potenzielle Hardware-Nutzungsdauer

Zu welchem Grad sind Hardware-Erneuerungszyklen von Software-Erneuerungszyklen entkoppelt?1

Software stellt Anforderungen an die Hardware, auf der sie ausgeführt wird. Je schneller diese Anforderungen mit der Weiterentwicklung des Softwareprodukts wachsen und je spezifischer sie sind, desto einschränkender wirken sie sich auf den Einsatz bereits vorhandener Hardwareprodukte aus. Können bereits vorhandene Hardwareprodukte nicht (mehr) eingesetzt werden, um das gegebene Softwareprodukt auszuführen, verkürzt dies die Nutzungsdauer der Hardware.

Das angestrebte Ideal ist ein Softwareprodukt, dessen Entwicklungsdynamik dem Betreiber ein davon unabhängiges, entkoppeltes Management seiner Hardwareprodukte erlaubt. 

2.1 Abwärtskompatibilität

Garantiert der Hersteller des Softwareprodukts, dass das aktuelle Release auf einem Referenzsystem von vor n Jahren betrieben werden kann?*

Indikatoren:

a) Zunächst Herstelleraussage (Hardware, ältere Betriebssysteme, ältere Frameworks), da für zurückliegende Jahre keine Standardkonfigurationen definiert sind

b) Wenn seit der ersten Anwendung dieses Kriteriums auf das Softwareprodukt ausreichend Zeit verstrichen ist, so dass man das Standardnutzungsszenario auch auf früheren Standardkonfigurationen ausführen kann: Ist das Standardnutzungsszenario mit dem aktuellen Release des Softwareprodukts auf einer Konfiguration ausführbar, die vor einer noch festzulegenden Anzahl von Jahren Standardkonfiguration war?

* Somit kann das Softwareprodukt mit einer üblichen Hardwarekonfiguration betrieben werden, die schon n Jahre in Betrieb ist.

2.2 Plattformunabhängigkeit und Portabilität

Kann das Softwareprodukt auf verschiedenen aktuell verbreiteten produktiven Systemumgebungen (Hardware und Software) betrieben werden und können die Nutzenden zwischen diesen ohne Nachteil wechseln?*

Indikatoren:

a) Herstellerangaben (kompatibel mit verschiedenen Betriebssystemen, Laufzeitumgebungen)

b) Standardnutzungsszenario auf verschiedenen aktuell verbreiteten produktiven Systemumgebungen ausführen, dabei die Daten- und Softwareeinstellungsportabilität prüfen

* Wir empfehlen, dieses Kriterium nicht zu den Minimalanforderungen zu zählen, da es grundsätzlich sehr ressourcenschonende Software geben kann, die nur auf einer einzigen Plattform läuft. Dennoch ist Plattformunabhängigkeit positiv zu werten, da sie die Freiheitsgrade des Nutzenden bei der Optimierung der Beschaffung Hardware und Systemsoftware vergrößert.

2.3 Hardwaresuffizienz

Bleibt die Menge an beanspruchter Hardwarekapazität bei Weiterentwicklung des Softwareprodukts auch bei Funktionserweiterungen über die Zeit konstant?

Dieses Kriterium belohnt Hersteller von Softwareprodukten, die keine über die Zeit wachsenden Anforderungen an die Hardware stellt, wodurch die Hardware nicht aufgerüstet oder erneuert werden muss. Es berücksichtigt bewusst nicht, ob die Funktionalität erweitert wurde. Suffizienz ist so zu verstehen, dass die beanspruchten Ressourcen auch dann nicht zunehmen, wenn man mehr Nutzen aus ihnen zieht (was durch Zunahme der Effizienz möglich ist). 

Das angestrebte Ideal ist ein Softwareprodukt, das von Version zu Version zwar höheren Anforderungen der Nutzenden genügt, aber dennoch keine höheren Anforderungen an die Hardware stellt. 

Dieses Kriterium ist erst anwendbar, wenn Produkte schon mehrfach beurteilt wurden, also mindestens ein zurückliegendes Ergebnis schon vorliegt. 

Indikatoren:

a) Intertemporale Vergleiche mit folgenden Ergebnisstufen:

1. „sehr gut“: Die Versionswechsel haben bisher zu einer Verringerung der benötigten Hardwarekapazitäten geführt.

2. „gut“: Die Versionswechsel haben bisher nicht zu einer Erhöhung der benötigten Hardwarekapazitäten geführt.

3. „genügend“: Die Versionswechsel haben bisher zwar zu einer Erhöhung der benötigten Hardwarekapazitäten geführt, diese blieben jedoch im Rahmen des technisch bedingten Effizienzfortschritts, wie er sich in der zeitlichen Abfolge von Referenzsystemen ausdrückt.

4. „ungenügend“: Die Versionswechsel haben dazu geführt, dass die benötigten Hardwarekapazitäten schneller gewachsen sind als die technische Effizienz entsprechend der Abfolge der Referenzsysteme.

Glossar
Begriff Beschreibung
Datenträger-Image Ein Abbild eines Datenträgers oder einer Partition eines Datenträgers, das in einer Datei gespeichert wird.
Energieeffizienz Allgemein die Menge an „nützlicher Arbeit“ dividiert durch den dabei anfallenden Energieaufwand. Im Kontext dieses Dokuments wird „nützliche Arbeit“ als erfolgreiche Ausführung von Standardnutzungsszenarien operationalisiert.
Hardware Gesamtheit der für die Ausführung von Programmen, die Speicherung von Daten oder den Transport von Daten benötigten Sachgüter.
Hardwarekapazität Quantifizierbare Eigenschaft eines Hardwaresystems, die die Grenze seiner Leistungsfähigkeit auf einer gegebenen Leistungsdimension darstellt (z. B. Arbeitsspeicherkapazität, Rechenkapazität, Bandbreite).
Hardwaresystem Abgrenzbare Einheit von Hardware, die definierte Funktionen erbringt.
Indikator Eine empirisch bestimmbare Größe, die Aufschluss über einen nicht direkt messbaren Sachverhalt gibt. Das Skalenniveau der in diesem Dokument vorgeschlagenen Indikatoren ist unterschiedlich. In einigen Fällen wird eine qualitative Ordinalskala angenommen (z.B. „ungenügend”, „genügend”, „gut”, „sehr gut” oder auch nur „erfüllt“, „nicht erfüllt“), um zu vermeiden, durch Verwendung einer Kardinalskala eine nicht vorhandene Präzision vorzuspiegeln.
Nutzungsmuster Abstrahierte Form einer Sequenz von Interaktionen mit einem gegebenen Softwareprodukt.
Nutzungsszenario Beschreibung eines Nutzungsmusters, in der Regel maschinell ausführbar.
Plugin Ein Softwaremodul, das in ein Softwareprodukt eingebunden werden kann, um dessen Funktionalität zu erweitern.
Referenzsystem Ein Hardwaresystem, das hinsichtlich seiner wichtigsten Kapazitäten (z. B. Arbeitsspeicher, Prozessorleistung) während einer festgelegten Zeitperiode (z. B. ein Jahr) als allgemein üblich definiert wird. Das Referenzsystem dient dazu, Indikatoren wie z. B. „minimaler lokaler Arbeitsspeicher“ relativ zu einer Referenzgröße (der aktuell „üblichen“ Arbeitsspeicherkapazität) ausdrücken zu können.
Ressource Im Kontext dieses Dokuments eine natürliche Ressource, insbesondere ein Rohstoff, eine Energieform oder auch die Absorptionsfähigkeit eines Umweltmediums für Emissionen. Zur Abgrenzung gegen technische Ressourcen, insbesondere Hardwareressourcen, werden letztere hier präziser als „Hardwarekapazitäten“ bezeichnet. Da die Beanspruchung von Hardwarekapazitäten stets zur Beanspruchung natürlicher Ressourcen führt, ist diese Abgrenzung (die in letzter Konsequenz auf eine definitorisch schwierige Grenzziehung zwischen Ökosphäre und Technosphäre hinausläuft) hier nicht von entscheidender Bedeutung.
Ressourceneffizienz Allgemein die Menge an „nützlicher Arbeit“ dividiert durch den dabei anfallenden Aufwand an Ressourcen. Im Kontext dieses Dokuments wird „nützliche Arbeit“ als erfolgreiche Ausführung von Standardnutzungsszenarien operationalisiert.
Software Programme und Daten in digitaler Form.
Softwareprodukt Eine abgrenzbare Einheit von Programmen und Daten, die zur Ausführung und Verarbeitung auf einem Hardwaresystem bestimmt sind.
Standardkonfiguration Eine als Referenz definierte Menge von Bedingungen, unter denen ein gegebenes Softwareprodukt betrieben wird. Sie umfasst die am Softwareprodukt während Installation oder Betrieb vorgenommenen Parametereinstellungen, die bereitgestellte Systemsoftware, ggf. weitere zum Betrieb benötigte Softwareprodukte sowie auf Hardwareebene das Referenzsystem.
Standardnutzungsszenario Ein Nutzungsszenario, das zum Testen eines Softwareprodukts verwendet wird und möglichst repräsentativ für den üblichen Anwendungsfall sein soll.

[1] Entkopplung der Software- und Hardware-Erneuerungszyklen bedeutet hohe potenzielle Hardware-Nutzungsdauer. Grundannahme: Jedes Softwareprodukt benötigt eine Systemumgebung als Plattform, auf der es ausgeführt wird. Alle zur Ausführung notwendigen Hard- und Softwarekomponenten des IKT-Systems zählen zu dieser Systemumgebung. Das Softwareprodukt selbst kann Teil der Systemumgebung anderer Softwareprodukte sein.

Beispiel: Ein Webbrowser benötigt ein Betriebssystem, weitere Systemsoftware und Hardware als Systemumgebung und bildet zugleich die Systemumgebung für eine Web-Anwendung. Von einem gegebenen Softwareprodukt aus betrachtet interessiert es, welche Ansprüche seine Erneuerung über die verschiedenen Schichten der Systemumgebung an die unterste Schicht – die Hardware – auslöst.

back-to-top nach oben