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

Leichtgewichtige Software-Reviews mit LASR

Leichtgewichtige Software-Reviews mit LASR

Software-Reviews sind ein bewährtes Mittel, um Schwachstellen aufzudecken, Potenziale zu nutzen, Entscheidungen abzusichern und Architekturwissen im Team zu verbreiten. Viele klassische Review-Methoden wirken jedoch schwergewichtig und zeremoniell. Das passt oft nicht zum agilen Mindset und der iterativen Arbeitsweise in Scrum-Teams.

Hier kommt LASR ins Spiel – der Lightweight Approach for Software Reviews, ein schlanker und praxiserprobter Ansatz, der sich hervorragend in Sprints und Retrospektiven integrieren lässt und somit auch für Scrum Master von großem Nutzen ist. LASR kann man sich wie ein „Pre-Mortem auf Steroiden“ vorstellen: Anstatt erst am Projektende Feedback einzuholen, werden kritische Risiken proaktiv und frühzeitig identifiziert. Diese Methode speist sich aus Erkenntnissen aus einer dreistelligen Zahl an System- und Software-Reviews. Das Team prüft typische Risikobereiche (z. B. Architektur, Performance, Sicherheit, Testabdeckung) und legt sie auf das eigene Projekt um.

Avatar for Stefan Toth

Stefan Toth

January 16, 2025
Tweet

More Decks by Stefan Toth

Other Decks in Technology

Transcript

  1. 7 Leichtgewichtige Software-Reviews embarc.de Architektur-Themen Zerlegung Welcher Architekturstil? Wie zerfällt

    die Anwendung? Teilsysteme, Module, Komponentenbildung, Abhängigkeiten ... Technologie-Stack Was setzen wir ein? Programmiersprache(n) Bibliotheken, Frameworks, Middleware, Querschnittsthemen .... Zielumgebung Wo läuft die Software? Beim Endanwender, im eigenen Rechenzentrum, Cloud, Verteilung, Virtualisierung ... Vorgehen Wie arbeiten wir? Planen, Entwickeln, Testen, Bauen, Dokumentieren, Ausliefern, Nachjustieren, ...
  2. 9 Leichtgewichtige Software-Reviews embarc.de Wie wir Systeme designen Aus: “Decision

    Making in Software Architecture”, Hans van Vlieta, Antony Tang, 2015
  3. 10 Leichtgewichtige Software-Reviews embarc.de Wir handeln oft intuitiv nach Bauchgefühl

    Anekdoten- getrieben moralgetrieben Konsens- gesteuert emotional erfahrungsbasiert
  4. 12 Leichtgewichtige Software-Reviews embarc.de Anzeichen, dass Reviews wichtig wären... §

    Generell: Wenig Austausch zwischen Entwicklerinnen § Fehlender Überblick zu Architekturthemen § Unterschiedliche Interpretationen des Ist-Stands § Meinungsverschiedenheiten bei Design oder Zielsetzung § Große Velocity-Schwankungen § Häufiger Ruf nach Refactoring-Sprints § „historisch gewachsen“, „das System“ statt „unser System“ § ...
  5. 19 Leichtgewichtige Software-Reviews embarc.de Bewertungsmethoden CBAM Cost-Benefit Analysis Method PBAR

    Pattern Based Architecture Review TARA Tiny Architecture Review Approach ARID Architecture Review for Intermediate Designs DCAR Decision Centric Architecture Review DASE Decision and Scenario based arch. evaluation Pre-Mortem Risiko-Brainstorming and Mitigation ATAM Architecture Tradeoff Analysis Method SAAM Software Architecture Analysis Method LASR Lightweight Approach for Software Reviews
  6. 20 Leichtgewichtige Software-Reviews embarc.de Bewertungsmethoden CBAM Cost-Benefit Analysis Method PBAR

    Pattern Based Architecture Review TARA Tiny Architecture Review Approach ARID Architecture Review for Intermediate Designs DCAR Decision Centric Architecture Review DASE Decision and Scenario based arch. evaluation ATAM Architecture Tradeoff Analysis Method SAAM Software Architecture Analysis Method LASR Lightweight Approach for Software Reviews Pre-Mortem Risiko-Brainstorming and Mitigation
  7. 22 Leichtgewichtige Software-Reviews embarc.de LASR bei Leanpub Software-Systeme reviewen mit

    dem Lightweight Approach for Software Reviews - LASR Stefan Toth Stefan Zörner
  8. 26 Leichtgewichtige Software-Reviews embarc.de Mission Statements auf Webseiten… “Amazon is

    customer obsessed! If only one customer complains, we take the feedback and improve the system” “Netflix-Members are able to watch tv series and films – as much as they want, any time, everywhere, on every internet-connected device out there.” “Available everywhere, Great user experience, More convenient than piracy, Fast, reliable, always available, Scalable for many, many users.”
  9. 28 Leichtgewichtige Software-Reviews embarc.de Bewertungsmaßstab in LASR Die Top-3-5 Qualitätsziele

    bilden die Achsen des Diagramms. Die höhe der Ansprüche führt zu einer grünen Ziellinie. LASR-Ergebnisdiagramm
  10. 29 Leichtgewichtige Software-Reviews embarc.de Basis: Qualitätsmerkmale Funktionale Eignung (Functional Suitability)

    Sind die berechneten Ergebnisse genau genug / exakt, ist die Funktionalität angemessen? ... Begriffe nach ISO 25010 Zuverlässigkeit (Reliability) Ist das System verfügbar, tolerant gegenüber Fehlern, nach Abstürzen schnell wieder hergestellt? ... Benutzbarkeit (Usability) Ist die Software intuitiv zu bedienen, leicht zu erlernen, attraktiv? … Effizienz (Performance) Antwortet die Software schnell, hat sie einen hohen Durchsatz, einen geringen Ressourcenverbrauch? ... Sicherheit (Security) Ist das System sicher vor Angriffen? Sind Daten und Funktion vor unberechtigtem Zugriff geschützt? ... Portabilität (Portability) Ist die Software leicht auf andere Zielumgebungen (z.B. anderes OS) übertragbar? … Kompatibilität (Compatibility) Ist die Software konform zu Standards, arbeitet sie gut mit anderen zusammen? … Wartbarkeit (Maintainability) Ist die Software leicht zu ändern, erweitern, testen, verstehen? Lassen sich Teile wiederverwenden? ...
  11. 30 Leichtgewichtige Software-Reviews embarc.de Ist das System verfügbar, tolerant gegenüber

    Fehlern, nach Abstürzen schnell wieder hergestellt? Wiederherstellbarkeit Zuverlässigkeit Verfügbarkeit Fehlertoleranz Ist die Software leicht zu ändern, erweitern, testen, verstehen? Lassen sich Teile wiederverwenden? Änderbarkeit Wartbarkeit Analysierbarkeit Erweiterbarkeit Ist das System sicher vor Angriffen? Sind Daten und Funktion vor unberechtigtem Zugriff geschützt? Authentizität Sicherheit Vertraulichkeit Datenintegrität Sind Personen, Tiere, Sachen oder Umwelt vor Schäden durch die Software geschützt? Verifizierbarkeit Safety Betriebssicherheit Regulatorische Compliance Ist die Software leicht auf andere Zielumgebungen übertragbar? Installierbarkeit Portierbarkeit Übertragbarkeit Austauschbarkeit Ist die Software konform zu Standards, arbeitet sie gut mit anderen zusammen? Interoperabilität Kompatibilität Koexistenz Versionierungsfähigkeit Ist die Software intuitiv zu bedienen, wiedererkennbar, leicht zu erlernen, attraktiv? Erlernbarkeit Benutzbarkeit Barrierefreiheit Bedienbarkeit Antwortet die Software schnell, hat sie einen hohen Durchsatz, einen geringen Ressourcenverbrauch? Verbrauchsverhalten Performanz Kapazität Zeitverhalten Ist die Software aus einer juristischen, finanziellen oder Sicherheitsperspektive gut zu überprüfen? Nachweisbarkeit Auditierbarkeit Nachvollziehbarkeit Zurechenbarkeit Lässt sich die Software gut betreuen? Sind Produktionsprobleme leicht auffindbar und behebbar? Aktualisierbarkeit Betreibbarkeit Reaktionseffizienz Beobachtbarkeit Ist der Betrieb der Software wirtschaft- lich optimiert und lässt sich ihr Einsatz gut planen? Schätzbarkeit Kosteneffizienz Kostentransparenz Sparsamkeit Ist die Software umweltverträglich? Lässt sie sich ressourcenschonend nutzen? Emissionsarmut Nachhaltigkeit Langlebigkeit Energieeffizienz Kann die Software auf Lastschwank- ungen und Wachstum etwa in den Mengengerüsten angemessen reagieren? Elastizität Skalierbarkeit Wachstumseffizienz Deployment-Flexibilität Sind die berechneten Ergebnisse genau genug / exakt, ist die Funktionalität angemessen? Korrektheit Funktionale Eignung Vollständigkeit Angemessenheit 14 Qualitätsmerkmale als Zielsetzung
  12. 34 Leichtgewichtige Software-Reviews embarc.de Zielwerte bestimmen Hinweis: Es handelt sich

    hier um eine Einschätzung, nichts Messbares. Bereits oft von uns übertroffen. Niedrige Ansprüche Übliche Ansprüche Herausforderungen bestehen, aber Ähnliches ist bereits bekannt. Das Maximum des Machbaren Selbst vergleichbare, gute Systeme im Markt wären hier schlechter. Geringer als bei früheren Vorhaben. Unterdurchschnittliche Ansprüche Methodisch oder technisch (für uns) neue Wege erforderlich. Hohe Ansprüche 100 75 50 40 25 0 Der Zielwert zwischen 0 und 100 beschreibt jeweils, wie hoch die Erwartungen in dem Bereich sind. Im Vergleich zu anderen Zielen der Top-3-5 und anderen Vorhaben aus dem Kontext des Unternehmens / der Organisation.
  13. 41 Leichtgewichtige Software-Reviews embarc.de Pre Mortem Ablauf Pre-Mortem einführen Methode

    kurz vorstellen, Modus erklären 1 Gründe des Scheiterns sammeln Brainstorming: Was ist passiert? Clustern 2 Risiken priorisieren %, € und: Was ist technisch beeinflussbar? 3 Mitigierungsstrategien Technische/methodische Verbesserungen 4 10 min 20 min 30 min 60 min
  14. 45 Leichtgewichtige Software-Reviews embarc.de Typische Risikothemen als Ideengeber Brainstorming-Unterstützung: Das

    LASR- Kartenset hält insgesamt 32 konkrete Risikokarten als Ideengeber parat, 4 in jeder der 8 Kategorien. ƕ Unpassende Technologien ƕ Komplexe Lösungen ƕ Unausgereifte Fremdlösungen ƕ Behindernde Frameworks ƕ Strukturproblem ƕ ... 1 Softwarelösung
  15. 46 Leichtgewichtige Software-Reviews embarc.de Die 8 Risiko-Kategorien von LASR ƕ

    Unpassende Technologien ƕ Komplexe Lösungen ƕ Unausgereifte Fremdlösungen ƕ Behindernde Frameworks / Libraries ƕ Strukturprobleme ƕ ... 1 Softwarelösung ◦ Fehlendes oder isoliertes Wissen ◦ Zu kleine Lernfenster ◦ Fehlendes Prozessverständnis ◦ Tool-Probleme ◦ Schwere Schätzbarkeit ◦ ... 2 Kompetenz und Erfahrung ◦ Unrealistische Ziele ◦ Überzogene Erwartungen ◦ Knappe Deadlines ◦ Instabile Anforderungen ◦ Fehlender Kundenkontakt ◦ ... 3 Zielsetzungen und Erwartungen ◦ Instabile Plattformen ◦ Fehleranfällige Fremdsysteme ◦ Unpassende Buy/Take Wahl ◦ Lizenzschwierigkeiten ◦ Vendor Lock-In ◦ Integrationsprobleme ◦ ... 4 Fremdsysteme und Plattformen ◦ Legacy-Behinderungen ◦ Innovationsstau ◦ Zerbrechliche Lösungen ◦ Fehlende Tests ◦ Wenig Dokumentation ◦ Fehlendes Verständnis ◦ ... 5 Altsysteme und Altlasten ◦ Geschwollene Prozesse ◦ Behindernde Rollenmodelle ◦ Organisationsgrenzen ◦ Politik ◦ Einengende Standards ◦ Isolierte Entscheidungskompetenzen ◦ ... 6 Organisation und Prozesse ◦ Blockierende Prozesse ◦ Geringe Automatisierung ◦ Wenig Feedback ◦ Fehlende Betriebs- / Ausfallkonzepte ◦ Tool-Probleme ◦ ... 7 Betrieb und Deployment ◦ Uneinigkeiten ◦ Konflikte ◦ Fehlende Disziplin ◦ Kommunikationsbarrieren ◦ Rollenthematiken ◦ Unpassende Kultur ◦ ... 8 Weiche Faktoren
  16. 50 Leichtgewichtige Software-Reviews embarc.de Lücken einzeichnen 30 Punkte 36 Punkte

    16 Punkte 0 Punkte Gesamtpunktezahl der dem Qualitätsziel zugeordneten Karten = Abweichung von grüner Linie in Prozent (>100 = 100)
  17. 54 Leichtgewichtige Software-Reviews embarc.de Fokus für Zielorientierte Analyse - Bsp

    Uneinigkeit! Lücke ist strittig 1 Keine Stärken in der Lösung, Kein explizites Vorgehen... Trotzdem keine Lücke? 2
  18. 55 Leichtgewichtige Software-Reviews embarc.de Analyse Anhand wichtiger Qualitätsaussagen: § Architekturansätze

    finden § Kompromisse aufdecken § Weitere Risiken finden Anschließend ggf. auf Lösungsebene tiefer graben: § „Code-Stöbern“ § Vorhandene Messungen nutzen
  19. 59 Leichtgewichtige Software-Reviews embarc.de Ein Promo-Code fürs Buch Software-Systeme reviewen

    mit dem Lightweight Approach for Software Reviews - LASR è https://leanpub.com/software-systeme-reviewen/c/ScrummasterHH Coupon: ScrummasterHH Für alle Teilnehmer:innen des Scrummaster HH Meetups SCAN ME