Upgrade to Pro — share decks privately, control downloads, hide ads and more …

The Art of Software Reviews (JUG Zürich)

The Art of Software Reviews (JUG Zürich)

Jede Software besitzt „Potenzial“, also „besser geht immer“. Aber bevor wir anfangen, wild an unseren Systemen zu verschlimmbessern, benötigen wir zuerst einen ordentlichen Überblick über dessen Stärken und Schwächen.

In diesem kompakten Vortrag möchte Gernot einen Rundumschlag versuchen: beginnend mit Review-Zielen und -Scope über die notwendigen Personen (aka Stakeholder) bis hin zu Review-Methodik und der überzeugenden Darstellung von Schlussfolgerungen und Empfehlungen.

Dr. Gernot Starke

October 01, 2021
Tweet

More Decks by Dr. Gernot Starke

Other Decks in Programming

Transcript

  1. The Art of
    Software Reviews
    Gernot Starke
    INNOQ Fellow

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  4. Software
    Reviews
    ???

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  7. Software Reviews
    Warum – Was – Wer - Wie
    Agenda

    View full-size slide

  8. Warum – Was – Wer - Wie
    Warum Software Reviews?

    View full-size slide

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

    View full-size slide

  10. Reviews
    vermeiden...
    lösungsgetriebenen
    Aktionismus

    View full-size slide

  11. Behandlung
    ohne
    Untersuchung

    View full-size slide

  12. Cannabidiol
    100mg/Tag

    View full-size slide

  13. • Ü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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  17. Warum – Was – Wer - Wie
    Scoping
    ernst
    nehmen!

    View full-size slide

  18. • internes Konzern-CRM:
    • Prozesse: Content-Akquise, Aufbereitung,
    Freigabe
    • Projektorganisation
    • SW-Technik
    • kein Betrieb
    Warum – Was – Wer - Wie
    Beispiele

    View full-size slide

  19. • (Groß-)Maschinenbau:
    • SW-Architektur + Implementierung
    • on-Device, Konfigurations-
    /Planungssystem
    • Projektorganisation
    • keine Datenquellen / -senken
    Warum – Was – Wer - Wie
    Beispiele

    View full-size slide

  20. Warum – Was – Wer - Wie
    Wer reviewt?

    View full-size slide

  21. + 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

    View full-size slide

  22. • (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

    View full-size slide

  23. • 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

    View full-size slide

  24. Warum – Was – Wer - Wie
    Wie geht das?

    View full-size slide

  25. Access
    All
    Areas

    View full-size slide

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

    View full-size slide

  27. Breitensuche:

    View full-size slide

  28. Stakeholder kennen
    viele Probleme
    (+ Lösungen).

    View full-size slide

  29. • (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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  32. 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

    View full-size slide

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

    View full-size slide

  34. Kohäsion
    (inhaltlicher Zusammenhalt)

    View full-size slide

  35. 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

    View full-size slide

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

    View full-size slide

  37. • (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

    View full-size slide

  38. Strukturanalyse
    Passt Komponentenstruktur
    zum Problem?

    View full-size slide

  39. Technologie-Analyse
    Setzen wir adäquate
    Technologie ein?

    View full-size slide

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

    View full-size slide

  41. • „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

    View full-size slide

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

    View full-size slide

  43. Probleme finden reicht nicht...

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  46. 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

    View full-size slide

  47. • 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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide