SlideShare ist ein Scribd-Unternehmen logo
1 von 53
Downloaden Sie, um offline zu lesen
Built To Last
Nachhaltige Software-Entwicklung
© Materna GmbH 2016 www.materna.de
Frank Pientka, Dipl.-Informatiker
frank.pientka@materna.de
+49 (231) 5599 8854
+49 (1570) 1128854
www.materna.de
2
Dipl.-Informatiker (TH Karlsruhe)
Principal Software Architect in Dortmund
iSAQB-Gründungsmitglied
heise.de/developer/Federlesen-Kolumne
Über 20 Jahre IT-Erfahrung
Veröffentlichungen und Vorträge
Wer ist Frank Pientka?
© Materna GmbH 2016 www.materna.de
Wer wir sind.
 Gründung: 1980
Mitarbeiter: 1.500
Umsatz 2014: 192 Mio. €
 Inhabergeführtes
Familienunternehmen
der ITK-Branche
 Full-Service-Dienstleister im
Premium-Segment
 Zielgruppe: IT-Organisationen
und Fachabteilungen in
Privatwirtschaft und Behörden
Dortmund
Düsseldorf
Bad Vilbel
Stuttgart
Erlangen
München
Dresden
Bremen
Hamburg
Berlin
Wolfsburg
FI
SE
DK
PL
SK
IT
CH AT
UK
NL
DE
CZ
Heidelberg
3
© Materna GmbH 2016 www.materna.de
Built to last: Inhalt
 Was ist Nachhaltigkeit?
 Warum nachhaltige Software? Komplexität steigt mit der Größe
 Kriterien und Prinzipien für nachhaltige Software
 Der Weg zu einer API-Ökonomie – den Schatz heben
 API-Design-Beispiele
 Was muss sich ändern? Architekturerosion stoppen Ressourceneffizienz steigern
 Fazit
© Materna GmbH 2016 www.materna.de
Page 5
Gebaut für die Ewigkeit: Was ist eine nachhaltige Architektur?
Die meiste Zeit geht dadurch verloren, dass man nicht zu Ende denkt.
Alfred Herrhausen
Einfach
Dauerhaft
Erweiterbar
Selbsterklärend
Einfach
Dauerhaft
Erweiterbar
Selbsterklärend
© Materna GmbH 2016 www.materna.de
Planen oder evolutionär entwickeln – Alt trifft Neu
6
© Materna GmbH 2016 www.materna.de
Schema der nachhaltigen Entwicklung seit über 300 Jahren
Jungwuchs Dickung Stangenholz Altholz
Informatik Praxis
8
© Materna GmbH 2016 www.materna.de
Digitale Nachhaltigkeit Aspekte.
“development that meets the needs of the present
without compromising the ability of future generations”
(Brundtland UN-Report 1987)
© Materna GmbH 2016 www.materna.de
Software Maintenance SWEBOK Guide V3.0
11
Definitions and
Technology
Nature of
Maintenance
Need for
Maintenance
Majority of
Maintenance Costs
Evolution of
Software
Categories of
Maintenance
Technical Issues
Management Issues
Maintenance Costs
Estimation
Maintenance
Measurement
Maintenance
Processes
Maintenance
Activities
Program
Comprehension
Reengineering
Reverse Engineering
Migration
Retirement
Software
Maintenance
Fundamentals
Key issues in
Software
Maintenance
Techniques
Maintenance
Maintenance
Process
Sotware
Maintenance Tools
Software Maintenance
© Materna GmbH 2016 www.materna.de
ISO 25010 für Softwarequalität
12
Wartbarkeit/
Änderbarkeit
Analysier-
barkeit
Modifizier-
barkeit
Testbarkeit
Zuverlässigkeit
Fehler
toleranz
Stabilität
Übertragbarkeit
Inter
operabilität
Anpass
barkeit
Austausch-
barkeit
Benutzbarkeit Effizienz Funktionalität
Wartbarkeit/
Änderbarkeit
Zuverlässigkeit Übertragbarkeit
Privatsphäre
Vertrautheit
Informationelle Selbstbestimmung
© Materna GmbH 2016 www.materna.de
IEEE Standard Glossary of
Software Engineering
Terminology 610.12-1990
IEEE Standard Glossary of
Software Engineering
Terminology 610.12-1990
13
“Software engineering is the application of
a systematic, disciplined, quantifiable approach to the development,
operation, and maintenance of software”
© Materna GmbH 2016 www.materna.de
http://en.wikipedia.org/wiki/Long-term_support
15
Long-term support (LTS) is a product lifecycle management policy for computer software,
especially open-source software, that applies the tenets of reliability engineering to the
software development process and software release life cycle. Long-term support extends
the period of software maintenance; it also alters the type and frequency of software
updates (patches) to reduce the risk, expense, and disruption of software deployment
© Materna GmbH 2016 www.materna.de
http://wiki.eclipse.org/LTS/LTS_Ready
16
A build that builds on Eclipse Foundation hardware and
Can be cloned/checked out with one step
Is documented
Is version controlled
Is automated
Is deterministic given the same source code and third party libraries
Is easily reproducible on suitably-configured systems
Can refer to compilers and other tools from a configurable location
Capable of building without an active Internet connection
Capable of pulling dependencies from a known controlled source
Adheres to Eclipse IP policies
Bug Tracking:
no code change can be released without proper bugzilla entry
Release Management: part of the annual simultaneous release
Supply & Demand:
At least two LTS IWG member companies offering support
© Materna GmbH 2016 www.materna.de
Die Entwicklung der IT
17
Business
Support
chaotisch
Host
kompliziert
1960 1970 1980 1990 2000 2010 2020
Midrange
PC
C/S
WWW
Cloud
Mobile
M2M
IoT
SW
Krise
komplex
© Materna GmbH 2016 www.materna.de
Was wenn Anbieter, Produkte, Partner … verschwinden?
18
© Materna GmbH 2016 www.materna.de
How Buildings Learn: What Happens After They’re Built (Stewart Brand 1994)
19
© Materna GmbH 2016 www.materna.de
Alles ändert sich - Lebenszyklen UI, Anwendung, Daten
20
GUI
Frameworks
Business
Logic
Common
Libs
Data
© Materna GmbH 2016 www.materna.de 22
…the most boring technology you can find in use for years and years…
In Defense of Boring, Grady Booch, May/June 2013, IEEE Software
Altbewährt und trotzdem gut
© Materna GmbH 2016 www.materna.de
Scalability: So Much More Than Just Technology
Vicious and Virtuous Technology Cycles
(from “The Art of Scalability”)
© Materna GmbH 2016 www.materna.de
2010
2003
1996
1989
1982
1975
1968
Systemevolution: Wie entwickelt sich Software über die Zeit?
24http://users.jyu.fi/~koskinen/smcosts.htm
“If I had more time
I would have written less code” 
© Materna GmbH 2016 www.materna.de
5 – 10 Millionen Codezeilen
25
© Materna GmbH 2016 www.materna.de
25 Millionen Codezeilen: Office&Windows
26
Too big to scale !
© Materna GmbH 2016 www.materna.de
Linux Kernel - Wie entwickelt sich Software über die Zeit?
© Materna GmbH 2016 www.materna.de
Design Patterns seit 20 Jahren
28
© Materna GmbH 2016 www.materna.de
JUnit Design (1998, Kent Beck, Erich Gamma): Sauberes Design
29
http://junit.sourceforge.net/doc/cookstour/cookstour.htm
Test Infected: Programmers Love Writing Tests, Java Report, July 1998, Volume 3, Number 7
4 Klassen
6 Muster !
© Materna GmbH 2016 www.materna.de
JUnit 3.7 (2001) – wie alles begann
30
http://edmundkirwan.com/general/junit.html
© Materna GmbH 2016 www.materna.de
JUnit 4.0 (2006) – entwickelt sich weiter
31
http://edmundkirwan.com/general/junit.html
© Materna GmbH 2016 www.materna.de
JUnit 4.11 (2012) – und weiter 4.12 (2014) 5 Lambda ???
32
© Materna GmbH 2016 www.materna.de
GOF ist keine …
33
Magie oder Ersatz für gutes API-Design?
GoF korrigiert Sprachschwäche!
Bsp.: Einige behavioral patterns
wurden durch Lambdas in Java obsolet
© Materna GmbH 2016 www.materna.de
Qualitätszenarien für nachhaltige Architektur entwickeln (Heiko Koziolek)
36
Änderungs-/Wachstumsszenarien entwerfen  Entscheidungen validieren, Alternativen betrachten
Kompromisse festhalten
Risikomangement
© Materna GmbH 2016 www.materna.de
Sustainability Guidelines for Long-Living Software Systems
37
Requirements
Management,
Risk,
Analysis,
Tracing, ...
Architecture
Styles,
Tactics, ...
Design
Patterns,
Bad Smells,
Refactoring,
Metrics, ...Implementation
Code Doc., Code
styles, Code
generation, ...
Testing
Testbeds,
Regression
testing, ...
Maintenance
Reengineering,
Arch.
compliance, ..
Phase independent:
Documentation,
Knowledge,
Management, Process,
Improvement,
Organizational
Structures, ...
Quelle: Heiko Koziolek
© Materna GmbH 2016 www.materna.de
Überwachen wichtiger Metriken für nachhaltige Architektur (Heiko Koziolek)
38
© Materna GmbH 2016 www.materna.de
Nachhaltigkeit bei Architekturstilen – best of four
Schichten Ereignisorientiert Microkernel Microservices
Wartbarkeit
Erweiterbarkeit
Anpassbarkeit
Austauschbarkeit
Software Architecture Patterns,
Mark Richards, 2015, O’Reilly
© Materna GmbH 2016 www.materna.de
Wann lohnt sich was? (Martin Fowler: start with a monolith)
Complexity
Project size over time
Monolith
Microservices
Overhead
Modular boundaries
Reduce complexity
Natural threashold
© Materna GmbH 2016 www.materna.de
Betrieb
Weniger Spezialisten, mehr Generalisten
47
Logik
Daten
GUI
Betrieb
Logik
Daten
GUI
Komponente N
Betrieb
Logik
Daten
GUI
Komponente1
Technologie
Fachlichkeit
Soziales
Wissen
Kommunikation
Soziales
Wissen
Kommunikation
© Materna GmbH 2016 www.materna.de
Fachübergreifende Teams
49
© Materna GmbH 2016 www.materna.de
Das agile Manifest: 8-tes Prinzip
Agile Prozesse fördern
nachhaltige Entwicklung.
Die Auftraggeber, Entwickler
und Benutzer sollten ein
gleichmäßiges Tempo auf
unbegrenzte Zeit halten können.
© Materna GmbH 2016 www.materna.de
Architektur-Entwickler-Tandem: wechselnde Position, immer im Tritt
51
Ziel & Weg im Auge
„Two-Person-Teams are magical“ (Frederick P. Brooks Jr.)
© Materna GmbH 2016 www.materna.de
© Materna GmbH 2016 www.materna.de
Risikopotential APIs
53
 Schnittstelle
 Protokoll
 Implementierung
 Infrastruktur
 Betrieb
 Überwachung
 Änderung
 Hohe Kosten, Risiken
 Besonders Cloud, IoT
© Materna GmbH 2016 www.materna.de
Wie Schnittstelle designen? – das OSI-Schichtenmodell
54
TCP Robustness Principle
(RFC793)
Jon Postel (1981)
"be conservative in what
you do, be liberal in what
you accept from others"
© Materna GmbH 2016 www.materna.de
„Ein guter Zaun schafft gute Nachbarn“ Robert Frost
„Ein guter Vertrag schafft gute Nachbarn“
© Materna GmbH 2016 www.materna.de
http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven
REST is software design on the scale of decades:
every detail is intended to promote
software longevity
and independent evolution.
Many of the constraints are
directly opposed to
short-term efficiency.
October 2008
© Materna GmbH 2016 www.materna.de
7 Arten der Kompatibilität
59
1. Abwärtskompatibilität
2. Aufwärtskompatibilität
3. Binärkompatibilität
4. Quelltextkompatibilität
5. Verhaltenskompatibilität
6. Fehlerkompatibilität
7. Inkompatibilität
© Materna GmbH 2016 www.materna.de
http://www.oracle.com/technetwork/java/javase/8-compatibility-guide-2156366.html
© Materna GmbH 2016 www.materna.de
Wiederverwendbarkeit ist nicht einfach
63
„Reuse is something that is far easier to say than to do.
Doing it requires both good design and very good documentation.“
David Parnas (1964)
© Materna GmbH 2016 www.materna.de
Langlebigkeit als Softwarequalität umfaßt
64
Prozess Produkte Infrastruktur Personen Kultur
© Materna GmbH 2016 www.materna.de 65
Fazit: Prinzipien für nachhaltige Software
 Simplify your complexity – Reduce your dependencies
 Architekturentscheidungen dokumentieren
 Lebenszyklus der Komponenten berücksichtigen
 Ausgewogene Balance aller wichtigen Qualitätsaspekte
 Regelmäßig überprüfen und anpassen
© Materna GmbH 2016 www.materna.de 66
Nutzen einer nachhaltigen Softwarearchitektur
 Bereitstellung der geforderten Produktqualitäten
 Bessere Anpassbarkeit, Erweiterbarkeit
 Bessere Planbarkeit, Budgetreue
 Geringere Wartungskosten
 Investitionssicherheit
 Langlebigkeit ist ein ethischer Wert
© Materna GmbH 2016 www.materna.de
Nachhaltige Softwareentwicklung:
67
ein komplexes, empfindliches
Ökosystem
mit vielen Beteiligten im Einklang
Ökologie
Soziales
Ökonomie
© Materna GmbH 2016 www.materna.de
Ökologie
Reparatur-vor
Wiederverwendung
Ökologie
Reparatur-vor
Wiederverwendung
Ökonomie
API
Prozess
Ökonomie
API
Prozess
Qualität
Robust
Dauerhaft
Erweiterbar
Qualität
Robust
Dauerhaft
Erweiterbar
Soziales
Wissenskultur
Fehlerkultur
Soziales
Wissenskultur
Fehlerkultur
Gebaut für die
Ewigkeit
Gebaut für den
Wandel
Gebaut für den
Wandel
© Materna GmbH 2016 www.materna.de
Weitere Infos:
69
 Measuring Architecture Sustainability, Heiko Koziolek, et al, IEEE Software, 2013, vol. 30
 Software Engineering with an Agile Development Framework, WikiBook, 2012
 Free and Open Source Software Technology for Sustainable Development: Sulayman Sowe, 2012
 Sustainable Software Development: An Agile Perspective, Kevin Tate, 2005
 Sustainable Software Development With Clean C++, Stephan Roth, leanpub, 2014
 Rüdiger Zarnekow, Fabian Löser, Nachhaltiges IT-Management, dpunkt, 2015
 Frank Pientka, Gebaut für den Wandel, OBJEKTSpektrum 02/2015
© Materna GmbH 2016 www.materna.de
Vernetzt. Kontakt.
Materna GmbH
Frank Pientka
Voßkuhle 37
44141 Dortmund
+49 231 5599-8854
Frank.Pientka@materna.de

Weitere ähnliche Inhalte

Andere mochten auch

Presentation Erfolgreiche Software mit großartiger Dokumentation - Asciidoctor
Presentation Erfolgreiche Software mit großartiger Dokumentation - AsciidoctorPresentation Erfolgreiche Software mit großartiger Dokumentation - Asciidoctor
Presentation Erfolgreiche Software mit großartiger Dokumentation - AsciidoctorRobert Panzer
 
Robust and Scalable Concurrent Programming: Lesson from the Trenches
Robust and Scalable Concurrent Programming: Lesson from the TrenchesRobust and Scalable Concurrent Programming: Lesson from the Trenches
Robust and Scalable Concurrent Programming: Lesson from the TrenchesSangjin Lee
 
Low latency in java 8 by Peter Lawrey
Low latency in java 8 by Peter Lawrey Low latency in java 8 by Peter Lawrey
Low latency in java 8 by Peter Lawrey J On The Beach
 
IBM Java PackedObjects
IBM Java PackedObjectsIBM Java PackedObjects
IBM Java PackedObjectsMarcel Mitran
 
Was jeder Java-Entwickler über Strings wissen sollte
Was jeder Java-Entwickler über Strings wissen sollteWas jeder Java-Entwickler über Strings wissen sollte
Was jeder Java-Entwickler über Strings wissen sollteberndmueller
 
(GAM404) Hunting Monsters in a Low-Latency Multiplayer Game on EC2
(GAM404) Hunting Monsters in a Low-Latency Multiplayer Game on EC2(GAM404) Hunting Monsters in a Low-Latency Multiplayer Game on EC2
(GAM404) Hunting Monsters in a Low-Latency Multiplayer Game on EC2Amazon Web Services
 
What are the Cool Kids Doing With Continuous Delivery?
What are the Cool Kids Doing With Continuous Delivery?What are the Cool Kids Doing With Continuous Delivery?
What are the Cool Kids Doing With Continuous Delivery?CA Technologies
 
A Post-Apocalyptic sun.misc.Unsafe World
A Post-Apocalyptic sun.misc.Unsafe WorldA Post-Apocalyptic sun.misc.Unsafe World
A Post-Apocalyptic sun.misc.Unsafe WorldChristoph Engelbert
 
Pitfalls of migrating projects to JDK 9
Pitfalls of migrating projects to JDK 9Pitfalls of migrating projects to JDK 9
Pitfalls of migrating projects to JDK 9Pavel Bucek
 
Technische Schulden in Architekturen erkennen und beseitigen
Technische Schulden in Architekturen erkennen und beseitigenTechnische Schulden in Architekturen erkennen und beseitigen
Technische Schulden in Architekturen erkennen und beseitigenCarola Lilienthal
 
Low latency Java apps
Low latency Java appsLow latency Java apps
Low latency Java appsSimon Ritter
 
Workshop: Introduction to the Disruptor
Workshop: Introduction to the DisruptorWorkshop: Introduction to the Disruptor
Workshop: Introduction to the DisruptorTrisha Gee
 
Java9 and the impact on Maven Projects (JFall 2016)
Java9 and the impact on Maven Projects (JFall 2016)Java9 and the impact on Maven Projects (JFall 2016)
Java9 and the impact on Maven Projects (JFall 2016)Robert Scholte
 
PresentacionInternet
PresentacionInternetPresentacionInternet
PresentacionInternetRaquelMunch
 
Estatutos CAICO
Estatutos CAICOEstatutos CAICO
Estatutos CAICOcaico14
 

Andere mochten auch (20)

Die Java Plattform Strategie
Die Java Plattform StrategieDie Java Plattform Strategie
Die Java Plattform Strategie
 
Presentation Erfolgreiche Software mit großartiger Dokumentation - Asciidoctor
Presentation Erfolgreiche Software mit großartiger Dokumentation - AsciidoctorPresentation Erfolgreiche Software mit großartiger Dokumentation - Asciidoctor
Presentation Erfolgreiche Software mit großartiger Dokumentation - Asciidoctor
 
Robust and Scalable Concurrent Programming: Lesson from the Trenches
Robust and Scalable Concurrent Programming: Lesson from the TrenchesRobust and Scalable Concurrent Programming: Lesson from the Trenches
Robust and Scalable Concurrent Programming: Lesson from the Trenches
 
Low latency in java 8 by Peter Lawrey
Low latency in java 8 by Peter Lawrey Low latency in java 8 by Peter Lawrey
Low latency in java 8 by Peter Lawrey
 
IBM Java PackedObjects
IBM Java PackedObjectsIBM Java PackedObjects
IBM Java PackedObjects
 
Was jeder Java-Entwickler über Strings wissen sollte
Was jeder Java-Entwickler über Strings wissen sollteWas jeder Java-Entwickler über Strings wissen sollte
Was jeder Java-Entwickler über Strings wissen sollte
 
(GAM404) Hunting Monsters in a Low-Latency Multiplayer Game on EC2
(GAM404) Hunting Monsters in a Low-Latency Multiplayer Game on EC2(GAM404) Hunting Monsters in a Low-Latency Multiplayer Game on EC2
(GAM404) Hunting Monsters in a Low-Latency Multiplayer Game on EC2
 
What are the Cool Kids Doing With Continuous Delivery?
What are the Cool Kids Doing With Continuous Delivery?What are the Cool Kids Doing With Continuous Delivery?
What are the Cool Kids Doing With Continuous Delivery?
 
A Post-Apocalyptic sun.misc.Unsafe World
A Post-Apocalyptic sun.misc.Unsafe WorldA Post-Apocalyptic sun.misc.Unsafe World
A Post-Apocalyptic sun.misc.Unsafe World
 
Pitfalls of migrating projects to JDK 9
Pitfalls of migrating projects to JDK 9Pitfalls of migrating projects to JDK 9
Pitfalls of migrating projects to JDK 9
 
Technische Schulden in Architekturen erkennen und beseitigen
Technische Schulden in Architekturen erkennen und beseitigenTechnische Schulden in Architekturen erkennen und beseitigen
Technische Schulden in Architekturen erkennen und beseitigen
 
Low latency Java apps
Low latency Java appsLow latency Java apps
Low latency Java apps
 
Workshop: Introduction to the Disruptor
Workshop: Introduction to the DisruptorWorkshop: Introduction to the Disruptor
Workshop: Introduction to the Disruptor
 
Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as Code
 
Java9 and the impact on Maven Projects (JFall 2016)
Java9 and the impact on Maven Projects (JFall 2016)Java9 and the impact on Maven Projects (JFall 2016)
Java9 and the impact on Maven Projects (JFall 2016)
 
Prácticas educación y sociedad
Prácticas educación y sociedadPrácticas educación y sociedad
Prácticas educación y sociedad
 
PresentacionInternet
PresentacionInternetPresentacionInternet
PresentacionInternet
 
Estatutos CAICO
Estatutos CAICOEstatutos CAICO
Estatutos CAICO
 
2014s2 quadro geral de ofertas 01 07
2014s2   quadro geral de ofertas 01 072014s2   quadro geral de ofertas 01 07
2014s2 quadro geral de ofertas 01 07
 
Twitter
TwitterTwitter
Twitter
 

Ähnlich wie Built To Last - Nachhaltige Software-Entwicklung

Software Defined Everything 2016 - Post Event Report
Software Defined Everything 2016 - Post Event ReportSoftware Defined Everything 2016 - Post Event Report
Software Defined Everything 2016 - Post Event ReportRamona Kohrs
 
abtis ermöglicht mit Teams-Einführung reibungslose Zusammenarbeit auch im Hom...
abtis ermöglicht mit Teams-Einführung reibungslose Zusammenarbeit auch im Hom...abtis ermöglicht mit Teams-Einführung reibungslose Zusammenarbeit auch im Hom...
abtis ermöglicht mit Teams-Einführung reibungslose Zusammenarbeit auch im Hom...bhoeck
 
TDMessage 10-2014 German
TDMessage 10-2014 GermanTDMessage 10-2014 German
TDMessage 10-2014 GermanTDM Systems
 
Progea - General brochure - Deutsch
Progea - General brochure - DeutschProgea - General brochure - Deutsch
Progea - General brochure - DeutschPROGEA s.r.l.
 
Softwarequalität – Schlagwort oder Realität ?
Softwarequalität – Schlagwort oder Realität ?Softwarequalität – Schlagwort oder Realität ?
Softwarequalität – Schlagwort oder Realität ?Ernest Wallmueller
 
Geheimnis Open Source Software (2 von 4) - Motivation, das eigene Unternehmen...
Geheimnis Open Source Software (2 von 4) - Motivation, das eigene Unternehmen...Geheimnis Open Source Software (2 von 4) - Motivation, das eigene Unternehmen...
Geheimnis Open Source Software (2 von 4) - Motivation, das eigene Unternehmen...metas GmbH
 
Agilität und Microservices als Chance für Modernisierung?
Agilität und Microservices als Chance für Modernisierung?Agilität und Microservices als Chance für Modernisierung?
Agilität und Microservices als Chance für Modernisierung?enpit GmbH & Co. KG
 
DNUG 36 2012_Konferenzbroschuere
DNUG 36 2012_KonferenzbroschuereDNUG 36 2012_Konferenzbroschuere
DNUG 36 2012_KonferenzbroschuereFriedel Jonker
 
IT-Kosten sparen mittels Open Source Software: Leeres Versprechen oder realis...
IT-Kosten sparen mittels Open Source Software: Leeres Versprechen oder realis...IT-Kosten sparen mittels Open Source Software: Leeres Versprechen oder realis...
IT-Kosten sparen mittels Open Source Software: Leeres Versprechen oder realis...Matthias Stürmer
 
Progea - Company Profile - Deutsch
Progea - Company Profile - DeutschProgea - Company Profile - Deutsch
Progea - Company Profile - DeutschPROGEA s.r.l.
 
TDMessage 11-2016 Deutsch
TDMessage 11-2016 DeutschTDMessage 11-2016 Deutsch
TDMessage 11-2016 DeutschTDM Systems
 
DACHNUG50 MX Digitalisierung - DACHNUG Vortrag.pdf
DACHNUG50 MX Digitalisierung - DACHNUG Vortrag.pdfDACHNUG50 MX Digitalisierung - DACHNUG Vortrag.pdf
DACHNUG50 MX Digitalisierung - DACHNUG Vortrag.pdfDNUG e.V.
 
Der erste Schritt – idealtypische Wege in die Cloud und in der Cloud für Unte...
Der erste Schritt – idealtypische Wege in die Cloud und in der Cloud für Unte...Der erste Schritt – idealtypische Wege in die Cloud und in der Cloud für Unte...
Der erste Schritt – idealtypische Wege in die Cloud und in der Cloud für Unte...AWS Germany
 
Kritische Erfolgsfaktoren für die Verknüpfung von BPM und Enterprise Architek...
Kritische Erfolgsfaktoren für die Verknüpfung von BPM und Enterprise Architek...Kritische Erfolgsfaktoren für die Verknüpfung von BPM und Enterprise Architek...
Kritische Erfolgsfaktoren für die Verknüpfung von BPM und Enterprise Architek...LeanIX GmbH
 
Net at Work macht Ihr Unternehmen Homeoffice-ready
Net at Work macht Ihr Unternehmen Homeoffice-readyNet at Work macht Ihr Unternehmen Homeoffice-ready
Net at Work macht Ihr Unternehmen Homeoffice-readybhoeck
 
Arbeitsplätze in der Cloud stecken beim Mittelstand noch in den Kinderschuhen
Arbeitsplätze in der Cloud stecken beim Mittelstand noch in den KinderschuhenArbeitsplätze in der Cloud stecken beim Mittelstand noch in den Kinderschuhen
Arbeitsplätze in der Cloud stecken beim Mittelstand noch in den KinderschuhenMatrix42PR
 

Ähnlich wie Built To Last - Nachhaltige Software-Entwicklung (20)

Software Defined Everything 2016 - Post Event Report
Software Defined Everything 2016 - Post Event ReportSoftware Defined Everything 2016 - Post Event Report
Software Defined Everything 2016 - Post Event Report
 
abtis ermöglicht mit Teams-Einführung reibungslose Zusammenarbeit auch im Hom...
abtis ermöglicht mit Teams-Einführung reibungslose Zusammenarbeit auch im Hom...abtis ermöglicht mit Teams-Einführung reibungslose Zusammenarbeit auch im Hom...
abtis ermöglicht mit Teams-Einführung reibungslose Zusammenarbeit auch im Hom...
 
TDMessage 10-2014 German
TDMessage 10-2014 GermanTDMessage 10-2014 German
TDMessage 10-2014 German
 
Karl Steiner (COMPRISE GmbH)
Karl Steiner (COMPRISE GmbH)Karl Steiner (COMPRISE GmbH)
Karl Steiner (COMPRISE GmbH)
 
Progea - General brochure - Deutsch
Progea - General brochure - DeutschProgea - General brochure - Deutsch
Progea - General brochure - Deutsch
 
Softwarequalität – Schlagwort oder Realität ?
Softwarequalität – Schlagwort oder Realität ?Softwarequalität – Schlagwort oder Realität ?
Softwarequalität – Schlagwort oder Realität ?
 
Geheimnis Open Source Software (2 von 4) - Motivation, das eigene Unternehmen...
Geheimnis Open Source Software (2 von 4) - Motivation, das eigene Unternehmen...Geheimnis Open Source Software (2 von 4) - Motivation, das eigene Unternehmen...
Geheimnis Open Source Software (2 von 4) - Motivation, das eigene Unternehmen...
 
Agilität und Microservices als Chance für Modernisierung?
Agilität und Microservices als Chance für Modernisierung?Agilität und Microservices als Chance für Modernisierung?
Agilität und Microservices als Chance für Modernisierung?
 
Die Megatrends in der Softwarebranche
Die Megatrends in der SoftwarebrancheDie Megatrends in der Softwarebranche
Die Megatrends in der Softwarebranche
 
DNUG 36 2012_Konferenzbroschuere
DNUG 36 2012_KonferenzbroschuereDNUG 36 2012_Konferenzbroschuere
DNUG 36 2012_Konferenzbroschuere
 
IT-Kosten sparen mittels Open Source Software: Leeres Versprechen oder realis...
IT-Kosten sparen mittels Open Source Software: Leeres Versprechen oder realis...IT-Kosten sparen mittels Open Source Software: Leeres Versprechen oder realis...
IT-Kosten sparen mittels Open Source Software: Leeres Versprechen oder realis...
 
Progea - Company Profile - Deutsch
Progea - Company Profile - DeutschProgea - Company Profile - Deutsch
Progea - Company Profile - Deutsch
 
TDMessage 11-2016 Deutsch
TDMessage 11-2016 DeutschTDMessage 11-2016 Deutsch
TDMessage 11-2016 Deutsch
 
Software-Cluster
Software-ClusterSoftware-Cluster
Software-Cluster
 
Global de
Global deGlobal de
Global de
 
DACHNUG50 MX Digitalisierung - DACHNUG Vortrag.pdf
DACHNUG50 MX Digitalisierung - DACHNUG Vortrag.pdfDACHNUG50 MX Digitalisierung - DACHNUG Vortrag.pdf
DACHNUG50 MX Digitalisierung - DACHNUG Vortrag.pdf
 
Der erste Schritt – idealtypische Wege in die Cloud und in der Cloud für Unte...
Der erste Schritt – idealtypische Wege in die Cloud und in der Cloud für Unte...Der erste Schritt – idealtypische Wege in die Cloud und in der Cloud für Unte...
Der erste Schritt – idealtypische Wege in die Cloud und in der Cloud für Unte...
 
Kritische Erfolgsfaktoren für die Verknüpfung von BPM und Enterprise Architek...
Kritische Erfolgsfaktoren für die Verknüpfung von BPM und Enterprise Architek...Kritische Erfolgsfaktoren für die Verknüpfung von BPM und Enterprise Architek...
Kritische Erfolgsfaktoren für die Verknüpfung von BPM und Enterprise Architek...
 
Net at Work macht Ihr Unternehmen Homeoffice-ready
Net at Work macht Ihr Unternehmen Homeoffice-readyNet at Work macht Ihr Unternehmen Homeoffice-ready
Net at Work macht Ihr Unternehmen Homeoffice-ready
 
Arbeitsplätze in der Cloud stecken beim Mittelstand noch in den Kinderschuhen
Arbeitsplätze in der Cloud stecken beim Mittelstand noch in den KinderschuhenArbeitsplätze in der Cloud stecken beim Mittelstand noch in den Kinderschuhen
Arbeitsplätze in der Cloud stecken beim Mittelstand noch in den Kinderschuhen
 

Mehr von Java Usergroup Berlin-Brandenburg

Die fabelhafte Welt Java(Script)-getriebener Enterprise-WebApps (mit Ext JS)
Die fabelhafte Welt Java(Script)-getriebener Enterprise-WebApps (mit Ext JS)Die fabelhafte Welt Java(Script)-getriebener Enterprise-WebApps (mit Ext JS)
Die fabelhafte Welt Java(Script)-getriebener Enterprise-WebApps (mit Ext JS)Java Usergroup Berlin-Brandenburg
 
Jbossas7alsplattformmodernerenterprise anwendungen-130604114410-phpapp02
Jbossas7alsplattformmodernerenterprise anwendungen-130604114410-phpapp02Jbossas7alsplattformmodernerenterprise anwendungen-130604114410-phpapp02
Jbossas7alsplattformmodernerenterprise anwendungen-130604114410-phpapp02Java Usergroup Berlin-Brandenburg
 

Mehr von Java Usergroup Berlin-Brandenburg (17)

Microbenchmarks - Wer nicht weiß, was er misst misst Mist
Microbenchmarks - Wer nicht weiß, was er misst misst MistMicrobenchmarks - Wer nicht weiß, was er misst misst Mist
Microbenchmarks - Wer nicht weiß, was er misst misst Mist
 
Collections.compare(() -> JDK; Apache; Eclipse, Guava...});
Collections.compare(() -> JDK; Apache; Eclipse, Guava...});Collections.compare(() -> JDK; Apache; Eclipse, Guava...});
Collections.compare(() -> JDK; Apache; Eclipse, Guava...});
 
Feature Toggles On Steroids
Feature Toggles On SteroidsFeature Toggles On Steroids
Feature Toggles On Steroids
 
Resilience mit Hystrix
Resilience mit HystrixResilience mit Hystrix
Resilience mit Hystrix
 
Analysis of software systems using jQAssistant and Neo4j
Analysis of software systems using jQAssistant and Neo4jAnalysis of software systems using jQAssistant and Neo4j
Analysis of software systems using jQAssistant and Neo4j
 
Die fabelhafte Welt Java(Script)-getriebener Enterprise-WebApps (mit Ext JS)
Die fabelhafte Welt Java(Script)-getriebener Enterprise-WebApps (mit Ext JS)Die fabelhafte Welt Java(Script)-getriebener Enterprise-WebApps (mit Ext JS)
Die fabelhafte Welt Java(Script)-getriebener Enterprise-WebApps (mit Ext JS)
 
Selbstvorstellung Steria Mummert Consulting
Selbstvorstellung Steria Mummert ConsultingSelbstvorstellung Steria Mummert Consulting
Selbstvorstellung Steria Mummert Consulting
 
Graphdatenbanken mit Neo4j
Graphdatenbanken mit Neo4jGraphdatenbanken mit Neo4j
Graphdatenbanken mit Neo4j
 
Jbosseapclustering 130605100557-phpapp02
Jbosseapclustering 130605100557-phpapp02Jbosseapclustering 130605100557-phpapp02
Jbosseapclustering 130605100557-phpapp02
 
Jbossas7alsplattformmodernerenterprise anwendungen-130604114410-phpapp02
Jbossas7alsplattformmodernerenterprise anwendungen-130604114410-phpapp02Jbossas7alsplattformmodernerenterprise anwendungen-130604114410-phpapp02
Jbossas7alsplattformmodernerenterprise anwendungen-130604114410-phpapp02
 
How long can you afford to Stop The World?
How long can you afford to Stop The World?How long can you afford to Stop The World?
How long can you afford to Stop The World?
 
JavaOne Update zur Java Plattform
JavaOne Update zur Java PlattformJavaOne Update zur Java Plattform
JavaOne Update zur Java Plattform
 
Java EE 7 - Overview and Status
Java EE 7  - Overview and StatusJava EE 7  - Overview and Status
Java EE 7 - Overview and Status
 
Restructuring
RestructuringRestructuring
Restructuring
 
Fighting Layout Bugs
Fighting Layout BugsFighting Layout Bugs
Fighting Layout Bugs
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
 
Continuous Delivery in der Praxis
Continuous Delivery in der PraxisContinuous Delivery in der Praxis
Continuous Delivery in der Praxis
 

Built To Last - Nachhaltige Software-Entwicklung

  • 1. Built To Last Nachhaltige Software-Entwicklung
  • 2. © Materna GmbH 2016 www.materna.de Frank Pientka, Dipl.-Informatiker frank.pientka@materna.de +49 (231) 5599 8854 +49 (1570) 1128854 www.materna.de 2 Dipl.-Informatiker (TH Karlsruhe) Principal Software Architect in Dortmund iSAQB-Gründungsmitglied heise.de/developer/Federlesen-Kolumne Über 20 Jahre IT-Erfahrung Veröffentlichungen und Vorträge Wer ist Frank Pientka?
  • 3. © Materna GmbH 2016 www.materna.de Wer wir sind.  Gründung: 1980 Mitarbeiter: 1.500 Umsatz 2014: 192 Mio. €  Inhabergeführtes Familienunternehmen der ITK-Branche  Full-Service-Dienstleister im Premium-Segment  Zielgruppe: IT-Organisationen und Fachabteilungen in Privatwirtschaft und Behörden Dortmund Düsseldorf Bad Vilbel Stuttgart Erlangen München Dresden Bremen Hamburg Berlin Wolfsburg FI SE DK PL SK IT CH AT UK NL DE CZ Heidelberg 3
  • 4. © Materna GmbH 2016 www.materna.de Built to last: Inhalt  Was ist Nachhaltigkeit?  Warum nachhaltige Software? Komplexität steigt mit der Größe  Kriterien und Prinzipien für nachhaltige Software  Der Weg zu einer API-Ökonomie – den Schatz heben  API-Design-Beispiele  Was muss sich ändern? Architekturerosion stoppen Ressourceneffizienz steigern  Fazit
  • 5. © Materna GmbH 2016 www.materna.de Page 5 Gebaut für die Ewigkeit: Was ist eine nachhaltige Architektur? Die meiste Zeit geht dadurch verloren, dass man nicht zu Ende denkt. Alfred Herrhausen Einfach Dauerhaft Erweiterbar Selbsterklärend Einfach Dauerhaft Erweiterbar Selbsterklärend
  • 6. © Materna GmbH 2016 www.materna.de Planen oder evolutionär entwickeln – Alt trifft Neu 6
  • 7. © Materna GmbH 2016 www.materna.de Schema der nachhaltigen Entwicklung seit über 300 Jahren Jungwuchs Dickung Stangenholz Altholz Informatik Praxis 8
  • 8. © Materna GmbH 2016 www.materna.de Digitale Nachhaltigkeit Aspekte. “development that meets the needs of the present without compromising the ability of future generations” (Brundtland UN-Report 1987)
  • 9. © Materna GmbH 2016 www.materna.de Software Maintenance SWEBOK Guide V3.0 11 Definitions and Technology Nature of Maintenance Need for Maintenance Majority of Maintenance Costs Evolution of Software Categories of Maintenance Technical Issues Management Issues Maintenance Costs Estimation Maintenance Measurement Maintenance Processes Maintenance Activities Program Comprehension Reengineering Reverse Engineering Migration Retirement Software Maintenance Fundamentals Key issues in Software Maintenance Techniques Maintenance Maintenance Process Sotware Maintenance Tools Software Maintenance
  • 10. © Materna GmbH 2016 www.materna.de ISO 25010 für Softwarequalität 12 Wartbarkeit/ Änderbarkeit Analysier- barkeit Modifizier- barkeit Testbarkeit Zuverlässigkeit Fehler toleranz Stabilität Übertragbarkeit Inter operabilität Anpass barkeit Austausch- barkeit Benutzbarkeit Effizienz Funktionalität Wartbarkeit/ Änderbarkeit Zuverlässigkeit Übertragbarkeit Privatsphäre Vertrautheit Informationelle Selbstbestimmung
  • 11. © Materna GmbH 2016 www.materna.de IEEE Standard Glossary of Software Engineering Terminology 610.12-1990 IEEE Standard Glossary of Software Engineering Terminology 610.12-1990 13 “Software engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software”
  • 12. © Materna GmbH 2016 www.materna.de http://en.wikipedia.org/wiki/Long-term_support 15 Long-term support (LTS) is a product lifecycle management policy for computer software, especially open-source software, that applies the tenets of reliability engineering to the software development process and software release life cycle. Long-term support extends the period of software maintenance; it also alters the type and frequency of software updates (patches) to reduce the risk, expense, and disruption of software deployment
  • 13. © Materna GmbH 2016 www.materna.de http://wiki.eclipse.org/LTS/LTS_Ready 16 A build that builds on Eclipse Foundation hardware and Can be cloned/checked out with one step Is documented Is version controlled Is automated Is deterministic given the same source code and third party libraries Is easily reproducible on suitably-configured systems Can refer to compilers and other tools from a configurable location Capable of building without an active Internet connection Capable of pulling dependencies from a known controlled source Adheres to Eclipse IP policies Bug Tracking: no code change can be released without proper bugzilla entry Release Management: part of the annual simultaneous release Supply & Demand: At least two LTS IWG member companies offering support
  • 14. © Materna GmbH 2016 www.materna.de Die Entwicklung der IT 17 Business Support chaotisch Host kompliziert 1960 1970 1980 1990 2000 2010 2020 Midrange PC C/S WWW Cloud Mobile M2M IoT SW Krise komplex
  • 15. © Materna GmbH 2016 www.materna.de Was wenn Anbieter, Produkte, Partner … verschwinden? 18
  • 16. © Materna GmbH 2016 www.materna.de How Buildings Learn: What Happens After They’re Built (Stewart Brand 1994) 19
  • 17. © Materna GmbH 2016 www.materna.de Alles ändert sich - Lebenszyklen UI, Anwendung, Daten 20 GUI Frameworks Business Logic Common Libs Data
  • 18. © Materna GmbH 2016 www.materna.de 22 …the most boring technology you can find in use for years and years… In Defense of Boring, Grady Booch, May/June 2013, IEEE Software Altbewährt und trotzdem gut
  • 19. © Materna GmbH 2016 www.materna.de Scalability: So Much More Than Just Technology Vicious and Virtuous Technology Cycles (from “The Art of Scalability”)
  • 20. © Materna GmbH 2016 www.materna.de 2010 2003 1996 1989 1982 1975 1968 Systemevolution: Wie entwickelt sich Software über die Zeit? 24http://users.jyu.fi/~koskinen/smcosts.htm “If I had more time I would have written less code” 
  • 21. © Materna GmbH 2016 www.materna.de 5 – 10 Millionen Codezeilen 25
  • 22. © Materna GmbH 2016 www.materna.de 25 Millionen Codezeilen: Office&Windows 26 Too big to scale !
  • 23. © Materna GmbH 2016 www.materna.de Linux Kernel - Wie entwickelt sich Software über die Zeit?
  • 24. © Materna GmbH 2016 www.materna.de Design Patterns seit 20 Jahren 28
  • 25. © Materna GmbH 2016 www.materna.de JUnit Design (1998, Kent Beck, Erich Gamma): Sauberes Design 29 http://junit.sourceforge.net/doc/cookstour/cookstour.htm Test Infected: Programmers Love Writing Tests, Java Report, July 1998, Volume 3, Number 7 4 Klassen 6 Muster !
  • 26. © Materna GmbH 2016 www.materna.de JUnit 3.7 (2001) – wie alles begann 30 http://edmundkirwan.com/general/junit.html
  • 27. © Materna GmbH 2016 www.materna.de JUnit 4.0 (2006) – entwickelt sich weiter 31 http://edmundkirwan.com/general/junit.html
  • 28. © Materna GmbH 2016 www.materna.de JUnit 4.11 (2012) – und weiter 4.12 (2014) 5 Lambda ??? 32
  • 29. © Materna GmbH 2016 www.materna.de GOF ist keine … 33 Magie oder Ersatz für gutes API-Design? GoF korrigiert Sprachschwäche! Bsp.: Einige behavioral patterns wurden durch Lambdas in Java obsolet
  • 30. © Materna GmbH 2016 www.materna.de Qualitätszenarien für nachhaltige Architektur entwickeln (Heiko Koziolek) 36 Änderungs-/Wachstumsszenarien entwerfen  Entscheidungen validieren, Alternativen betrachten Kompromisse festhalten Risikomangement
  • 31. © Materna GmbH 2016 www.materna.de Sustainability Guidelines for Long-Living Software Systems 37 Requirements Management, Risk, Analysis, Tracing, ... Architecture Styles, Tactics, ... Design Patterns, Bad Smells, Refactoring, Metrics, ...Implementation Code Doc., Code styles, Code generation, ... Testing Testbeds, Regression testing, ... Maintenance Reengineering, Arch. compliance, .. Phase independent: Documentation, Knowledge, Management, Process, Improvement, Organizational Structures, ... Quelle: Heiko Koziolek
  • 32. © Materna GmbH 2016 www.materna.de Überwachen wichtiger Metriken für nachhaltige Architektur (Heiko Koziolek) 38
  • 33. © Materna GmbH 2016 www.materna.de Nachhaltigkeit bei Architekturstilen – best of four Schichten Ereignisorientiert Microkernel Microservices Wartbarkeit Erweiterbarkeit Anpassbarkeit Austauschbarkeit Software Architecture Patterns, Mark Richards, 2015, O’Reilly
  • 34. © Materna GmbH 2016 www.materna.de Wann lohnt sich was? (Martin Fowler: start with a monolith) Complexity Project size over time Monolith Microservices Overhead Modular boundaries Reduce complexity Natural threashold
  • 35. © Materna GmbH 2016 www.materna.de Betrieb Weniger Spezialisten, mehr Generalisten 47 Logik Daten GUI Betrieb Logik Daten GUI Komponente N Betrieb Logik Daten GUI Komponente1 Technologie Fachlichkeit Soziales Wissen Kommunikation Soziales Wissen Kommunikation
  • 36. © Materna GmbH 2016 www.materna.de Fachübergreifende Teams 49
  • 37. © Materna GmbH 2016 www.materna.de Das agile Manifest: 8-tes Prinzip Agile Prozesse fördern nachhaltige Entwicklung. Die Auftraggeber, Entwickler und Benutzer sollten ein gleichmäßiges Tempo auf unbegrenzte Zeit halten können.
  • 38. © Materna GmbH 2016 www.materna.de Architektur-Entwickler-Tandem: wechselnde Position, immer im Tritt 51 Ziel & Weg im Auge „Two-Person-Teams are magical“ (Frederick P. Brooks Jr.)
  • 39. © Materna GmbH 2016 www.materna.de
  • 40. © Materna GmbH 2016 www.materna.de Risikopotential APIs 53  Schnittstelle  Protokoll  Implementierung  Infrastruktur  Betrieb  Überwachung  Änderung  Hohe Kosten, Risiken  Besonders Cloud, IoT
  • 41. © Materna GmbH 2016 www.materna.de Wie Schnittstelle designen? – das OSI-Schichtenmodell 54 TCP Robustness Principle (RFC793) Jon Postel (1981) "be conservative in what you do, be liberal in what you accept from others"
  • 42. © Materna GmbH 2016 www.materna.de „Ein guter Zaun schafft gute Nachbarn“ Robert Frost „Ein guter Vertrag schafft gute Nachbarn“
  • 43. © Materna GmbH 2016 www.materna.de http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven REST is software design on the scale of decades: every detail is intended to promote software longevity and independent evolution. Many of the constraints are directly opposed to short-term efficiency. October 2008
  • 44. © Materna GmbH 2016 www.materna.de 7 Arten der Kompatibilität 59 1. Abwärtskompatibilität 2. Aufwärtskompatibilität 3. Binärkompatibilität 4. Quelltextkompatibilität 5. Verhaltenskompatibilität 6. Fehlerkompatibilität 7. Inkompatibilität
  • 45. © Materna GmbH 2016 www.materna.de http://www.oracle.com/technetwork/java/javase/8-compatibility-guide-2156366.html
  • 46. © Materna GmbH 2016 www.materna.de Wiederverwendbarkeit ist nicht einfach 63 „Reuse is something that is far easier to say than to do. Doing it requires both good design and very good documentation.“ David Parnas (1964)
  • 47. © Materna GmbH 2016 www.materna.de Langlebigkeit als Softwarequalität umfaßt 64 Prozess Produkte Infrastruktur Personen Kultur
  • 48. © Materna GmbH 2016 www.materna.de 65 Fazit: Prinzipien für nachhaltige Software  Simplify your complexity – Reduce your dependencies  Architekturentscheidungen dokumentieren  Lebenszyklus der Komponenten berücksichtigen  Ausgewogene Balance aller wichtigen Qualitätsaspekte  Regelmäßig überprüfen und anpassen
  • 49. © Materna GmbH 2016 www.materna.de 66 Nutzen einer nachhaltigen Softwarearchitektur  Bereitstellung der geforderten Produktqualitäten  Bessere Anpassbarkeit, Erweiterbarkeit  Bessere Planbarkeit, Budgetreue  Geringere Wartungskosten  Investitionssicherheit  Langlebigkeit ist ein ethischer Wert
  • 50. © Materna GmbH 2016 www.materna.de Nachhaltige Softwareentwicklung: 67 ein komplexes, empfindliches Ökosystem mit vielen Beteiligten im Einklang Ökologie Soziales Ökonomie
  • 51. © Materna GmbH 2016 www.materna.de Ökologie Reparatur-vor Wiederverwendung Ökologie Reparatur-vor Wiederverwendung Ökonomie API Prozess Ökonomie API Prozess Qualität Robust Dauerhaft Erweiterbar Qualität Robust Dauerhaft Erweiterbar Soziales Wissenskultur Fehlerkultur Soziales Wissenskultur Fehlerkultur Gebaut für die Ewigkeit Gebaut für den Wandel Gebaut für den Wandel
  • 52. © Materna GmbH 2016 www.materna.de Weitere Infos: 69  Measuring Architecture Sustainability, Heiko Koziolek, et al, IEEE Software, 2013, vol. 30  Software Engineering with an Agile Development Framework, WikiBook, 2012  Free and Open Source Software Technology for Sustainable Development: Sulayman Sowe, 2012  Sustainable Software Development: An Agile Perspective, Kevin Tate, 2005  Sustainable Software Development With Clean C++, Stephan Roth, leanpub, 2014  Rüdiger Zarnekow, Fabian Löser, Nachhaltiges IT-Management, dpunkt, 2015  Frank Pientka, Gebaut für den Wandel, OBJEKTSpektrum 02/2015
  • 53. © Materna GmbH 2016 www.materna.de Vernetzt. Kontakt. Materna GmbH Frank Pientka Voßkuhle 37 44141 Dortmund +49 231 5599-8854 Frank.Pientka@materna.de