einfachheit und nachhaltigkeit in der softwareentwicklung · anmerkungen • dies sind die folien...
TRANSCRIPT
Einfachheit und Nachhaltigkeit in der Softwareentwicklung
Ulrich Deiters
JUG Saxony Day, Freitag 13.9.2019
Anmerkungen• Dies sind die Folien des Vortrags „Einfachheit und Nachhaltigkeit in der
Softwareentwicklung“ auf dem „JUG Saxony Day 2019“ am 13.9.2019
• Die Folien sind nicht selbsterklärend sondern dienen der Unterstützung des Vortrags
• Ich freue mich über Fragen und Feedback
Einfachheit und Nachhaltigkeit in der Softwareentwicklungvon Ulrich Deiters ist lizenziert unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 4.0 International Lizenz.
Mit Menschen Software
für Menschen entwickeln
Ulrich DeitersSoftware Architect @ T-Systems Multimedia Solutions GmbH
https://xing.to/ulid
Uli
@ulid000#Berlin
#Fahrrad #OpenData…
Wieso sind unsere Lösungen eigentlich nur selten so einfach wie wir sie gerne hätten und durch was
handeln wir uns immer wieder trotz neuer Paradigmen und Abstraktionen Komplexität
abseits der Problemlösung ein?
Weshalb sind unsere Softwarelösungen oft nicht so langlebig und verursachen schon nach einiger Zeit hohe Wartungsaufwände oder lassen uns den
Support für ältere Geräte oder Betriebssystemversionen einstellen?
Warum brauchen wir in der Softwareentwicklung eigentlich fast immer die durch die
Weiterentwicklung der Hardware oder andere Verbesserungen gewonnene Effizienz in kürzester
Zeit wieder auf?
https://onezero.medium.com/the-efficiency-delusion-f6a97241e1e1
Ich kann langweilige oder lästige Dinge mit Computern automatisieren.
Die ganze Welt besteht eigentlich aus Effizienzproblemen.
Und dann haben wir mehr Zeit für schöneres oder wichtigeres.
NEUES ist GUT
ALTES oder UNVERSTÄNDLICHES nenne ich LEGACY und dann nichts wie WEG DAMIT
Bequemlichkeit gewinnt
Softwareentwicklung als Effizienzillusion
Einfachheit
"dem Waldschrat sein Haus" by Huhnbeauftragter is licensed under CC BY-SA 2.0
"Maggi NaturPur Frühlingsgemüsesuppe mit Stempel: "Produkt vom Markt genommen"" by foodwatch is licensed under CC BY-SA 2.0 "Maggi NaturPur Frühlingsgemüsesuppe mit Stempel: "Produkt vom Markt genommen"" by foodwatch is licensed under CC BY-SA 2.0
"2nd Gen iPod classic" by kumazo is licensed under CC BY-SA 2.0 "2nd Gen iPod classic" by kumazo is licensed under CC BY-SA 2.0
Reduzieren Der einfachste Weg zur Einfachheit führt über durchdachtes Weglassen
Organisieren Durch Organisation sieht ein System aus vielen Elementen nach weniger aus
Zeit Zeitersparnis fühlt sich wie Einfachheit an
Lernen Wissen macht alles einfacher
John Maeda, Simplicity: Die zehn Gesetze der Einfachheit, 2007
KISS Keep It Simple Stupid (or Sufficient)
YAGNI You Ain’t Gonna Need It
EUFD Enough Up Front Design
Coupling and Cohesion Was gehört zusammen und was nicht
Understandibility Verständlichkeit für mich und andere
Replaceability Eher zum Austausch eigenen Codes als von Frameworks/Technologien
https://www.slideshare.net/cairolali/langlebige-architekturen
Modularisierung
Hierarchisierung
Musterkonsistenz
Chunking
Bildung von Hierarchien
Aufbau von Schemata
Verständnis komplexer Strukturen nach Dr. Carola Lilienthal
https://speakerdeck.com/searls/the-social-coding-contract
Bedarf
Bequemlichkeit
Komplexität
Risiko
Mysterium
Dependency-Graph nach Justin Searls
Zeit
Ges
chw
indi
gkei
t
Simple
Easy
Easy
Simple
Einfach machen vs einfach machen
Eleganz der Lösung
Kom
plex
ität
Genialeinfach
Perfekt aber umständlich
Smart, pfiffig, liebevoll
Good enough
Dumm einfach
Gunter Dueck, Schwarmdumm: So blöd sind wir nur gemeinsam, 2015
„Simplicity is a great virtue but it requires hard work to achieve it and education to appreciate it.
And to make matters worse: complexity sells better.“
- Edsger W. Dijkstra
Nachhaltigkeit
Enkeltauglich
Nachhaltigkeit ist ein Handlungsprinzip zur Ressourcen-Nutzung, bei dem eine dauerhafte Bedürfnisbefriedigung
durch die Bewahrung der natürlichen Regenerationsfähigkeit der beteiligten Systeme (vor allem von Lebewesen und
Ökosystemen) gewährleistet werden soll.
https://de.wikipedia.org/wiki/Nachhaltigkeit
https://sdg.ac/de/
Software/Digitalisierung
Ökologie
Effizienz
Konsistenz
Suffizienz
Gesellschaft Ökonomie
Politik
Felix Sühlmann-Faul, Stephan Rammler, Der blinde Fleck der Digitalisierung, 2018
Wäre das Internet ein Land, hätte es den weltweit dritthöchsten Stromverbrauch nach China und den USA.
http://www.clickclean.org/downloads/ClickClean2016%20HiRes.pdf
Dr Jon Koomey, Koomeys law graph, made by Koomey, CC BY-SA 3.0ourworldindata.org, Moore's Law Transistor Count 1971-2016, CC BY-SA 4.0
Moore’s Law
Koomey’s Law
Die Effizienz der Hardware verdoppelt sich alle 1,5 - 2 Jahre.
Aber wo bleibt sie?
Anstieg der Nutzung oder hungrigere Software?
"Was ist umweltfreundlicher: online shopp" (CC BY-SA 2.0) by Oeko-Institut e.V.
9,5 W
0,2 W
Standby
ca. 1,8 kWh / Jahr
32 %
30 Minuten / Tag
ca. 1,8 kWh / Jahr
16 %
60 W
30 Minuten / Tag
ca. 11 kWh / Jahr
100 %
https://www.smarthomeassistent.de/amazon-echo-stromverbrauch-stromkosten-aller-geraete/
1,7W
Standby
ca. 14,9 kWh / Jahr
168 %
+ +
Rebound Backfire
https://onlinelibrary.wiley.com/doi/pdf/10.1111/jiec.12630
Netflix HD ca. 3 GB/h 0,045 kWh/h - nur Datentransfer
0,015 kWh/GB Datentransfer (extrapoliert von 2015,
nur Datentransfer außerhalb der Wohung, Best Case Annahme)
entspricht 45 W
Bei 2 h / Tag: 32,9 kWh / Jahr
9,5 W
9,5 W
9,5 W
9,5 W
9,5 W
https://help.netflix.com/de/node/87
SD ca. 0,7 GB/h
4K ca. 7 GB/h
https://www.gsmarena.com/apple_iphone_x-8858.php
1 x Laden / Tag Akku: 10,35 Wh Ladegerät mit Wirkungsgrad 73,1% und 0,012 W Standby
5,3 kWh / Jahr
https://images.apple.com/environment/pdf/products/iphone/iPhone_X_PER_sept2017.pdf
9,5 W
90 Minuten / Tag
https://images.apple.com/environment/pdf/products/iphone/iPhone_X_PER_sept2017.pdf
https://www.umweltbundesamt.de/themen/klima-energie/energieversorgung/strom-waermeversorgung-in-zahlen?sprungmarke=Strommix#Strommix
Entspricht der CO2 Emission von 167 kWh des deutschen Strommixes 2018.
https://images.samsung.com/is/content/samsung/p5/uk/aboutsamsung/SAMSUNG_SUSTAINABILITYREPORT_2016_ENG-ENVIRONMENT.pdf
3% < Android 6
http://www.clickclean.org/germany/de/
https://aws.amazon.com/de/about-aws/sustainability/ https://www.sec.gov/Archives/edgar/data/1759509/000119312519059849/d633517ds1.htmhttps://www.businessinsider.de/lyft-ipo-amazon-web-services-2019-3?r=US&IR=T
Lyft zahlt Amazon ca. 0,14 USD pro durchgeführter Fahrt.
http://www.clickclean.org/downloads/ClickClean2016%20HiRes.pdf
AWS hat 2018 erstmal mehr als 50% erneuerbare Energie eingesetzt.Energieeinsparungen durch hohe Auslastung geteilter Ressourcen und effiziente Rechenzentren.
Felix Sühlmann-Faul, Stephan Rammler, Der blinde Fleck der Digitalisierung, 2018
Steffen Lange, Tilman Santorins, Smarte Grüne Welt, 2018
SystemeffizienzSo wenig Energie wie nötig für die Nutzung aber auch die dauerhafte
Bereitstellung verbrauchen.
TechniksuffizienzDie Nutzungsdauer durch
langlebige und reparierbare Hard- und Software erhöhen.
Felix Sühlmann-Faul, Stephan Rammler, Der blinde Fleck der Digitalisierung, 2018
Steffen Lange, Tilman Santorins, Smarte Grüne Welt, 2018
DatensuffizienzNur so viel permanente
Vernetzung und Datenverkehr wie sinnvoll und nötig.
Felix Sühlmann-Faul, Stephan Rammler, Der blinde Fleck der Digitalisierung, 2018
Steffen Lange, Tilman Santorins, Smarte Grüne Welt, 2018
Felix Sühlmann-Faul, Stephan Rammler, Der blinde Fleck der Digitalisierung, 2018
Steffen Lange, Tilman Santorins, Smarte Grüne Welt, 2018
NutzungssuffizienzBewusste unterstützende Nutzung ermöglichen statt Aufmerksamkeit
zu missbrauchen.
https://www.umweltbundesamt.de/publikationen/entwicklung-anwendung-von-bewertungsgrundlagen-fuerhttps://www.umweltbundesamt.de/sites/default/files/medien/1410/publikationen/2018-12-12_texte_105-2018_ressourceneffiziente-software_0.pdf
Entwicklung und Anwendung von Bewertungsgrundlagen für ressourceneffiziente Software unter Berücksichtigung bestehender Methodik
Einfachheit und Nachhaltigkeit
https://maeda.pm/2018/02/10/humanist-technologist/
I do, because I can.
I do, because I care.
technologist
humanist
— John Maeda
Danke!
Übrigens: Bei 900 €/Tag entspricht ein Entwicklertag in Deutschland den Kosten von ca. 3000 kWh
340 W x 365 x 24 h