18
Software-Kartographie & Software-Audits Wie erkennt Ihr gute IT-Systeme? Gastvortrag TU Darmstadt 18.01.2019 Alex Hofmann Technischer Geschäftsführer MaibornWolff GmbH

Software-Kartographie Wie erkennen Sie gute IT-Systeme?stg-tud.github.io/eise/WS18-weiteres-SoftwareKartograph... · 2019-02-11 · Technische Schulden Fehler Seiteneffekte Nacharbeiten

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Software-Kartographie Wie erkennen Sie gute IT-Systeme?stg-tud.github.io/eise/WS18-weiteres-SoftwareKartograph... · 2019-02-11 · Technische Schulden Fehler Seiteneffekte Nacharbeiten

Software-Kartographie & Software-Audits

Wie erkennt Ihr gute IT-Systeme?

GastvortragTU Darmstadt18.01.2019

Alex HofmannTechnischer GeschäftsführerMaibornWolff GmbH

Page 2: Software-Kartographie Wie erkennen Sie gute IT-Systeme?stg-tud.github.io/eise/WS18-weiteres-SoftwareKartograph... · 2019-02-11 · Technische Schulden Fehler Seiteneffekte Nacharbeiten

Over-Engineering

Technische Architektur

Fa

ch

lich

keit

WartungshölleEingeschränkt

wartbar

IdealeEntwicklung

IT-Sanierung

Vier Qualitäts-Korridorefür Software

Page 3: Software-Kartographie Wie erkennen Sie gute IT-Systeme?stg-tud.github.io/eise/WS18-weiteres-SoftwareKartograph... · 2019-02-11 · Technische Schulden Fehler Seiteneffekte Nacharbeiten

Over-Engineering

Technische Architektur

Fa

ch

lich

keit

WartungshölleEingeschränkt

wartbar

IdealeEntwicklung

IT-Sanierung

Praxis und Ideal –oft weit auseinander

Page 4: Software-Kartographie Wie erkennen Sie gute IT-Systeme?stg-tud.github.io/eise/WS18-weiteres-SoftwareKartograph... · 2019-02-11 · Technische Schulden Fehler Seiteneffekte Nacharbeiten

Der Teufelskreiszur Wartungshölle

Feature-,Budget-,

TermindruckIneffizienzim Team

ParallelitätÜberlast

Timeboxing

ProvisorienKein Refactoring

Reduzierte TestsTechnische Schulden

FehlerSeiteneffekte

NacharbeitenHohe Änderungsaufwände

Keine verlässlichen Schätzungen

Qualitäts-mängel

intern

extern

Page 5: Software-Kartographie Wie erkennen Sie gute IT-Systeme?stg-tud.github.io/eise/WS18-weiteres-SoftwareKartograph... · 2019-02-11 · Technische Schulden Fehler Seiteneffekte Nacharbeiten

Hölle der Abhängigkeiten

Page 6: Software-Kartographie Wie erkennen Sie gute IT-Systeme?stg-tud.github.io/eise/WS18-weiteres-SoftwareKartograph... · 2019-02-11 · Technische Schulden Fehler Seiteneffekte Nacharbeiten

Hölle der Verschachtelung

10+Nesting Level

Page 7: Software-Kartographie Wie erkennen Sie gute IT-Systeme?stg-tud.github.io/eise/WS18-weiteres-SoftwareKartograph... · 2019-02-11 · Technische Schulden Fehler Seiteneffekte Nacharbeiten

1 Klasse, die beijeder System

-änderung ange-passt wird.

Hölle der Monolithen

13277Lines of Code

1 Klasse, die beijeder Systemänderung

angepasst wird.

Page 8: Software-Kartographie Wie erkennen Sie gute IT-Systeme?stg-tud.github.io/eise/WS18-weiteres-SoftwareKartograph... · 2019-02-11 · Technische Schulden Fehler Seiteneffekte Nacharbeiten

Den Teufelskreis durchbrechen

Page 9: Software-Kartographie Wie erkennen Sie gute IT-Systeme?stg-tud.github.io/eise/WS18-weiteres-SoftwareKartograph... · 2019-02-11 · Technische Schulden Fehler Seiteneffekte Nacharbeiten

Softwarebaunachvollziehen

Technische Schuldensofort erkennen

Qualität fürWeiterentwicklung bewerten

Visualisieren Sie die interne Qualität von IT-Systemen

Grundfläche:Größe (LOC) oderKopplungsgrad Klasse

Höhe:Codemetrik fürAnalyse

Farbe:Schwellwert oderProzessmetrik

Page 10: Software-Kartographie Wie erkennen Sie gute IT-Systeme?stg-tud.github.io/eise/WS18-weiteres-SoftwareKartograph... · 2019-02-11 · Technische Schulden Fehler Seiteneffekte Nacharbeiten

Sie sehen Ihre Systeme wachsen

Testabdeckung

Kopplung(In/Outbound)

Komplexität(McCabe)

Schachtelung(NL+)

Größe(LOC)

Page 11: Software-Kartographie Wie erkennen Sie gute IT-Systeme?stg-tud.github.io/eise/WS18-weiteres-SoftwareKartograph... · 2019-02-11 · Technische Schulden Fehler Seiteneffekte Nacharbeiten

Zwei Geschichteneines Software-Kartographen

Software-Audit Agile Entwicklung

Page 12: Software-Kartographie Wie erkennen Sie gute IT-Systeme?stg-tud.github.io/eise/WS18-weiteres-SoftwareKartograph... · 2019-02-11 · Technische Schulden Fehler Seiteneffekte Nacharbeiten

IT-Landschaften sind riesig.Kunden haben viel vor.

Neue GeschäftsstrategienMehr Nutzer oder neue TechnologienErhöhung der Betriebseffizienz

Betrieb der Systeme stabilisierenWartbarkeit der Systeme erhöhen

Page 13: Software-Kartographie Wie erkennen Sie gute IT-Systeme?stg-tud.github.io/eise/WS18-weiteres-SoftwareKartograph... · 2019-02-11 · Technische Schulden Fehler Seiteneffekte Nacharbeiten

Wir auditieren 5 Sichten aufdas ausgewählte IT System.

KünftigeVorhaben

FachlicheArchitektur

TechnischeArchitektur/

Code

Entwick-lungsprozess

Betrieb

Einsatz der Softwarekartenim Audit

Page 14: Software-Kartographie Wie erkennen Sie gute IT-Systeme?stg-tud.github.io/eise/WS18-weiteres-SoftwareKartograph... · 2019-02-11 · Technische Schulden Fehler Seiteneffekte Nacharbeiten

Werkzeug: Softurbs (BTU Cottbus - Senftenberg)Grundfläche (Kopplungsgrad) , Höhe (LOC), Farbe (Entwicklung 2015)

Technische Schuld: Strukturensind nicht mitgewachsen

Page 15: Software-Kartographie Wie erkennen Sie gute IT-Systeme?stg-tud.github.io/eise/WS18-weiteres-SoftwareKartograph... · 2019-02-11 · Technische Schulden Fehler Seiteneffekte Nacharbeiten

Technische Schuld: Komplexität weiter gestiegen

Grundfläche: Lines of CodeHöhe: McCabe-KomplexitätFarbe: Auf-/Abbau von KomplexitätZeitraum: 03/2013 bis 03/2014 (12 Monate)

Abbau vonKomplexität

Aufbau vonKomplexität

Page 16: Software-Kartographie Wie erkennen Sie gute IT-Systeme?stg-tud.github.io/eise/WS18-weiteres-SoftwareKartograph... · 2019-02-11 · Technische Schulden Fehler Seiteneffekte Nacharbeiten

Regelmäßige Releases, regelmäßige Karten

Werkzeug: Softurbs (BTU Cottbus - Senftenberg). Grundfläche (Kopplungsgrad) , Höhe (LOC), Farbe (LOC)

Agile Entwicklung

Page 17: Software-Kartographie Wie erkennen Sie gute IT-Systeme?stg-tud.github.io/eise/WS18-weiteres-SoftwareKartograph... · 2019-02-11 · Technische Schulden Fehler Seiteneffekte Nacharbeiten

Blindleistung ist teuerund demotiviert

Agile Entwicklung

31% budget loss

Page 18: Software-Kartographie Wie erkennen Sie gute IT-Systeme?stg-tud.github.io/eise/WS18-weiteres-SoftwareKartograph... · 2019-02-11 · Technische Schulden Fehler Seiteneffekte Nacharbeiten

Codecharta von MaibornWolffeinfach mal ausprobieren !