Slide 1

Slide 1 text

The Art of Software Reviews Dr. Gernot Starke Photo by gustavo centurion on Unsplash

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

Annahme: Sie haben Software…

Slide 4

Slide 4 text

Room for improvement… Photo by John Hult on Unsplash

Slide 5

Slide 5 text

??

Slide 6

Slide 6 text

Software Reviews Warum – Was – Wer - Wie Agenda

Slide 7

Slide 7 text

Warum – Was – Wer - Wie Warum Software Reviews?

Slide 8

Slide 8 text

Reviews vermeiden... lösungsgetriebenen Aktionismus

Slide 9

Slide 9 text

Behandlung ohne Untersuchung …

Slide 10

Slide 10 text

Cannabidiol 100mg/Tag

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

Ziele schärfen Photo by Angelina Litvin on Unsplash Warum – Was – Wer - Wie

Slide 13

Slide 13 text

Photo by Angelina Litvin on Unsplash Time-to-Market? IT-Sicherheit? Performance? Zukunfts- sicherheit? Erweiterbarkeit? Wer-trägt Schuld? Bestätigung

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

Photo by Michael Dziedzic on Unsplash

Slide 17

Slide 17 text

*: XY z.B. Warenwirtschaft, online-Shop, Planungssystem, ERP-System, whatever-you-develop unser XY* externe Nachbarsysteme 3rd Party Zulieferung („Framework“) Datenquel le Datenquel le Datenquel le Datenquelle Vor- verarbeitung nachgelagerte Verarbeitung mobile App Fremd- firmen Fremd- firmen etc.

Slide 18

Slide 18 text

Warum – Was – Wer - Wie Scoping ernst nehmen!

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

Fokus auf intensivste Nutzung Photo by Martin Adams on Unsplash

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

Tipp: Erweitere Suchraum Photo by Angelina Litvin on Unsplash Warum – Was – Wer - Wie

Slide 23

Slide 23 text

Erweitere Suchraum Photo by William Bossen on Unsplash Beispiel: Rechnungswesen Konzern (Metrik basierter) Review untersucht Java-Code: Findet „Clean-Code“ und spricht Lob aus • Realität: Krass schlechte Time-To-Market • 70% des Codes ist XSLT, beim Review „übersehen“

Slide 24

Slide 24 text

Warum – Was – Wer - Wie Wer reviewt?

Slide 25

Slide 25 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 26

Slide 26 text

• Automotive (Zulieferer): • 1 Person extern max. 10 PT) (Qualitative Analyse analog ATAM), • 2 Personen intern Warum – Was – Wer - Wie Beispiele Zukunftssicherheit der Architektur „Multimedia-Framework“

Slide 27

Slide 27 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 28

Slide 28 text

Warum – Was – Wer - Wie Wie geht das?

Slide 29

Slide 29 text

* The Police, englische New-Wave-Band, gilt als eine der erfolgreichsten Rockbands. Don‘t Stand So Close to Me* #fightCoronaSong, belegte 1980 Platz-1 der britischen Single-Charts.

Slide 30

Slide 30 text

Alles miterleben: AAA

Slide 31

Slide 31 text

Access All Areas

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

Breitensuche Metriken Struktur Anwendungs- daten Qualität Security Prozesse Code Technologie etc.

Slide 34

Slide 34 text

Breitensuche:

Slide 35

Slide 35 text

Stakeholder kennen viele Probleme (+ Lösungen).

Slide 36

Slide 36 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 37

Slide 37 text

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

Slide 38

Slide 38 text

Photo by Ross Findon on Unsplash Not all artifacts are equal. Some are more important.

Slide 39

Slide 39 text

Photo by Ross Findon on Unsplash Häufige Änderungen → häufig Fehler

Slide 40

Slide 40 text

Achte auf Änderungsrate Photo by Ross Findon on Unsplash

Slide 41

Slide 41 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 42

Slide 42 text

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

Slide 43

Slide 43 text

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

Slide 44

Slide 44 text

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

Slide 45

Slide 45 text

Tipp: Expect to be wrong Photo by Andrej Lišakov on Unsplash Warum – Was – Wer - Wie

Slide 46

Slide 46 text

Expect to be wrong Photo by William Bossen on Unsplash Bleiben Sie ergebnisoffen

Slide 47

Slide 47 text

Expect to be wrong Photo by William Bossen on Unsplash Beispiel: Datenpflege eCommerce • Review findet „Verbesserungspotential“ in entsprechender UI • Realität: Datenpflege per Batch-Import, UI wird (praktisch) nur zur Ansicht verwendet

Slide 48

Slide 48 text

Expect to be wrong Photo by William Bossen on Unsplash Konkret: • Review-Ergebnisse in zwei Iterationen vorstellen • Erste Iteration für Feedback und Korrekturen

Slide 49

Slide 49 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 50

Slide 50 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 51

Slide 51 text

Fazit 1. Ziele und Scope klären 2. Stakeholder involvieren 3. Schwerpunkte aus Zielen ableiten 4. Breiten- vor Tiefensuche: Mehr als Code!! 5. Ergebnisse in zwei Iterationen präsentieren

Slide 52

Slide 52 text

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