Slide 1

Slide 1 text

The Art of Software Reviews Gernot Starke INNOQ Fellow

Slide 2

Slide 2 text

Dr. Gernot Starke INNOQ Fellow üArchitektur-Verbesserer üCoach, Trainer ü arc42, aim42 ü iSAQB

Slide 3

Slide 3 text

Ähnlichkeiten... mit real-existierenden Situationen sind erwünscht. Alle Situationen abstrahiert und neutralisiert, um Non-Disclosure zu respektieren.

Slide 4

Slide 4 text

Software Reviews ???

Slide 5

Slide 5 text

Mary Million. CFO der MEMM Inc. (global investment) CFO des Jahres 2018 einer Großbank

Slide 6

Slide 6 text

Mary Million. Unabhängige Meinung Probleme in Produktion, Stabilität? Time-to-Market? Zukunftssicher?

Slide 7

Slide 7 text

Software Reviews Warum – Was – Wer - Wie Agenda

Slide 8

Slide 8 text

Warum – Was – Wer - Wie Warum Software Reviews?

Slide 9

Slide 9 text

These: Jedes System hat Potenzial Photo by John Hult on Unsplash

Slide 10

Slide 10 text

Reviews vermeiden... lösungsgetriebenen Aktionismus

Slide 11

Slide 11 text

Behandlung ohne Untersuchung …

Slide 12

Slide 12 text

Cannabidiol 100mg/Tag

Slide 13

Slide 13 text

• Übersicht: Stärken+Schwächen als Grundlage für Verbesserung • Neutrale Meinung Extremfall: Juristisch relevante Gutachten • neue Ideen / Anregungen • Bestätigungvon Vermutungen Warum – Was – Wer - Wie

Slide 14

Slide 14 text

• steigende Zahl „Prio-1 Fehler“ • Entwicklung wird immer langsamer • (Neues) Management benötigt „neutrale“ Einschätzung Warum – Was – Wer - Wie Beispiele

Slide 15

Slide 15 text

Warum – Was – Wer - Wie Was betrachten wir? (scope)

Slide 16

Slide 16 text

*: XY z.B. Warenwirtschaft, online-Shop, Planungssystem, ERP-System, whatever-you-develop unser XY * externe Nachbarsysteme 3rd Party Zulieferung („Framework“) Datenqu elle Datenqu elle Datenqu elle Daten Infrastruktur Entwicklungs- prozesse mobile App Fremd- firmen Fremd- firmen etc.

Slide 17

Slide 17 text

Warum – Was – Wer - Wie Scoping ernst nehmen!

Slide 18

Slide 18 text

Warum – Was – Wer - Wie Wer reviewt?

Slide 19

Slide 19 text

+ unabhängig + neutral + neue Impulse - längere Einarbeitung - Risiko „oberflächlich“ - höhere Kosten + fachliche Erfahrung + im Unternehmen vernetzt + kostengünstig - Risiko „befangen“ - Risiko „betriebsblind“ - kein Benchmarking - „Prophet im eigenen Land“ Warum – Was – Wer - Wie

Slide 20

Slide 20 text

• (Riesen-)Online-Shop: • 4 Personen extern (INNOQ), ca. 100 PT • 3 Personen intern, 30+ PT • Verpflichtung, 24 Monate keine weiteren Aufträge für dieses Unternehmen Warum – Was – Wer - Wie Beispiele Zukunftsfähigkeit von Architektur und Implementierung

Slide 21

Slide 21 text

• Telco („Billing-Kette“): • 3 externe Dienstleister, jeweils 2-3 Personen, gesamt ca. 200 PT • 2-3 Personen intern, 30+ PT • Aufteilung entlang der Prozesskette (u.a. Wirknetz, Pre-/Post-Billing) Warum – Was – Wer - Wie Beispiele Tragfähigkeit der Architektur sowie Integration von Standardprodukten

Slide 22

Slide 22 text

Warum – Was – Wer - Wie Wie geht das?

Slide 23

Slide 23 text

kostenfreier Download! So geht das!

Slide 24

Slide 24 text

Access All Areas

Slide 25

Slide 25 text

Access ALL Areas. Breitensuche Stakeholder Kontext Qualität Architektur Code Laufzeit Daten Tests Prozesse Infrastruktur Security .... Analyze

Slide 26

Slide 26 text

Breitensuche:

Slide 27

Slide 27 text

Stakeholder kennen viele Probleme (+ Lösungen).

Slide 28

Slide 28 text

• (Riesen-)Online-Shop: • Interviews zeigten: • (krasse) Diskrepanzen in Sichtweisen Management + Entwicklungsteams • Architekturprobleme, die beim Management nicht bekannt waren Warum – Was – Wer - Wie Beispiele Zukunftsfähigkeit von Architektur und Implementierung

Slide 29

Slide 29 text

Warum – Was – Wer - Wie Metriken • Kopplung / Abhängigkeiten • Code-Komplexität • Performance • … gut

Slide 30

Slide 30 text

Warum – Was – Wer - Wie Metriken • Kopplung / Abhängigkeiten • Code-Komplexität • Performance • … • Fehler pro Baustein • Know-How pro Baustein • Änderungshäufigkeit • … gut besser

Slide 31

Slide 31 text

Telekommunikation: • Management beobachtet (Java-) Metriken nach Ampel-System (CAST Application Intelligence Platform) • >70% des Systems in xslt implementiert, • nicht von CAST erfasst Warum – Was – Wer - Wie Beispiele

Slide 32

Slide 32 text

komplexer Code, der häufig geändert wird. Beachte Hotspots

Slide 33

Slide 33 text

Hotspots bei Docker

Slide 34

Slide 34 text

Kohäsion (inhaltlicher Zusammenhalt)

Slide 35

Slide 35 text

Wo sollen wir anfangen? (uns fehlt Zeit...)

Slide 36

Slide 36 text

Fokus auf höchste Wertschöpfung Photo by Michael Dziedzic on Unsplash

Slide 37

Slide 37 text

Fokus auf intensivste Nutzung Photo by Martin Adams on Unsplash

Slide 38

Slide 38 text

Photo by Martin Adams on Unsplash Konkret: • Usage Analytics • Business Monitoring Logfiles…

Slide 39

Slide 39 text

Anti-Beispiel (schlechte Kohäsion) UDS (User Data Service) Order & Fullfillment Vouchers & Rebates Sales & Contracts Archive Price Management Marketing & Sales Campaigns Atlas Customs & Logistics Pricing Engine Sales Backend Private+Corp Sales Backend eGovernment Ermittelt Preise Berechnungen, die für Preise releant sind

Slide 40

Slide 40 text

Analyse von Entwicklungsprozessen Requirements, Architektur/Entwurf, Implementierung, Test, Deployment, Release, Support...

Slide 41

Slide 41 text

• (Groß-)Maschinenbau: • Prozessproblem (Know-How „Flaschenhals“) führt zu erheblichen Risiken in Code Beispiele Ziel: Möglichkeiten zur Verbesserung der Architektur aufzeigen Warum – Was – Wer - Wie

Slide 42

Slide 42 text

Strukturanalyse Passt Komponentenstruktur zum Problem?

Slide 43

Slide 43 text

Technologie-Analyse (1) Setzen wir adäquate Technologie ein?

Slide 44

Slide 44 text

Technologie-Analyse (2) Setzen wir Technologie adäquat ein?

Slide 45

Slide 45 text

https://www.youtube.com/watch?v=xL40UN5p6IY

Slide 46

Slide 46 text

https://www.youtube.com/watch?v=xL4 0UN5p6IY

Slide 47

Slide 47 text

Analyse von Anwendungsdaten Datenstrukturen, Datenbanken, Verteilung/Replikation, Inhalte

Slide 48

Slide 48 text

• „Warenwirtschaft“: • Fachlich sauber strukturiert • In vielen Teilen (nearly) clean-code • Datenbank + -strukturen völlig desolat Warum – Was – Wer - Wie Beispiele Ziel: Verschiedene Wege zur „ganzheitlichen Verbesserung“ aufzeigen

Slide 49

Slide 49 text

Warum – Was – Wer - Wie Breitensuche Metriken Struktur Anwendungs- daten Qualität (ATAM) Security Prozesse

Slide 50

Slide 50 text

Probleme finden reicht nicht...

Slide 51

Slide 51 text

Probleme gefunden. Jetzt überzeugend kommunizieren. • Management Summary • (priorisierte) Probleme • Maßnahmenvorschläge

Slide 52

Slide 52 text

Warum – Was – Wer - Wie Der Abschluss... Bericht: • Management Summary • (priorisierte) Probleme • Maßnahmenvorschläge gut

Slide 53

Slide 53 text

Warum – Was – Wer - Wie Der Abschluss... Bericht: • Management Summary • (priorisierte) Probleme • Maßnahmenvorschläge 2 Vorträge: • Vorab „in kleiner Runde“ • Feinschliff • Abschluss „in großer Runde“ gut besser

Slide 54

Slide 54 text

• Spezial-Maschinenbau: • Management fokussiert auf mögliche Problemen • Abschlusspräsentation fokussiert auf Stärken der Teams + des Systems Warum – Was – Wer - Wie Beispiele Ziel: „Benchmarking“ Architektur und Entwicklung

Slide 55

Slide 55 text

Fazit 1. Ziele und Scope klären 2. (mehrere!) Stakeholder involvieren 3. Breiten- vor Tiefensuche 4. Mehr als Code untersuchen!! 5. Ergebnisse präsentieren

Slide 56

Slide 56 text

Fazit Risiken und Probleme lauern überall. Risiken und Probleme lauern überall. Nicht nur im Code. Breitensuche

Slide 57

Slide 57 text

Danke. Gernot Starke [email protected] Twitter: @gernotstarke www.innoq.com