7. Voranalyse
Der Monolith
30. September 2021
ZEISS Seite 13
„All or Nothing“ - Deployment
Umfangreiche Releaseplanung
Kompatibilität aller Bestandteile
zwingend
Begrenzte Skalierbarkeit
Hohes Detailwissen nötig
Lange Build-Zeiten
8. Voranalyse
Warum kein Big Bang?
30. September 2021
ZEISS Seite 14
Alt
Neu
Kick-Off Neues Produkt Mögliche Ablösung
altes Produkt
Funktionsumfang
t
9. Voranalyse
Warum kein Big Bang?
30. September 2021
ZEISS Seite 15
Alt
Kick-Off Neues Produkt Mögliche Ablösung
altes Produkt
Funktionsumfang
t
Neu
11. Detailanalyse
Qualitätsszenarien & Qualitätsbaum
30. September 2021
ZEISS Seite 18
ISO
25010
Security
Confidentiality
S1
Authenticity
S2
Integrity
S3
Reliability
Maturity
S4
Recoverability
S5
Fault tolerance
S6
Maintainability
Modularity
S7
Modifiability
S8
Testability
S9
Analysability
S10
Functionality
Appropriateness
S11
Completeness
S12
Compatibility
Interoperability
S13
Usability
User error
protection
S14
Portability
Installability
S15
Efficiency
Time behaviour
S16
S3 Integrity Extensions to the system, such as plugins, must be checked during startup for authenticity so that only
officially permitted extensions can be introduced into the system.
S10 Analyzability New developers can be productive within four work weeks. This includes a functioning development
environment as well as the necessary understanding of the basic software structures.
S13 Interoperability If a new hardware component must be addressed by the software, only a new software adapter needs to be
implemented as far as no further workflow changes from a business perspective are associated with this
hardware.
https://iso25000.com/index.php/en/iso-25000-standards/iso-25010
20. Konzeption
30. September 2021
ZEISS Seite 30
Monolith vs. Modulith
Monolith Modulith
Ein gemeinsamer Releaseplan
Alle Bestandteile werden
gemeinsam deployt
Trennung der Verantwortlichkeiten
stark erzwungen.
Alle Bestandteile werden
gemeinsam deployt
Ein gemeinsamer Releaseplan
Ein Code Repository Mehrere Code Repositories
Trennung der Verantwortlichkeiten kaum
Erzwungen.
Aufteilung technisch getrieben Aufteilung fachlich getrieben
21. Konzeption
30. September 2021
ZEISS Seite 31
Monolith vs. Modulith
Micro Services Modulith
Unterschiedliche Releasepläne
Bestandteile werden unabhängig
von einander deployt und betrieben
Trennung der Verantwortlichkeiten
stark erzwungen.
Mehrere Code Repositories
Aufteilung fachlich getrieben
Alle Bestandteile werden
gemeinsam deployt
Ein gemeinsamer Releaseplan
Trennung der Verantwortlichkeiten
stark erzwungen.
Mehrere Code Repositories
Aufteilung fachlich getrieben
22. Konzeption
30. September 2021
ZEISS Seite 32
Monolith vs. Modulith
Modulith Microservices
vs.
Deployment Unit Fachliche Module Interne Kommunikation Externe Kommunikation
Sales
Consult-
ing
Invoice-
ing
Sales
Consult-
ing
Invoice-
ing
28. Konzeption
30. September 2021
ZEISS Seite 38
Eventstorming - Praxis
Fachliches
Modul
Fachliches
Modul
Fachliches
Modul Fachliches
Modul
Gesamtaufwand: ca. 8 PT
35. Modularisierung
30. September 2021
ZEISS Seite 45
Gefahr der „Shotgun Surgery“!
Software System
mgl.
Modul
Software System
Strukturierte Modularisierung Unstrukturierte Modularisierung
38. Modularisierung
30. September 2021
ZEISS Seite 48
Change by Abstraction
Ausgangszustand Abstrahierte
Schnittstellen
Geordneter
Zugriff
Geordnete interne
Struktur
40. Modularisierung
30. September 2021
ZEISS Seite 50
Aufteilung des Quellcodes
Foundation Repository
Produkt Repository
Bestandscode
Strukturierter
Code
Strukturierter Code
Einbindung per
Paketmanager
Direkte
Referenzierung
41. Modularisierung
30. September 2021
ZEISS Seite 51
Aufteilung des Quellcodes
Einbindung per
Paketmanager
Direkte
Referenzierung
Produkt Repository
Strukturierter
Code
Strukturierter
Code
Foundation Repository
Bestandscode
Strukturierter
Code
Strukturierter Code
42. Modularisierung
30. September 2021
ZEISS Seite 52
Migration der UI
(Halb)automatischer
Workflow bzw.
Prozess Parameter
Details
MenuBar
Globale
Statusinformationen Lokale Statusinformationen
Alter Aufbau
Neuer Aufbau
43. Modularisierung
30. September 2021
ZEISS Seite 53
Migration der UI
(Halb)automatischer
Workflow bzw.
Prozess Parameter
Details
MenuBar
Globale
Statusinformationen Lokale Statusinformationen
Alter Aufbau
Neues Hauptfenster
Neuer Aufbau
44. Modularisierung
30. September 2021
ZEISS Seite 54
Migration der UI
(Halb)automatischer
Workflow bzw.
Prozess Parameter
Details
MenuBar
Globale
Statusinformationen Lokale Statusinformationen
Alter Aufbau
Neuer Aufbau
45. Modularisierung
30. September 2021
ZEISS Seite 55
Migration der UI
(Halb)automatischer
Workflow bzw.
Prozess Parameter
Details
MenuBar
Globale
Statusinformationen Lokale Statusinformationen
Alter Aufbau
Neuer Aufbau
46. Modularisierung
30. September 2021
ZEISS Seite 56
Migration der UI
(Halb)automatischer
Workflow bzw.
Prozess Parameter
Details
MenuBar
Globale
Statusinformationen Lokale Statusinformationen
Alter Aufbau
Neuer Aufbau
47. Modularisierung
30. September 2021
ZEISS Seite 57
Migration der UI
(Halb)automatischer
Workflow bzw.
Prozess Parameter
Details
MenuBar
Globale
Statusinformationen Lokale Statusinformationen
Alter Aufbau
Neuer Aufbau
48. Modularisierung
30. September 2021
ZEISS Seite 58
Migration der UI
(Halb)automatischer
Workflow bzw.
Prozess Parameter
Details
MenuBar
Globale
Statusinformationen Lokale Statusinformationen
Alter Aufbau
Neuer Aufbau
49. Sprecher
30. September 2021
ZEISS Seite 71
Hendrik Lösch
Management Consultant
@HerrLoesch
hendrik.loesch@zeiss.com
hendrik-loesch.de
slideshare.net/HendrikLsch1
https://www.linkedin.com/learning/instructors/hendrik-losch