Was ist „Nachhaltige Software“?

Was ist „Nachhaltige Software“?

Erläuterung: Wie könnte eine Definition für „Nachhaltige Software“ formuliert werden?

Beispiele für mögliche Nachhaltigkeitsaspekte:

  • Energie- und Ressourceneffizienz
  • Wirtschaftlichkeit
  • Sozialverträglichkeit
  • Kultur
  • Information/Bildung
  • Allgemeine Verfügbarkeit

Kriterien für „Nachhaltige Software“?

Was sind mögliche Kriterien für „Nachhaltige Software“?

Erläuterung: Woran kann eine „Nachhaltige Software“ anhand eines mess- und reproduzierbaren Maßstabes erkannt werden?

Beispiele:

  • Energieeffizienz, Energieeinsparung optimierter/komprimierter Datentransport, schnelle Verarbeitung der Daten
  • Datensparsamkeit, geringe und effiziente Inanspruchnahme von Hardware-Ressourcen
  • Langlebigkeit, langer Support, Weiterentwicklungsmöglichkeit
  • Modularität (Anpassbarkeit an individuelle Bedürfnisse, vorhandene Hardware und finanzielle Möglichkeiten)
  • Portabilität auf verschiedene (und zukünftige) Betriebs- und Hardwaresysteme
  • Transparenz, Datenschutz und geringe Ausfälle/Fehlerhäufigkeit
  • Usability, Barrierefreiheit

Systemgrenzen von „Nachhaltiger Software“?

Welches sind die Systemgrenzen von „Nachhaltiger Software“?

Erläuterungen:

  • Wo beginnt und wo endet der Einfluss des Software-Entwicklers / der Software-Entwicklerin?
  • Welche Lebenszyklus-Phasen können bei der Bewertung der Nachhaltigkeit sinnvollerweise berücksichtigt werden?
  • Wo sind die nicht beeinflussbaren Abhängigkeiten z.B. zu Hardware-Plattform, Entwicklungsumgebung und Nutzerverhalten?
  • Welche Umweltwirkungen können einbezogen werden (z.B. auch Hardware, technischen Infrastruktur, Datenübertragung)?
  • Wie kann das Software-Produkt eindeutig gefasst werden (z.B. Software Versionsnummer, Supportzeitraum, Bereitstellung der Software-Dienstleistung)?

Standards und Methoden

Welche Standards und Methoden für „Nachhaltige“ bzw. „Green Software“ gibt es bereits?

Beispiele:

  • Existierende Qualitätsstandards / Qualitätsindikatoren (z.B. Algorithmen-Verifizierung)
  • Gute Software-Engineering Praxis
  • Optimierungstools für Bandbreiten-, CPU- und Energieinanspruchnahme,
  • Bechmarks für Software
  • Einheitliche Rechenregeln für CO2-Fußabdruck von Software
  • Indikatoren für Ressourcen-Inanspruchnahme von Software (vergleichbar SPEC_power-Benchmarks für Energieverbrauch von Hardware-Servern)