SlideShare ist ein Scribd-Unternehmen logo
1 von 68
Downloaden Sie, um offline zu lesen
IKS Gesellschaft für Information-und Kommunikationssysteme GmbH
T. +49 2103-5872-0 | www.iks-gmbh.com
Projekte. Beratung. Spezialisten.
IKS Thementag
14.6.2023
Jörg Vollmer
Wege, mit alternder Software umzugehen
Lindern, heilen oder gar fit machen
Lindern, heilen oder gar fit machen 2 | 68
Agenda
❯ Lifecycle einer Software
❯ Was ist Software-Wartung?
❯ Die Ursachen hoher Wartungskosten
❯ Wie lassen sich diese Kosten senken?
❯ Wann lindern, wann heilen oder gar fit machen?
Lindern, heilen oder gar fit machen 3 | 68
Agenda
❯ Lifecycle einer Software
❯ Was ist Software-Wartung?
❯ Die Ursachen hoher Wartungskosten
❯ Wie lassen sich diese Kosten senken?
❯ Wann lindern, wann heilen oder gar fit machen?
Lindern, heilen oder gar fit machen 4 | 68
Software-Lifecycle
Innovation
Entwicklung
Start-
phase
Produktions-
phase
Moderni-
sierung
End of
Life
Lindern, heilen oder gar fit machen 5 | 68
Typische Probleme
❯ Startphase
◆ Mangelhafte Infrastruktur
 unzureichend getestet (Abi 2023)
◆ Fehlende organisatorische Prozesse
 führt zu Verzögerungen oder gar
Unterlassungen
◆ Software läuft nicht so wie gedacht
 Konflikt zwischen Auftraggeber und
Auftragnehmer ⇒ Pflegestau
Innovation
Entwicklung
Start-
phase
Produktions-
phase
Moderni-
sierung
End of
Life
€
Lindern, heilen oder gar fit machen 6 | 68
Typische Probleme
❯ Produktionsphase
◆ (Zu) viele Bugs brauchen (zu) lang, um
erkannt und behoben zu werden?
◆ Anforderungen brauchen zunehmend
länger für die Umsetzung
◆ Warum?
Innovation
Entwicklung
Start-
phase
Produktions-
phase
Moderni-
sierung
End of
Life
€
Lindern, heilen oder gar fit machen 7 | 68
Definition: Softwarewartung
❯ Softwarewartung ist die Veränderung eines Softwareprodukts nach dessen
Auslieferung, um Fehler zu beheben, Performanz oder andere Attribute zu verbessern
oder Anpassungen an die veränderte Umgebung vorzunehmen [WikiSoftwarewartung]
Lindern, heilen oder gar fit machen 8 | 68
Aufgabe der (reinen) Softwarewartung
❯ Korrektur von Fehlern (Bugfixing)
❯ Fehleranalyse und Vorbeugung
❯ Anpassung der Software an geänderte Vorschriften
❯ Sicherheits- und Software-Updates
❯ Optimierung der Softwareleistung
❯ Stetige Verbesserung der Wartbarkeit
Lindern, heilen oder gar fit machen 9 | 68
Abgrenzung zwischen Wartung und Weiterentwicklung
❯ Wartung
◆ Beibehalten des ursprünglichen Zustands (fachlich)
❯ Erweiterung, Weiterentwicklung
◆ Bereitstellen zusätzlicher Funktionalität: neue Features
Lindern, heilen oder gar fit machen 10 | 68
Software ist nie fertig
Innovation
Entwicklung
Start-
phase
Produktions-
phase
Moderni-
sierung
End of
Life
In dem Augenblick, in dem eine Softwarelösung
in den produktiven Betrieb übergeht, entsteht der
Bedarf an Softwarepflege (Wartung) [Seven2one]
Wartung und Weiterentwicklung verlaufen
eigentlich immer eine Zeitlang parallel.
Lindern, heilen oder gar fit machen 11 | 68
Agenda
❯ Lifecycle einer Software
❯ Was ist Software-Wartung?
❯ Die Ursachen hoher Wartungskosten
❯ Wie lassen sich diese Kosten senken?
❯ Wann lindern, wann heilen oder gar fit machen?
Lindern, heilen oder gar fit machen 12 | 68
Wartungskosten im Vergleich
6% Anforderungen
5% Design
7% Implementierung
15%
Testen 67%
Wartung
[ShortNote]
[MainOver]
[ResearchGate]
[GateSmashers]
Lindern, heilen oder gar fit machen 13 | 68
Symptome hoher Wartungskosten & Ursachen
Lange
Umsetzung
Anzahl / Kosten
von Bugs
Hohe
Lizenzkosten
Hohe
Personalkosten
Symptome:
Lindern, heilen oder gar fit machen 14 | 68
Symptome hoher Wartungskosten & Ursachen
Schlechte
Technik /
Architekt
ur
Mangel-
haftes
Logging
Dirty
Code
Geringe
Testab-
deckung
Schlechtes
Wissens-
mgmt.
Fehl.
Know-
How
Häufige
Personal
-wechsel
Symptome:
Ursachen:
Entwick-
lungs-
prozess
Lange
Umsetzung
Anzahl / Kosten
von Bugs
Hohe
Lizenzkosten
Hohe
Personalkosten
Lindern, heilen oder gar fit machen 15 | 68
Symptome hoher Wartungskosten & Ursachen
Entwicklung Management
Technische Schulden Organisation
Symptome:
Lange
Umsetzung
Anzahl / Kosten
von Bugs
Hohe
Lizenzkosten
Hohe
Personalkosten
Architektur / Prozesse
Schlechte
Technik /
Architekt
ur
Mangel-
haftes
Logging
Dirty
Code
Geringe
Testab-
deckung
Schlechtes
Wissens-
mgmt.
Fehl.
Know-
How
Häufige
Personal
-wechsel
Ursachen:
Entwick-
lungs-
prozess
Lindern, heilen oder gar fit machen 16 | 68
Entwicklung
neue
Anforderungen
Zukunft
Vergangenheit
Business
Technik
Architektur,
Entwicklungsprozess
Technische
Schulden
Support,
Bugs
Vergangenheit
Wartung und Weiterentwicklung verlaufen
eigentlich immer eine Zeitlang parallel.
Lindern, heilen oder gar fit machen 17 | 68
Entwicklung
neue
Anforderungen
Zukunft
Vergangenheit
Business
Technik
Architektur,
Entwicklungsprozess
Technische
Schulden
Support,
Bugs
Vergangenheit
Korrigierende
Wartung
adaptive
Wartung
Perfektionierende
Wartung
Präventive
Wartung
Lindern, heilen oder gar fit machen 18 | 68
Entwicklung
Zukunft
Vergangenheit
Business
Technik
Architektur,
Entwicklungsprozess
Technische
Schulden
?%
?%
?%
?%
neue
Anforderungen
Support,
Bugs
Lindern, heilen oder gar fit machen 19 | 68
Entwicklung
neue
Anforderungen
Zukunft
Vergangenheit
Business
Technik
Architektur,
Entwicklungsprozess
Technische
Schulden
Support,
Bugs
10%
20% 20%
50%
Lindern, heilen oder gar fit machen 20 | 68
Entwicklung
neue
Anforderungen
Zukunft
Vergangenheit
Business
Technik
Architektur,
Entwicklungsprozess
Technische
Schulden
Support,
Bugs
10%
0% 0%
90%
Lindern, heilen oder gar fit machen 21 | 68
Entwicklung
neue
Anforderungen
Zukunft
Vergangenheit
Technik
Architektur,
Entwicklungsprozess
Technische
Schulden
Support,
Bugs
30%
0% 0%
70%
Business
Lindern, heilen oder gar fit machen 22 | 68
Entwicklung
neue
Anforderungen
Zukunft
Vergangenheit
Business
Technik
Architektur,
Entwicklungsprozess
Technische
Schulden
Support,
Bugs
60%
0% 0%
40%
Lindern, heilen oder gar fit machen 23 | 68
Entwicklung
neue
Anforderungen
Zukunft
Vergangenheit
Business
Technik
Architektur,
Entwicklungsprozess
Technische
Schulden
Support,
Bugs
90%
0% 0%
10%
Lindern, heilen oder gar fit machen 24 | 68
Regelmäßige Nachbesserungen
Gleichbleibender
Wartungsaufwand
Hoher unplanbarer
Wartungsaufwand
Technische Schulden
Zeit
teure Refactorings
Erosion
Modernisierung
Wartung / Features
Lindern, heilen oder gar fit machen 25 | 68
Wikipedia
… Der Wartungsaufwand wird darüber hinaus stark von der betreffenden Software
selbst (Fehlerdichte, Wartbarkeit) und den mit der Wartung befassten Personen
(Erfahrung, Mitarbeit von Spezialisten) und Prozessen beeinflusst.
Der Aufwand kann so auf ein Fünffaches anwachsen oder auf ein Fünftel reduziert
werden.
[WikiSoftwarewartung]
[Economics]
Lindern, heilen oder gar fit machen 26 | 68
Wikipedia
… Der Wartungsaufwand wird darüber hinaus stark von der betreffenden Software
selbst (Fehlerdichte, Wartbarkeit) und den mit der Wartung befassten Personen
(Erfahrung, Mitarbeit von Spezialisten) und Prozessen beeinflusst.
Der Aufwand kann so auf ein Fünffaches anwachsen oder auf ein Fünftel reduziert
werden.
[WikiSoftwarewartung]
[Economics]
Lindern, heilen oder gar fit machen 27 | 68
Agenda
❯ Lifecycle einer Software
❯ Was ist Software-Wartung?
❯ Die Ursachen hoher Wartungskosten
❯ Wie lassen sich diese Kosten senken?
❯ Wann lindern, wann heilen oder gar fit machen?
Lindern, heilen oder gar fit machen 28 | 68
Wikipedia
… Der Wartungsaufwand wird darüber hinaus stark von der betreffenden Software
selbst (Fehlerdichte, Wartbarkeit) und den mit der Wartung befassten Personen
(Erfahrung, Mitarbeit von Spezialisten) und Prozessen beeinflusst.
Der Aufwand kann so auf ein Fünffaches anwachsen oder auf ein Fünftel reduziert
werden.
[WikiSoftwarewartung]
[Economics]
Lindern, heilen oder gar fit machen 29 | 68
Bugs in der Produktion
neue
Anforderungen
Zukunft
Vergangenheit
Technik
Architektur,
Entwicklungsprozess
Technische
Schulden
Support,
Bugs
?%
Rule of Ten:
Planung: 1 €
Entwickl.: 10 €
Produktion: 100 €
Lindern, heilen oder gar fit machen 30 | 68
Fehlerbehebungskosten senken
ℎ ℎ ℎ · ℎ ℎ
Autom. Tests
Clean Code
Logging / Monitoring
Wissensmanagement
Ziel
€ #
Lindern, heilen oder gar fit machen 31 | 68
Reaktion bei einer hohen Fehlerrate
Aspekt Wichtigkeit
Autom. Tests
Clean Code
Monitoring
Wissensmgmt.
Es werden grundsätzlich erst einmal
mehr automatisierte (Unit)-Tests
vorgeschlagen,
… denn, richtig ist:
Tests vermeiden Fehler präventiv,
aber …
Weiter haben sich Code-Reviews
etabliert, die zu besserem Code
führen.
Lindern, heilen oder gar fit machen 32 | 68
Wer kennt diese Herren nicht?
Martin Fowler Kent Beck Robert C. Martin
Bekannt durch autom. Tests und Clean Code
Lindern, heilen oder gar fit machen 33 | 68
Reaktion der Entwicklung bei zu vielen Bugs
Aspekt Wichtigkeit
Autom. Tests
Clean Code
Monitoring
Wissensmgmt.
Gutes Logging und Monitoring
haben sich leider noch nicht als
Standard etabliert.
Gutes Wissensmanagement ist
leider noch schwierig zu realisieren.
Es werden grundsätzlich erst einmal
mehr automatisierte (Unit)-Tests
vorgeschlagen,
1-2-4-Rule:
1 ZE: Entwicklung der Funktionalität
2 ZE: Entwicklung der Unit-Tests
4 ZE: Wartung der Unit-Tests
€
Lindern, heilen oder gar fit machen 34 | 68
Aber wer kennt denn diese Personen?
Jamie Riedesel Phil Wilkins Mike Julian
Franz Lehner M. Giudice et al. C. Majors et al. Koffa Khan
J. Diakun et al. Asjad Athik
Thorsten Kramm
Lindern, heilen oder gar fit machen 35 | 68
Häufig anzutreffendes Logging
[ERROR] 2023-04-23 10:05:56 - Es ist ein fehler bei der Brechnung
aufgetreten: null
Wer, wie, was?
Wieso, weshalb, warum?
Wann & wo?
Lindern, heilen oder gar fit machen 36 | 68
Fehler finden ist wie Sudokus lösen
3 2
4
8 6
9
2
7
8
5
4
6
1
7 5 9 1
8
1
6 5 3 2 4 7
1
5
7 4 9 8 6 3
6
9
4 3 5 1 7 2
4
3
1 9 2 6 5 8
7
6
2 1 8 4 3 9
3
7
5 2 1 9 8 6
9
2
3 8 4 7 1 5
5
8
9 7 6 3 2 4
Gutes
Logging
&
WM
Lindern, heilen oder gar fit machen 37 | 68
Die Realität: Es gibt z. T. kaum Informationen
8 6
2
6
9
1 5
1 9 3
4 2
9
7
6 8 3
3
7 1 8
7
5
3 2
4
8 6
9
2
7
8
5
4
6
1
7 5 9 1
8
1
6 5 3 2 4 7
1
5
7 4 9 8 6 3
6
9
4 3 5 1 7 2
4
3
1 9 2 6 5 8
7
6
2 1 8 4 3 9
3
7
5 2 1 9 8 6
9
2
3 8 4 7 1 5
5
8
9 7 6 3 2 4
1,2,4
2,4
Schlechtes
Logging
&
WM
Gutes
Logging
&
WM
Lindern, heilen oder gar fit machen 38 | 68
Es müssen viele Annahmen durchgespielt werden
8 6
2
6
9
1 5
1 9 3
4 1 2
9
7
6 8 3
3
7 1 8
8 7
5
3
2
4
7
3 2
4
8 6
9
2
7
8
5
4
6
1
7 5 9 1
8
1
6 5 3 2 4 7
1
5
7 4 9 8 6 3
6
9
4 3 5 1 7 2
4
3
1 9 2 6 5 8
7
6
2 1 8 4 3 9
3
7
5 2 1 9 8 6
9
2
3 8 4 7 1 5
5
8
9 7 6 3 2 4
Schlechtes
Logging
&
WM
Gutes
Logging
&
WM
Lindern, heilen oder gar fit machen 39 | 68
Gutes Logging
[ERROR] 2023-04-23 10:05:56 - Es ist ein fehler bei der Brechnung
aufgetreten: null
[ERROR] 2023-04-23 10:05:56 - Berechnung des prozentualen Anteils
◆ Produkt-Nr: 283223 (Autobatterie), verkauft: 112 von gesamt: 0
◆ TraceId: c123630b-ecd5-4dea-813f-d463b6c1bc4c
◆ User: DWH-System, SessionID: ed210e3e4a5b
◆ Exception in thread "main" java.lang.ArithmeticException: / by zero at
Kalkulation.berechneAnteil (kalkulation.kt:112)
Strukturiertes Logging, i.d.R. im
JSON-Format: JSON-Logging
Observability, Data-Science:
Auswertungen durch KI
Lindern, heilen oder gar fit machen 40 | 68
Monitoring
Monitoring
z.B. Slack
Logfiles
überwacht
alarmiert
Lindern, heilen oder gar fit machen 41 | 68
Lindern, heilen oder gar fit machen 42 | 68
Reaktion der Entwicklung bei zu vielen Bugs
Aspekt Wichtigkeit
Autom. Tests
Clean Code
Monitoring
Wissensmgmt.
Gutes Logging und Monitoring
haben sich leider noch nicht als
Standard etabliert.
Lindern, heilen oder gar fit machen 43 | 68
Gute Überwachung reduziert Wartungskosten deutlich!
Aspekt Wegwerf Standard Hochqualitativ
Autom. Tests
Clean Code
Monitoring
Wissensmgmt.
Und ist mit vergleichsweise wenig Aufwand realisierbar - auch nachträglich!
€
Lindern, heilen oder gar fit machen 44 | 68
Wikipedia
… Der Wartungsaufwand wird darüber hinaus stark von der betreffenden Software
selbst (Fehlerdichte, Wartbarkeit) und den mit der Wartung befassten Personen
(Erfahrung, Mitarbeit von Spezialisten) und Prozessen beeinflusst.
Der Aufwand kann so auf ein Fünffaches anwachsen oder auf ein Fünftel reduziert
werden.[11]
Lindern, heilen oder gar fit machen 45 | 68
Innovation
Entwicklung
Start-
phase
Produktions-
phase
Moderni-
sierung
End of
Life
Entwicklungsteam
Skills:
a) kreativ
b) schnell
c) spaßgetrieben
Faktor Mensch
Lindern, heilen oder gar fit machen 46 | 68
Warum die Wartbarkeit auf der Strecke bleibt
❯ Software-Entwickler sind Dopamin-Junkies!
❯ Belohnung durch Knobeln und der funktionierende Lösung
◆ Bug finden ⇒ Belohnung
◆ Auch automatisierte Tests funktionieren ⇒ Belohnung
◆ Apropos sauberer Code: Review, Approve ⇒ Belohnung
❯ Anschl. Wartbarkeitsverbesserungen triggern das Belohnungssystem nicht:
◆ Nach einer langen Bug-Suche Maßnahmen zu ergreifen, um beim nächsten Mal schneller zu
sein
◆ Logging verbessern
◆ Dokumentieren
Lindern, heilen oder gar fit machen 47 | 68
Warum komplexe, schwer wartbare Systeme entstehen
❯ Techietekten sind auch Dopamin-Junkies
❯ Belohnung durch das Schaffen komplexer Systeme
◆ Informiert: Lieben den „Vorsprung“ ⇒ Belohnung
◆ Das Unmögliche möglich machen ⇒ Belohnung
◆ Je mehr desto cooler:
Lindern, heilen oder gar fit machen 48 | 68
Lindern, heilen oder gar fit machen 49 | 68
Warum oft komplexe und schwer wartbare Systeme entstehen
❯ Techietekten sind auch Dopamin-Junkies
❯ Belohnung durch das Schaffen komplexer Systeme
◆ Informiert: Lieben den „Vorsprung“ ⇒ Belohnung
◆ Das Unmögliche möglich machen ⇒ Belohnung
◆ Je mehr desto cooler:
❯ Gute Architekten sind selten und lieben das Abwägen
◆ Hard Skills: Programmierung, Analyse, Datenmodellierung,
DDD, Security, Datenschutz, Projektmanagement
◆ Soft Skills: Geschulte Rhetorik, Überzeugungskraft,
Diplomatie, Zielstrebigkeit, Geschäftssinn
€
Lindern, heilen oder gar fit machen 50 | 68
Reaktion der Entwicklung bei zu vielen Bugs
Aspekt Wichtigkeit
Autom. Tests
Clean Code
Monitoring
Wissensmgmt.
Gutes Wissensmanagement ist
leider noch schwierig zu realisieren.
Lindern, heilen oder gar fit machen 51 | 68
Warum wird so ungern dokumentiert?
❯ Dokumentation im Code
◆ Entwicklung: Der Code wird möglichst selbsterklärend geschrieben …
… somit brauchen wir keine Doku (?)
◆ Zeitdruck (?)
◆ Keine Belohnung, da Doku nicht „läuft“ (!)
❯ Dokumentation im Wiki / Confluence:
◆ Wird eh nicht gelesen …
◆ … warum? Die Suche ist zu schlecht, man findet nichts.
Lindern, heilen oder gar fit machen 52 | 68
In Zukunft: KI im Wissensmanagement
Source-Code
Confluence
Reports
In welchem Service wird die Bonität des
Kunden berechnet?
Die Bonität wird im Service credit-rating
berechnet.
Wie lautet die GitLab-URL davon?
https://gitlab.firma.com/finance/credit-
rating
Lindern, heilen oder gar fit machen 53 | 68
Agenda
❯ Lifecycle einer Software
❯ Was ist Software-Wartung?
❯ Die Ursachen hoher Wartungskosten
❯ Wie lassen sich diese Kosten senken?
❯ Wann lindern, wann heilen oder gar fit machen?
Lindern, heilen oder gar fit machen 54 | 68
Symptome hoher Wartungskosten & Ursachen
Lange
Umsetzung
Anzahl / Kosten
von Bugs
Hohe
Lizenzkosten
Hohe
Personalkosten
Symptome:
Hohe
Wartungskosten
Lindern, heilen oder gar fit machen 55 | 68
Indikatoren für eine Modernisierung oder Beendigung
Lange
Umsetzung
Anzahl / Kosten
von Bugs
Hohe
Lizenzkosten
Hohe
Personalkosten
Symptome:
Günstigere
Konkurrenz-Produkte
Geschäftsmodell der
Software
Hohe
Wartungskosten
Wartung End of Life Modernisieren
lindern
heilen fit machen
Lindern, heilen oder gar fit machen 56 | 68
Messungen helfen
❯ Bekannte Verfahren:
◆ ATAM (Architecture Tradeoff Analysis Method)
◆ SAAM (Software Architecture Analysis Method)
◆ Fagan Inspektion
◆ CBAM (Cost Benefit Analysis Method) erweitert ATAM
❯ Das bekannteste ist ATAM und
◆ liefert eine Bewertung von Qualitätsszenarien,
◆ identifiziert Schwachstellen in der Architektur,
◆ erkennt technische Schulden,
◆ erstellt ggf. einen Plan, sie zu reduzieren.
Lindern, heilen oder gar fit machen 57 | 68
Das kennen wir bereits
Was der Kunde
beschrieb
Was die
Entwicklung
implementierte
Lindern, heilen oder gar fit machen 58 | 68
Was haben wir gelernt?
Was die
Entwicklung
implementierte
Wie Patches
angewendet
werden
Wie das System
dokumentiert
wurde
Wie aussagestark
Fehler geloggt
werden
Was der Kunde
beschrieb
Lindern, heilen oder gar fit machen 59 | 68
Take Home
6% Anfoderungen
5% Design
7% Impl.
15%
Testen 67%
Wartung
/5 (?)
Kosteneinsparung
Quick-Wins:
• Verbesserte Diagnostik
• Kluges Team-Management
• KI-unterstütztes Wissensmgmt.
Ursachen:
• Wachsende techn. Schulden
• Unangemessene Architekturen
• Schwindendes Know-how
⇒ Viele und teure Bugs
Vielen Dank!
Fragen?
Lindern, heilen oder gar fit machen 61 | 68
[Economics]
https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.88.7697&rep=rep1&type=pdf
[Statista]
https://de.statista.com/statistik/daten/studie/316498/umfrage/lebensdauer-von-autos-deutschland/
[Wartungshölle]
https://blog.codecentric.de/wartungshoelle-nein-danke
[ShortNote]
https://www.ques10.com/p/21788/short-note-on-software-maintenance
[MainOver]
https://www.tutorialspoint.com/software_engineering/software_maintenance_overview.htm
[ResearchGate]
https://www.researchgate.net/figure/Costs-of-Software-Development-Stages-11_fig1_232590980
[Seven2one]
https://www.seven2one.de/blog/damit-ein-it-system-laeuft-und-laeuft-und-laeuft-warum-softwarepflege-
unerlaesslich-ist/
Referenzen
Lindern, heilen oder gar fit machen 62 | 68
[JRiedesel]
Jamie Riedesel, Software Telemetrie, Manning Publications (31. August 2021), ISBN: 978-1617298141
[PWilkins]
Phil Wilkins, Logging in Action, Manning (10. Mai 2022), ISBN: 978-1617298356
[Mjulian]
Mike Julian, Practical Monitoring, O'Reilly UK Ltd. (23. November 2017), ISBN: 978-1491957356
[JDiakun]
J. Diakun et al., Splunk Operational lntelligence, Packt Publishing; (28. Mai 2018), ISBN: 978-1788835237
[AAthik]
Asjad Athik, Elastic Stack 8.0, Packt Publishing (22. Dezember 2017), ISBN: 978-1787281868
[FLehner]
Franz Lehner, Wissensmanagement, Carl Hanser Verlag GmbH, ISBN: 978-3446467804
[AChuvakin]
Anton Chuvakin et al., Logging and Log Management, Syngress, ISBN: 978-1597496353
Referenzen
Lindern, heilen oder gar fit machen 63 | 68
[MGiudice]
M. Giudice, Knowledge Management and Al in Society 5.0, Routledge (10. März 2023), ISBN: 978-1032191911
[CMajors]
C. Majors, Observability Engineering, O'Reilly Media (14. Juni 2022), ISBN: 978-1492076445
[KKhan]
Koffa Khan, Cloud Monitoring, ASIN: B0BZX7BVGT
[Mjulian]
Mike Julian, Practical Monitoring, O'Reilly UK Ltd. (23. November 2017), ISBN: 978-1491957356
[TKramm]
J. Thorsten Kramm, Monitoring mit Zabbix, dpunkt.verlag GmbH (1. Februar 2016), ISBN: 978-3864903359
[LudLich]
Jochen Ludewig und Horst Lichter, Software Engineering, dpunkt.verlag (2. Februar 2023), ISBN: 978-3864905988
Referenzen
Lindern, heilen oder gar fit machen 64 | 68
[DThielke]
Refactoring - wenn Deine Software bald stirbt..., https://youtu.be/VqW0tVOrsWE
[TTühmA]
SE12a Softwarewartung zu Silvester https://youtu.be/6K_xc3b-bfY
[TTühmB]
SE12b Arten der Softwarewartung - https://youtu.be/kkUNcAYmMOg
[TTühmC]
SE12c Migration von Altsystemen - https://youtu.be/kkUNcAYmMOg
[GateSmashers]
Perfective, Preventive, Adaptive, Corrective Maintenance - https://youtu.be/nulFv99VBGs
Video-Referenzen
Lindern, heilen oder gar fit machen 65 | 68
[S. 8]
https://stock.adobe.com/de/search?k=%22nicht+vergessen%22&asset_id=1931163881
[S. 23, 24]
https://de.wikipedia.org/wiki/Gift#/media/Datei:Skull_and_Crossbones.svg
[S. 26]
https://pixabay.com/de/illustrations/smiley-erschrocken-%C3%BCberrascht-angst-1958283/
[S. 30]
https://pixabay.com/de/vectors/symbol-stoppuhr-uhr-zeit-schwarz-157350/
[S. 32]
https://github.com/KentBeck
[S. 32]
https://commons.wikimedia.org/wiki/File:Webysther_20150414193208_-_Martin_Fowler.jpg
Bildernachweise
Lindern, heilen oder gar fit machen 66 | 68
[S. 32]
https://www.itdays.ro/speaker/uncle-bob
[S. 36, 51]
https://pixabay.com/de/vectors/h%C3%A4kchen-pr%C3%BCfen-korrekt-ok-jawohl-1292787/
[S. 35]
https://www.faz.net/aktuell/feuilleton/medien/die-sesamstrasse-wird-50-jahre-alt-18584427/die-aktuelle-
besetzung-der-18584422.html
[S. 40]
https://www.vectorstock.com/royalty-free-vector/software-developer-at-work-comic-book-style-vector-7481852
[S. 46, 47, 49]
https://www.pinterest.de/pin/124693483422919015/
[S. 46, 51]
https://stock.adobe.com/de/images/yawn-female-emoticon/110644640
Bildernachweise
Lindern, heilen oder gar fit machen 67 | 68
[S. 30]
https://pixabay.com/de/vectors/symbol-stoppuhr-uhr-zeit-schwarz-157350/
[S. 49]
http://bits-communication.de/wp-content/uploads/2014/10/einfach-statt-kompliziert-2.jpg
[S. 52]
https://uxwing.com/artificial-intelligence-ai-icon/
[S. 52]
https://commons.wikimedia.org/wiki/File:Vision_Flat_Icon.svg
[S. 39]
https://scontent-dus1-1.xx.fbcdn.net/v/t1.6435-9/33083952_2126750144232836_2052298604260884480_n.jpg
[S. 40]
https://pixabay.com/de/vectors/messger%C3%A4t-symbole-leistung-1294568/
Bildernachweise
Lindern, heilen oder gar fit machen 68 | 68
www.iks-gmbh.com

Weitere ähnliche Inhalte

Ähnlich wie Thementag 2023 04 Lindern, heilen oder gar fit machen.pdf

10 Fragen vor Testautomatisierung
10 Fragen vor Testautomatisierung10 Fragen vor Testautomatisierung
10 Fragen vor TestautomatisierungClaudia Baur
 
Case Study: Automatisierte Code Reviews in einer gewachsenen SAP-Applikations...
Case Study: Automatisierte Code Reviews in einer gewachsenen SAP-Applikations...Case Study: Automatisierte Code Reviews in einer gewachsenen SAP-Applikations...
Case Study: Automatisierte Code Reviews in einer gewachsenen SAP-Applikations...Virtual Forge
 
Wir erledigen alles sofort - Warum Qualität, Risikomanagement, Usability und...
Wir erledigen alles sofort - Warum Qualität, Risikomanagement, Usability und...Wir erledigen alles sofort - Warum Qualität, Risikomanagement, Usability und...
Wir erledigen alles sofort - Warum Qualität, Risikomanagement, Usability und...Marc Bless
 
system worx: Wie Open Source Software zur Optimierung von Geschäftsprozessen ...
system worx: Wie Open Source Software zur Optimierung von Geschäftsprozessen ...system worx: Wie Open Source Software zur Optimierung von Geschäftsprozessen ...
system worx: Wie Open Source Software zur Optimierung von Geschäftsprozessen ...AKJoom
 
Application Lifecycle Management _ Was bedeutet das?
Application Lifecycle Management _ Was bedeutet das?Application Lifecycle Management _ Was bedeutet das?
Application Lifecycle Management _ Was bedeutet das?Minerva SoftCare GmbH
 
FlexNet Manager Suite for Enterprises- German
FlexNet Manager Suite for Enterprises- GermanFlexNet Manager Suite for Enterprises- German
FlexNet Manager Suite for Enterprises- GermanFlexera
 
VSHN DevOps Workshop at topsoft 2019
VSHN DevOps Workshop at topsoft 2019VSHN DevOps Workshop at topsoft 2019
VSHN DevOps Workshop at topsoft 2019Markus Speth
 
AMSYS - Anwendbare Management Systeme
AMSYS - Anwendbare Management SystemeAMSYS - Anwendbare Management Systeme
AMSYS - Anwendbare Management SystemeBjoern Bartels
 
Software-Auswahl & Einführung für Instandhaltung & Facility Management
Software-Auswahl & Einführung für Instandhaltung & Facility ManagementSoftware-Auswahl & Einführung für Instandhaltung & Facility Management
Software-Auswahl & Einführung für Instandhaltung & Facility Managementdankl+partner consulting gmbh
 
Software-Auswahl & Einführung für Instandhaltung & Facility Management
Software-Auswahl & Einführung für Instandhaltung & Facility ManagementSoftware-Auswahl & Einführung für Instandhaltung & Facility Management
Software-Auswahl & Einführung für Instandhaltung & Facility ManagementMCP Deutschland GmbH
 
Human Change Management
Human Change ManagementHuman Change Management
Human Change ManagementMichael Wyrsch
 
Abenteuer Qualität in der SW-Wartung
Abenteuer Qualität in der SW-WartungAbenteuer Qualität in der SW-Wartung
Abenteuer Qualität in der SW-WartungErnest Wallmueller
 
Agile (Software-) Prozesse - Quo Vadis? [in German]
Agile (Software-) Prozesse - Quo Vadis? [in German]Agile (Software-) Prozesse - Quo Vadis? [in German]
Agile (Software-) Prozesse - Quo Vadis? [in German]Martin Gaedke
 
SplunkLive! München 2016 - Splunk @ Datev
SplunkLive! München 2016 - Splunk @ DatevSplunkLive! München 2016 - Splunk @ Datev
SplunkLive! München 2016 - Splunk @ DatevSplunk
 
Universität Zürich - erfolgreiches Testing
Universität Zürich - erfolgreiches TestingUniversität Zürich - erfolgreiches Testing
Universität Zürich - erfolgreiches TestingIBM Switzerland
 
Qz Req Eng Ebert Rudorfer 2011 V3
Qz Req Eng Ebert Rudorfer 2011 V3Qz Req Eng Ebert Rudorfer 2011 V3
Qz Req Eng Ebert Rudorfer 2011 V3Arnold Rudorfer
 

Ähnlich wie Thementag 2023 04 Lindern, heilen oder gar fit machen.pdf (20)

10 Fragen vor Testautomatisierung
10 Fragen vor Testautomatisierung10 Fragen vor Testautomatisierung
10 Fragen vor Testautomatisierung
 
Mehr Softwarequalität: Team-Cleancoding
Mehr Softwarequalität: Team-CleancodingMehr Softwarequalität: Team-Cleancoding
Mehr Softwarequalität: Team-Cleancoding
 
Case Study: Automatisierte Code Reviews in einer gewachsenen SAP-Applikations...
Case Study: Automatisierte Code Reviews in einer gewachsenen SAP-Applikations...Case Study: Automatisierte Code Reviews in einer gewachsenen SAP-Applikations...
Case Study: Automatisierte Code Reviews in einer gewachsenen SAP-Applikations...
 
Wir erledigen alles sofort - Warum Qualität, Risikomanagement, Usability und...
Wir erledigen alles sofort - Warum Qualität, Risikomanagement, Usability und...Wir erledigen alles sofort - Warum Qualität, Risikomanagement, Usability und...
Wir erledigen alles sofort - Warum Qualität, Risikomanagement, Usability und...
 
system worx: Wie Open Source Software zur Optimierung von Geschäftsprozessen ...
system worx: Wie Open Source Software zur Optimierung von Geschäftsprozessen ...system worx: Wie Open Source Software zur Optimierung von Geschäftsprozessen ...
system worx: Wie Open Source Software zur Optimierung von Geschäftsprozessen ...
 
Application Lifecycle Management _ Was bedeutet das?
Application Lifecycle Management _ Was bedeutet das?Application Lifecycle Management _ Was bedeutet das?
Application Lifecycle Management _ Was bedeutet das?
 
FlexNet Manager Suite for Enterprises- German
FlexNet Manager Suite for Enterprises- GermanFlexNet Manager Suite for Enterprises- German
FlexNet Manager Suite for Enterprises- German
 
VSHN DevOps Workshop at topsoft 2019
VSHN DevOps Workshop at topsoft 2019VSHN DevOps Workshop at topsoft 2019
VSHN DevOps Workshop at topsoft 2019
 
AMSYS - Anwendbare Management Systeme
AMSYS - Anwendbare Management SystemeAMSYS - Anwendbare Management Systeme
AMSYS - Anwendbare Management Systeme
 
Minerva ikanalm slideshare
Minerva ikanalm slideshareMinerva ikanalm slideshare
Minerva ikanalm slideshare
 
DevOps: Change Mindset before Toolset
DevOps: Change Mindset before ToolsetDevOps: Change Mindset before Toolset
DevOps: Change Mindset before Toolset
 
Software-Auswahl & Einführung für Instandhaltung & Facility Management
Software-Auswahl & Einführung für Instandhaltung & Facility ManagementSoftware-Auswahl & Einführung für Instandhaltung & Facility Management
Software-Auswahl & Einführung für Instandhaltung & Facility Management
 
Software-Auswahl & Einführung für Instandhaltung & Facility Management
Software-Auswahl & Einführung für Instandhaltung & Facility ManagementSoftware-Auswahl & Einführung für Instandhaltung & Facility Management
Software-Auswahl & Einführung für Instandhaltung & Facility Management
 
Human Change Management
Human Change ManagementHuman Change Management
Human Change Management
 
Abenteuer Qualität in der SW-Wartung
Abenteuer Qualität in der SW-WartungAbenteuer Qualität in der SW-Wartung
Abenteuer Qualität in der SW-Wartung
 
Mehr Softwarequalität: Softwarequalität ist steuerbar
Mehr Softwarequalität: Softwarequalität ist steuerbarMehr Softwarequalität: Softwarequalität ist steuerbar
Mehr Softwarequalität: Softwarequalität ist steuerbar
 
Agile (Software-) Prozesse - Quo Vadis? [in German]
Agile (Software-) Prozesse - Quo Vadis? [in German]Agile (Software-) Prozesse - Quo Vadis? [in German]
Agile (Software-) Prozesse - Quo Vadis? [in German]
 
SplunkLive! München 2016 - Splunk @ Datev
SplunkLive! München 2016 - Splunk @ DatevSplunkLive! München 2016 - Splunk @ Datev
SplunkLive! München 2016 - Splunk @ Datev
 
Universität Zürich - erfolgreiches Testing
Universität Zürich - erfolgreiches TestingUniversität Zürich - erfolgreiches Testing
Universität Zürich - erfolgreiches Testing
 
Qz Req Eng Ebert Rudorfer 2011 V3
Qz Req Eng Ebert Rudorfer 2011 V3Qz Req Eng Ebert Rudorfer 2011 V3
Qz Req Eng Ebert Rudorfer 2011 V3
 

Mehr von IKS Gesellschaft für Informations- und Kommunikationssysteme mbH

Mehr von IKS Gesellschaft für Informations- und Kommunikationssysteme mbH (20)

Es wird Zeit KI zu nutzen - Wie es mit Azure KI Services und .NET MAUI gelingt
Es wird Zeit KI zu nutzen - Wie es mit Azure KI Services und .NET MAUI gelingtEs wird Zeit KI zu nutzen - Wie es mit Azure KI Services und .NET MAUI gelingt
Es wird Zeit KI zu nutzen - Wie es mit Azure KI Services und .NET MAUI gelingt
 
Thementag 2023 06 Dieses Mal machen wir alles richtig - 9 Hacks für wandelbar...
Thementag 2023 06 Dieses Mal machen wir alles richtig - 9 Hacks für wandelbar...Thementag 2023 06 Dieses Mal machen wir alles richtig - 9 Hacks für wandelbar...
Thementag 2023 06 Dieses Mal machen wir alles richtig - 9 Hacks für wandelbar...
 
Thementag 2023 01 Mut zur Modernisierung - ein Praxisbeispiel.pdf
Thementag 2023 01 Mut zur Modernisierung - ein Praxisbeispiel.pdfThementag 2023 01 Mut zur Modernisierung - ein Praxisbeispiel.pdf
Thementag 2023 01 Mut zur Modernisierung - ein Praxisbeispiel.pdf
 
Thementag 2023 03 Einführung in die Softwaremodernisierung.pdf
Thementag 2023 03 Einführung in die Softwaremodernisierung.pdfThementag 2023 03 Einführung in die Softwaremodernisierung.pdf
Thementag 2023 03 Einführung in die Softwaremodernisierung.pdf
 
Thementag 2022 01 Verpassen Sie nicht den Anschluss.pdf
Thementag 2022 01 Verpassen Sie nicht den Anschluss.pdfThementag 2022 01 Verpassen Sie nicht den Anschluss.pdf
Thementag 2022 01 Verpassen Sie nicht den Anschluss.pdf
 
Thementag 2022 04 ML auf die Schiene gebracht.pdf
Thementag 2022 04 ML auf die Schiene gebracht.pdfThementag 2022 04 ML auf die Schiene gebracht.pdf
Thementag 2022 04 ML auf die Schiene gebracht.pdf
 
Thementag 2022 03 Ein Modell ist trainiert - und jetzt.pdf
Thementag 2022 03 Ein Modell ist trainiert - und jetzt.pdfThementag 2022 03 Ein Modell ist trainiert - und jetzt.pdf
Thementag 2022 03 Ein Modell ist trainiert - und jetzt.pdf
 
Thementag 2022 02 Der Deutschen Bahn in die Karten geschaut.pdf
Thementag 2022 02 Der Deutschen Bahn in die Karten geschaut.pdfThementag 2022 02 Der Deutschen Bahn in die Karten geschaut.pdf
Thementag 2022 02 Der Deutschen Bahn in die Karten geschaut.pdf
 
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine LearningDaten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
 
Erste Schritte in die neue Welt-So gelingt der Einstieg in Big Data und Machi...
Erste Schritte in die neue Welt-So gelingt der Einstieg in Big Data und Machi...Erste Schritte in die neue Welt-So gelingt der Einstieg in Big Data und Machi...
Erste Schritte in die neue Welt-So gelingt der Einstieg in Big Data und Machi...
 
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
 
Big Data und Machine Learning - Wer braucht das schon!?
Big Data und Machine Learning - Wer braucht das schon!?Big Data und Machine Learning - Wer braucht das schon!?
Big Data und Machine Learning - Wer braucht das schon!?
 
Erste Schritte in die neue Welt - So gelingt der Einstieg in Big Data und Mac...
Erste Schritte in die neue Welt - So gelingt der Einstieg in Big Data und Mac...Erste Schritte in die neue Welt - So gelingt der Einstieg in Big Data und Mac...
Erste Schritte in die neue Welt - So gelingt der Einstieg in Big Data und Mac...
 
Darf es ein bisschen mehr sein - Konzepte Strategien zur Bewältigung großer u...
Darf es ein bisschen mehr sein - Konzepte Strategien zur Bewältigung großer u...Darf es ein bisschen mehr sein - Konzepte Strategien zur Bewältigung großer u...
Darf es ein bisschen mehr sein - Konzepte Strategien zur Bewältigung großer u...
 
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine LearningDaten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
 
Big Data und Machine Learning - Wer braucht das schon!?
Big Data und Machine Learning - Wer braucht das schon!?Big Data und Machine Learning - Wer braucht das schon!?
Big Data und Machine Learning - Wer braucht das schon!?
 
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine LearningDaten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
 
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
 
Big Data und Machine Learning - Wer braucht das schon!
Big Data und Machine Learning - Wer braucht das schon!Big Data und Machine Learning - Wer braucht das schon!
Big Data und Machine Learning - Wer braucht das schon!
 
Erste Schritte in die neue Welt so gelingt der Einstieg in Big Data und Machi...
Erste Schritte in die neue Welt so gelingt der Einstieg in Big Data und Machi...Erste Schritte in die neue Welt so gelingt der Einstieg in Big Data und Machi...
Erste Schritte in die neue Welt so gelingt der Einstieg in Big Data und Machi...
 

Thementag 2023 04 Lindern, heilen oder gar fit machen.pdf

  • 1. IKS Gesellschaft für Information-und Kommunikationssysteme GmbH T. +49 2103-5872-0 | www.iks-gmbh.com Projekte. Beratung. Spezialisten. IKS Thementag 14.6.2023 Jörg Vollmer Wege, mit alternder Software umzugehen Lindern, heilen oder gar fit machen
  • 2. Lindern, heilen oder gar fit machen 2 | 68 Agenda ❯ Lifecycle einer Software ❯ Was ist Software-Wartung? ❯ Die Ursachen hoher Wartungskosten ❯ Wie lassen sich diese Kosten senken? ❯ Wann lindern, wann heilen oder gar fit machen?
  • 3. Lindern, heilen oder gar fit machen 3 | 68 Agenda ❯ Lifecycle einer Software ❯ Was ist Software-Wartung? ❯ Die Ursachen hoher Wartungskosten ❯ Wie lassen sich diese Kosten senken? ❯ Wann lindern, wann heilen oder gar fit machen?
  • 4. Lindern, heilen oder gar fit machen 4 | 68 Software-Lifecycle Innovation Entwicklung Start- phase Produktions- phase Moderni- sierung End of Life
  • 5. Lindern, heilen oder gar fit machen 5 | 68 Typische Probleme ❯ Startphase ◆ Mangelhafte Infrastruktur  unzureichend getestet (Abi 2023) ◆ Fehlende organisatorische Prozesse  führt zu Verzögerungen oder gar Unterlassungen ◆ Software läuft nicht so wie gedacht  Konflikt zwischen Auftraggeber und Auftragnehmer ⇒ Pflegestau Innovation Entwicklung Start- phase Produktions- phase Moderni- sierung End of Life €
  • 6. Lindern, heilen oder gar fit machen 6 | 68 Typische Probleme ❯ Produktionsphase ◆ (Zu) viele Bugs brauchen (zu) lang, um erkannt und behoben zu werden? ◆ Anforderungen brauchen zunehmend länger für die Umsetzung ◆ Warum? Innovation Entwicklung Start- phase Produktions- phase Moderni- sierung End of Life €
  • 7. Lindern, heilen oder gar fit machen 7 | 68 Definition: Softwarewartung ❯ Softwarewartung ist die Veränderung eines Softwareprodukts nach dessen Auslieferung, um Fehler zu beheben, Performanz oder andere Attribute zu verbessern oder Anpassungen an die veränderte Umgebung vorzunehmen [WikiSoftwarewartung]
  • 8. Lindern, heilen oder gar fit machen 8 | 68 Aufgabe der (reinen) Softwarewartung ❯ Korrektur von Fehlern (Bugfixing) ❯ Fehleranalyse und Vorbeugung ❯ Anpassung der Software an geänderte Vorschriften ❯ Sicherheits- und Software-Updates ❯ Optimierung der Softwareleistung ❯ Stetige Verbesserung der Wartbarkeit
  • 9. Lindern, heilen oder gar fit machen 9 | 68 Abgrenzung zwischen Wartung und Weiterentwicklung ❯ Wartung ◆ Beibehalten des ursprünglichen Zustands (fachlich) ❯ Erweiterung, Weiterentwicklung ◆ Bereitstellen zusätzlicher Funktionalität: neue Features
  • 10. Lindern, heilen oder gar fit machen 10 | 68 Software ist nie fertig Innovation Entwicklung Start- phase Produktions- phase Moderni- sierung End of Life In dem Augenblick, in dem eine Softwarelösung in den produktiven Betrieb übergeht, entsteht der Bedarf an Softwarepflege (Wartung) [Seven2one] Wartung und Weiterentwicklung verlaufen eigentlich immer eine Zeitlang parallel.
  • 11. Lindern, heilen oder gar fit machen 11 | 68 Agenda ❯ Lifecycle einer Software ❯ Was ist Software-Wartung? ❯ Die Ursachen hoher Wartungskosten ❯ Wie lassen sich diese Kosten senken? ❯ Wann lindern, wann heilen oder gar fit machen?
  • 12. Lindern, heilen oder gar fit machen 12 | 68 Wartungskosten im Vergleich 6% Anforderungen 5% Design 7% Implementierung 15% Testen 67% Wartung [ShortNote] [MainOver] [ResearchGate] [GateSmashers]
  • 13. Lindern, heilen oder gar fit machen 13 | 68 Symptome hoher Wartungskosten & Ursachen Lange Umsetzung Anzahl / Kosten von Bugs Hohe Lizenzkosten Hohe Personalkosten Symptome:
  • 14. Lindern, heilen oder gar fit machen 14 | 68 Symptome hoher Wartungskosten & Ursachen Schlechte Technik / Architekt ur Mangel- haftes Logging Dirty Code Geringe Testab- deckung Schlechtes Wissens- mgmt. Fehl. Know- How Häufige Personal -wechsel Symptome: Ursachen: Entwick- lungs- prozess Lange Umsetzung Anzahl / Kosten von Bugs Hohe Lizenzkosten Hohe Personalkosten
  • 15. Lindern, heilen oder gar fit machen 15 | 68 Symptome hoher Wartungskosten & Ursachen Entwicklung Management Technische Schulden Organisation Symptome: Lange Umsetzung Anzahl / Kosten von Bugs Hohe Lizenzkosten Hohe Personalkosten Architektur / Prozesse Schlechte Technik / Architekt ur Mangel- haftes Logging Dirty Code Geringe Testab- deckung Schlechtes Wissens- mgmt. Fehl. Know- How Häufige Personal -wechsel Ursachen: Entwick- lungs- prozess
  • 16. Lindern, heilen oder gar fit machen 16 | 68 Entwicklung neue Anforderungen Zukunft Vergangenheit Business Technik Architektur, Entwicklungsprozess Technische Schulden Support, Bugs Vergangenheit Wartung und Weiterentwicklung verlaufen eigentlich immer eine Zeitlang parallel.
  • 17. Lindern, heilen oder gar fit machen 17 | 68 Entwicklung neue Anforderungen Zukunft Vergangenheit Business Technik Architektur, Entwicklungsprozess Technische Schulden Support, Bugs Vergangenheit Korrigierende Wartung adaptive Wartung Perfektionierende Wartung Präventive Wartung
  • 18. Lindern, heilen oder gar fit machen 18 | 68 Entwicklung Zukunft Vergangenheit Business Technik Architektur, Entwicklungsprozess Technische Schulden ?% ?% ?% ?% neue Anforderungen Support, Bugs
  • 19. Lindern, heilen oder gar fit machen 19 | 68 Entwicklung neue Anforderungen Zukunft Vergangenheit Business Technik Architektur, Entwicklungsprozess Technische Schulden Support, Bugs 10% 20% 20% 50%
  • 20. Lindern, heilen oder gar fit machen 20 | 68 Entwicklung neue Anforderungen Zukunft Vergangenheit Business Technik Architektur, Entwicklungsprozess Technische Schulden Support, Bugs 10% 0% 0% 90%
  • 21. Lindern, heilen oder gar fit machen 21 | 68 Entwicklung neue Anforderungen Zukunft Vergangenheit Technik Architektur, Entwicklungsprozess Technische Schulden Support, Bugs 30% 0% 0% 70% Business
  • 22. Lindern, heilen oder gar fit machen 22 | 68 Entwicklung neue Anforderungen Zukunft Vergangenheit Business Technik Architektur, Entwicklungsprozess Technische Schulden Support, Bugs 60% 0% 0% 40%
  • 23. Lindern, heilen oder gar fit machen 23 | 68 Entwicklung neue Anforderungen Zukunft Vergangenheit Business Technik Architektur, Entwicklungsprozess Technische Schulden Support, Bugs 90% 0% 0% 10%
  • 24. Lindern, heilen oder gar fit machen 24 | 68 Regelmäßige Nachbesserungen Gleichbleibender Wartungsaufwand Hoher unplanbarer Wartungsaufwand Technische Schulden Zeit teure Refactorings Erosion Modernisierung Wartung / Features
  • 25. Lindern, heilen oder gar fit machen 25 | 68 Wikipedia … Der Wartungsaufwand wird darüber hinaus stark von der betreffenden Software selbst (Fehlerdichte, Wartbarkeit) und den mit der Wartung befassten Personen (Erfahrung, Mitarbeit von Spezialisten) und Prozessen beeinflusst. Der Aufwand kann so auf ein Fünffaches anwachsen oder auf ein Fünftel reduziert werden. [WikiSoftwarewartung] [Economics]
  • 26. Lindern, heilen oder gar fit machen 26 | 68 Wikipedia … Der Wartungsaufwand wird darüber hinaus stark von der betreffenden Software selbst (Fehlerdichte, Wartbarkeit) und den mit der Wartung befassten Personen (Erfahrung, Mitarbeit von Spezialisten) und Prozessen beeinflusst. Der Aufwand kann so auf ein Fünffaches anwachsen oder auf ein Fünftel reduziert werden. [WikiSoftwarewartung] [Economics]
  • 27. Lindern, heilen oder gar fit machen 27 | 68 Agenda ❯ Lifecycle einer Software ❯ Was ist Software-Wartung? ❯ Die Ursachen hoher Wartungskosten ❯ Wie lassen sich diese Kosten senken? ❯ Wann lindern, wann heilen oder gar fit machen?
  • 28. Lindern, heilen oder gar fit machen 28 | 68 Wikipedia … Der Wartungsaufwand wird darüber hinaus stark von der betreffenden Software selbst (Fehlerdichte, Wartbarkeit) und den mit der Wartung befassten Personen (Erfahrung, Mitarbeit von Spezialisten) und Prozessen beeinflusst. Der Aufwand kann so auf ein Fünffaches anwachsen oder auf ein Fünftel reduziert werden. [WikiSoftwarewartung] [Economics]
  • 29. Lindern, heilen oder gar fit machen 29 | 68 Bugs in der Produktion neue Anforderungen Zukunft Vergangenheit Technik Architektur, Entwicklungsprozess Technische Schulden Support, Bugs ?% Rule of Ten: Planung: 1 € Entwickl.: 10 € Produktion: 100 €
  • 30. Lindern, heilen oder gar fit machen 30 | 68 Fehlerbehebungskosten senken ℎ ℎ ℎ · ℎ ℎ Autom. Tests Clean Code Logging / Monitoring Wissensmanagement Ziel € #
  • 31. Lindern, heilen oder gar fit machen 31 | 68 Reaktion bei einer hohen Fehlerrate Aspekt Wichtigkeit Autom. Tests Clean Code Monitoring Wissensmgmt. Es werden grundsätzlich erst einmal mehr automatisierte (Unit)-Tests vorgeschlagen, … denn, richtig ist: Tests vermeiden Fehler präventiv, aber … Weiter haben sich Code-Reviews etabliert, die zu besserem Code führen.
  • 32. Lindern, heilen oder gar fit machen 32 | 68 Wer kennt diese Herren nicht? Martin Fowler Kent Beck Robert C. Martin Bekannt durch autom. Tests und Clean Code
  • 33. Lindern, heilen oder gar fit machen 33 | 68 Reaktion der Entwicklung bei zu vielen Bugs Aspekt Wichtigkeit Autom. Tests Clean Code Monitoring Wissensmgmt. Gutes Logging und Monitoring haben sich leider noch nicht als Standard etabliert. Gutes Wissensmanagement ist leider noch schwierig zu realisieren. Es werden grundsätzlich erst einmal mehr automatisierte (Unit)-Tests vorgeschlagen, 1-2-4-Rule: 1 ZE: Entwicklung der Funktionalität 2 ZE: Entwicklung der Unit-Tests 4 ZE: Wartung der Unit-Tests €
  • 34. Lindern, heilen oder gar fit machen 34 | 68 Aber wer kennt denn diese Personen? Jamie Riedesel Phil Wilkins Mike Julian Franz Lehner M. Giudice et al. C. Majors et al. Koffa Khan J. Diakun et al. Asjad Athik Thorsten Kramm
  • 35. Lindern, heilen oder gar fit machen 35 | 68 Häufig anzutreffendes Logging [ERROR] 2023-04-23 10:05:56 - Es ist ein fehler bei der Brechnung aufgetreten: null Wer, wie, was? Wieso, weshalb, warum? Wann & wo?
  • 36. Lindern, heilen oder gar fit machen 36 | 68 Fehler finden ist wie Sudokus lösen 3 2 4 8 6 9 2 7 8 5 4 6 1 7 5 9 1 8 1 6 5 3 2 4 7 1 5 7 4 9 8 6 3 6 9 4 3 5 1 7 2 4 3 1 9 2 6 5 8 7 6 2 1 8 4 3 9 3 7 5 2 1 9 8 6 9 2 3 8 4 7 1 5 5 8 9 7 6 3 2 4 Gutes Logging & WM
  • 37. Lindern, heilen oder gar fit machen 37 | 68 Die Realität: Es gibt z. T. kaum Informationen 8 6 2 6 9 1 5 1 9 3 4 2 9 7 6 8 3 3 7 1 8 7 5 3 2 4 8 6 9 2 7 8 5 4 6 1 7 5 9 1 8 1 6 5 3 2 4 7 1 5 7 4 9 8 6 3 6 9 4 3 5 1 7 2 4 3 1 9 2 6 5 8 7 6 2 1 8 4 3 9 3 7 5 2 1 9 8 6 9 2 3 8 4 7 1 5 5 8 9 7 6 3 2 4 1,2,4 2,4 Schlechtes Logging & WM Gutes Logging & WM
  • 38. Lindern, heilen oder gar fit machen 38 | 68 Es müssen viele Annahmen durchgespielt werden 8 6 2 6 9 1 5 1 9 3 4 1 2 9 7 6 8 3 3 7 1 8 8 7 5 3 2 4 7 3 2 4 8 6 9 2 7 8 5 4 6 1 7 5 9 1 8 1 6 5 3 2 4 7 1 5 7 4 9 8 6 3 6 9 4 3 5 1 7 2 4 3 1 9 2 6 5 8 7 6 2 1 8 4 3 9 3 7 5 2 1 9 8 6 9 2 3 8 4 7 1 5 5 8 9 7 6 3 2 4 Schlechtes Logging & WM Gutes Logging & WM
  • 39. Lindern, heilen oder gar fit machen 39 | 68 Gutes Logging [ERROR] 2023-04-23 10:05:56 - Es ist ein fehler bei der Brechnung aufgetreten: null [ERROR] 2023-04-23 10:05:56 - Berechnung des prozentualen Anteils ◆ Produkt-Nr: 283223 (Autobatterie), verkauft: 112 von gesamt: 0 ◆ TraceId: c123630b-ecd5-4dea-813f-d463b6c1bc4c ◆ User: DWH-System, SessionID: ed210e3e4a5b ◆ Exception in thread "main" java.lang.ArithmeticException: / by zero at Kalkulation.berechneAnteil (kalkulation.kt:112) Strukturiertes Logging, i.d.R. im JSON-Format: JSON-Logging Observability, Data-Science: Auswertungen durch KI
  • 40. Lindern, heilen oder gar fit machen 40 | 68 Monitoring Monitoring z.B. Slack Logfiles überwacht alarmiert
  • 41. Lindern, heilen oder gar fit machen 41 | 68
  • 42. Lindern, heilen oder gar fit machen 42 | 68 Reaktion der Entwicklung bei zu vielen Bugs Aspekt Wichtigkeit Autom. Tests Clean Code Monitoring Wissensmgmt. Gutes Logging und Monitoring haben sich leider noch nicht als Standard etabliert.
  • 43. Lindern, heilen oder gar fit machen 43 | 68 Gute Überwachung reduziert Wartungskosten deutlich! Aspekt Wegwerf Standard Hochqualitativ Autom. Tests Clean Code Monitoring Wissensmgmt. Und ist mit vergleichsweise wenig Aufwand realisierbar - auch nachträglich! €
  • 44. Lindern, heilen oder gar fit machen 44 | 68 Wikipedia … Der Wartungsaufwand wird darüber hinaus stark von der betreffenden Software selbst (Fehlerdichte, Wartbarkeit) und den mit der Wartung befassten Personen (Erfahrung, Mitarbeit von Spezialisten) und Prozessen beeinflusst. Der Aufwand kann so auf ein Fünffaches anwachsen oder auf ein Fünftel reduziert werden.[11]
  • 45. Lindern, heilen oder gar fit machen 45 | 68 Innovation Entwicklung Start- phase Produktions- phase Moderni- sierung End of Life Entwicklungsteam Skills: a) kreativ b) schnell c) spaßgetrieben Faktor Mensch
  • 46. Lindern, heilen oder gar fit machen 46 | 68 Warum die Wartbarkeit auf der Strecke bleibt ❯ Software-Entwickler sind Dopamin-Junkies! ❯ Belohnung durch Knobeln und der funktionierende Lösung ◆ Bug finden ⇒ Belohnung ◆ Auch automatisierte Tests funktionieren ⇒ Belohnung ◆ Apropos sauberer Code: Review, Approve ⇒ Belohnung ❯ Anschl. Wartbarkeitsverbesserungen triggern das Belohnungssystem nicht: ◆ Nach einer langen Bug-Suche Maßnahmen zu ergreifen, um beim nächsten Mal schneller zu sein ◆ Logging verbessern ◆ Dokumentieren
  • 47. Lindern, heilen oder gar fit machen 47 | 68 Warum komplexe, schwer wartbare Systeme entstehen ❯ Techietekten sind auch Dopamin-Junkies ❯ Belohnung durch das Schaffen komplexer Systeme ◆ Informiert: Lieben den „Vorsprung“ ⇒ Belohnung ◆ Das Unmögliche möglich machen ⇒ Belohnung ◆ Je mehr desto cooler:
  • 48. Lindern, heilen oder gar fit machen 48 | 68
  • 49. Lindern, heilen oder gar fit machen 49 | 68 Warum oft komplexe und schwer wartbare Systeme entstehen ❯ Techietekten sind auch Dopamin-Junkies ❯ Belohnung durch das Schaffen komplexer Systeme ◆ Informiert: Lieben den „Vorsprung“ ⇒ Belohnung ◆ Das Unmögliche möglich machen ⇒ Belohnung ◆ Je mehr desto cooler: ❯ Gute Architekten sind selten und lieben das Abwägen ◆ Hard Skills: Programmierung, Analyse, Datenmodellierung, DDD, Security, Datenschutz, Projektmanagement ◆ Soft Skills: Geschulte Rhetorik, Überzeugungskraft, Diplomatie, Zielstrebigkeit, Geschäftssinn €
  • 50. Lindern, heilen oder gar fit machen 50 | 68 Reaktion der Entwicklung bei zu vielen Bugs Aspekt Wichtigkeit Autom. Tests Clean Code Monitoring Wissensmgmt. Gutes Wissensmanagement ist leider noch schwierig zu realisieren.
  • 51. Lindern, heilen oder gar fit machen 51 | 68 Warum wird so ungern dokumentiert? ❯ Dokumentation im Code ◆ Entwicklung: Der Code wird möglichst selbsterklärend geschrieben … … somit brauchen wir keine Doku (?) ◆ Zeitdruck (?) ◆ Keine Belohnung, da Doku nicht „läuft“ (!) ❯ Dokumentation im Wiki / Confluence: ◆ Wird eh nicht gelesen … ◆ … warum? Die Suche ist zu schlecht, man findet nichts.
  • 52. Lindern, heilen oder gar fit machen 52 | 68 In Zukunft: KI im Wissensmanagement Source-Code Confluence Reports In welchem Service wird die Bonität des Kunden berechnet? Die Bonität wird im Service credit-rating berechnet. Wie lautet die GitLab-URL davon? https://gitlab.firma.com/finance/credit- rating
  • 53. Lindern, heilen oder gar fit machen 53 | 68 Agenda ❯ Lifecycle einer Software ❯ Was ist Software-Wartung? ❯ Die Ursachen hoher Wartungskosten ❯ Wie lassen sich diese Kosten senken? ❯ Wann lindern, wann heilen oder gar fit machen?
  • 54. Lindern, heilen oder gar fit machen 54 | 68 Symptome hoher Wartungskosten & Ursachen Lange Umsetzung Anzahl / Kosten von Bugs Hohe Lizenzkosten Hohe Personalkosten Symptome: Hohe Wartungskosten
  • 55. Lindern, heilen oder gar fit machen 55 | 68 Indikatoren für eine Modernisierung oder Beendigung Lange Umsetzung Anzahl / Kosten von Bugs Hohe Lizenzkosten Hohe Personalkosten Symptome: Günstigere Konkurrenz-Produkte Geschäftsmodell der Software Hohe Wartungskosten Wartung End of Life Modernisieren lindern heilen fit machen
  • 56. Lindern, heilen oder gar fit machen 56 | 68 Messungen helfen ❯ Bekannte Verfahren: ◆ ATAM (Architecture Tradeoff Analysis Method) ◆ SAAM (Software Architecture Analysis Method) ◆ Fagan Inspektion ◆ CBAM (Cost Benefit Analysis Method) erweitert ATAM ❯ Das bekannteste ist ATAM und ◆ liefert eine Bewertung von Qualitätsszenarien, ◆ identifiziert Schwachstellen in der Architektur, ◆ erkennt technische Schulden, ◆ erstellt ggf. einen Plan, sie zu reduzieren.
  • 57. Lindern, heilen oder gar fit machen 57 | 68 Das kennen wir bereits Was der Kunde beschrieb Was die Entwicklung implementierte
  • 58. Lindern, heilen oder gar fit machen 58 | 68 Was haben wir gelernt? Was die Entwicklung implementierte Wie Patches angewendet werden Wie das System dokumentiert wurde Wie aussagestark Fehler geloggt werden Was der Kunde beschrieb
  • 59. Lindern, heilen oder gar fit machen 59 | 68 Take Home 6% Anfoderungen 5% Design 7% Impl. 15% Testen 67% Wartung /5 (?) Kosteneinsparung Quick-Wins: • Verbesserte Diagnostik • Kluges Team-Management • KI-unterstütztes Wissensmgmt. Ursachen: • Wachsende techn. Schulden • Unangemessene Architekturen • Schwindendes Know-how ⇒ Viele und teure Bugs
  • 61. Lindern, heilen oder gar fit machen 61 | 68 [Economics] https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.88.7697&rep=rep1&type=pdf [Statista] https://de.statista.com/statistik/daten/studie/316498/umfrage/lebensdauer-von-autos-deutschland/ [Wartungshölle] https://blog.codecentric.de/wartungshoelle-nein-danke [ShortNote] https://www.ques10.com/p/21788/short-note-on-software-maintenance [MainOver] https://www.tutorialspoint.com/software_engineering/software_maintenance_overview.htm [ResearchGate] https://www.researchgate.net/figure/Costs-of-Software-Development-Stages-11_fig1_232590980 [Seven2one] https://www.seven2one.de/blog/damit-ein-it-system-laeuft-und-laeuft-und-laeuft-warum-softwarepflege- unerlaesslich-ist/ Referenzen
  • 62. Lindern, heilen oder gar fit machen 62 | 68 [JRiedesel] Jamie Riedesel, Software Telemetrie, Manning Publications (31. August 2021), ISBN: 978-1617298141 [PWilkins] Phil Wilkins, Logging in Action, Manning (10. Mai 2022), ISBN: 978-1617298356 [Mjulian] Mike Julian, Practical Monitoring, O'Reilly UK Ltd. (23. November 2017), ISBN: 978-1491957356 [JDiakun] J. Diakun et al., Splunk Operational lntelligence, Packt Publishing; (28. Mai 2018), ISBN: 978-1788835237 [AAthik] Asjad Athik, Elastic Stack 8.0, Packt Publishing (22. Dezember 2017), ISBN: 978-1787281868 [FLehner] Franz Lehner, Wissensmanagement, Carl Hanser Verlag GmbH, ISBN: 978-3446467804 [AChuvakin] Anton Chuvakin et al., Logging and Log Management, Syngress, ISBN: 978-1597496353 Referenzen
  • 63. Lindern, heilen oder gar fit machen 63 | 68 [MGiudice] M. Giudice, Knowledge Management and Al in Society 5.0, Routledge (10. März 2023), ISBN: 978-1032191911 [CMajors] C. Majors, Observability Engineering, O'Reilly Media (14. Juni 2022), ISBN: 978-1492076445 [KKhan] Koffa Khan, Cloud Monitoring, ASIN: B0BZX7BVGT [Mjulian] Mike Julian, Practical Monitoring, O'Reilly UK Ltd. (23. November 2017), ISBN: 978-1491957356 [TKramm] J. Thorsten Kramm, Monitoring mit Zabbix, dpunkt.verlag GmbH (1. Februar 2016), ISBN: 978-3864903359 [LudLich] Jochen Ludewig und Horst Lichter, Software Engineering, dpunkt.verlag (2. Februar 2023), ISBN: 978-3864905988 Referenzen
  • 64. Lindern, heilen oder gar fit machen 64 | 68 [DThielke] Refactoring - wenn Deine Software bald stirbt..., https://youtu.be/VqW0tVOrsWE [TTühmA] SE12a Softwarewartung zu Silvester https://youtu.be/6K_xc3b-bfY [TTühmB] SE12b Arten der Softwarewartung - https://youtu.be/kkUNcAYmMOg [TTühmC] SE12c Migration von Altsystemen - https://youtu.be/kkUNcAYmMOg [GateSmashers] Perfective, Preventive, Adaptive, Corrective Maintenance - https://youtu.be/nulFv99VBGs Video-Referenzen
  • 65. Lindern, heilen oder gar fit machen 65 | 68 [S. 8] https://stock.adobe.com/de/search?k=%22nicht+vergessen%22&asset_id=1931163881 [S. 23, 24] https://de.wikipedia.org/wiki/Gift#/media/Datei:Skull_and_Crossbones.svg [S. 26] https://pixabay.com/de/illustrations/smiley-erschrocken-%C3%BCberrascht-angst-1958283/ [S. 30] https://pixabay.com/de/vectors/symbol-stoppuhr-uhr-zeit-schwarz-157350/ [S. 32] https://github.com/KentBeck [S. 32] https://commons.wikimedia.org/wiki/File:Webysther_20150414193208_-_Martin_Fowler.jpg Bildernachweise
  • 66. Lindern, heilen oder gar fit machen 66 | 68 [S. 32] https://www.itdays.ro/speaker/uncle-bob [S. 36, 51] https://pixabay.com/de/vectors/h%C3%A4kchen-pr%C3%BCfen-korrekt-ok-jawohl-1292787/ [S. 35] https://www.faz.net/aktuell/feuilleton/medien/die-sesamstrasse-wird-50-jahre-alt-18584427/die-aktuelle- besetzung-der-18584422.html [S. 40] https://www.vectorstock.com/royalty-free-vector/software-developer-at-work-comic-book-style-vector-7481852 [S. 46, 47, 49] https://www.pinterest.de/pin/124693483422919015/ [S. 46, 51] https://stock.adobe.com/de/images/yawn-female-emoticon/110644640 Bildernachweise
  • 67. Lindern, heilen oder gar fit machen 67 | 68 [S. 30] https://pixabay.com/de/vectors/symbol-stoppuhr-uhr-zeit-schwarz-157350/ [S. 49] http://bits-communication.de/wp-content/uploads/2014/10/einfach-statt-kompliziert-2.jpg [S. 52] https://uxwing.com/artificial-intelligence-ai-icon/ [S. 52] https://commons.wikimedia.org/wiki/File:Vision_Flat_Icon.svg [S. 39] https://scontent-dus1-1.xx.fbcdn.net/v/t1.6435-9/33083952_2126750144232836_2052298604260884480_n.jpg [S. 40] https://pixabay.com/de/vectors/messger%C3%A4t-symbole-leistung-1294568/ Bildernachweise
  • 68. Lindern, heilen oder gar fit machen 68 | 68 www.iks-gmbh.com