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

Evolutionäre Softwarequalität (OOP 2023 digital)

Markus Harrer
February 09, 2023

Evolutionäre Softwarequalität (OOP 2023 digital)

Qualitätsziele helfen uns, Architekturentscheidungen fundierter zu treffen. Die genau richtige Qualität ist jedoch oft subjektiv und ändert sich über die Zeit hinweg. Dies macht das Arbeiten mit und an Qualitätszielen vor allem bei langlebigen Softwaresystemen spannend.

In diesem Vortrag stelle ich eine neue Sicht auf Softwarequalität vor, bei der wir Qualität im evolutionären Kontext betrachten. Als Basis verwende ich das ISO 25010 Qualitätsmodell sowie Wardley Mapping, um die passende Qualität nach Wichtigkeit und Evolutionsstufen zu finden.

Markus Harrer

February 09, 2023
Tweet

More Decks by Markus Harrer

Other Decks in Technology

Transcript

  1. Software- system Thema: Evolutionäre Softwarequalität Wertschöpfungskette sichtbar Funktionale Eignung Zuverlässigkeit

    Benutzbarkeit Leistungseffizienz Sicherheit Wartbarkeit Kompatibilität Übertragbarkeit Genesis Custom Built Product Commodity Evolution Sichtbar für Business und Technik Nur für Technik sichtbar Nach diesem Vortrag verstehst du dieses Bild und kannst es zum Reflektieren über dein Softwaresystem und dessen weiteren Entwicklung verwenden.
  2. " Markus Harrer Senior Consultant Roth, BY, Deutschland Tools only

    find, people have to find out!" • Softwarearchitekturentwicklung und -bewertung • Softwaremodernisierung und -Rightsizing • Datenanalysen in der Softwareentwicklung Foundation & IMPROVE https://softwareanalytics.de https://feststelltaste.de/ Instructor http://aim42.github.io/ https://cards42.org/ Trainer
  3. Was ist „Qualität“ in Software? Unter Softwarequalität versteht man die

    Gesamtheit der Merkmale und Merkmalswerte eines Softwareprodukts, die sich auf dessen Eignung beziehen, festgelegte oder vorausgesetzte Erfordernisse zu er üllen.“ Helmut Balzert Lehrbuch der Softwaretechnik
  4. Funktionale Eignung System bietet Funktionalität, die den angegebenen und implizierten

    Bedürfnissen entspricht Funktionale Eignung System bietet Funktionalität, die den angegebenen und implizierten Bedürfnissen entspricht Benutzbarkeit System kann von festgelegten Benutzern verwendet werden, um vorgegebene Ziele zu erreichen Benutzbarkeit System kann von festgelegten Benutzern verwendet werden, um vorgegebene Ziele zu erreichen Wartbarkeit System kann modifiziert werden, um es zu verbessern, zu korrigieren oder an Änderungen anzupassen Wartbarkeit System kann modifiziert werden, um es zu verbessern, zu korrigieren oder an Änderungen anzupassen Leistungseffizienz System liefert angemessene Geschwindigkeit mit den bereitgestellten Ressourcen Leistungseffizienz System liefert angemessene Geschwindigkeit mit den bereitgestellten Ressourcen Sicherheit System schützt Informationen und Daten Sicherheit System schützt Informationen und Daten Übertragbarkeit System kann auf verschiedenen Umgebungen betrieben werden Übertragbarkeit System kann auf verschiedenen Umgebungen betrieben werden Zuverlässigkeit System führt Funktionen unter den festgelegten Umgebungen aus Zuverlässigkeit System führt Funktionen unter den festgelegten Umgebungen aus Kompatibilität System kann Informationen mit anderen Systemen austauschen Kompatibilität System kann Informationen mit anderen Systemen austauschen Qualitätsmerkmale nach ISO 25010
  5. Angemessene Qualität klären Funktionale Eignung Leistungseffizienz Kompatibilität Benutzbarkeit Zuverlässigkeit Sicherheit

    Wartbarkeit Übertragbarkeit Benutzerin Entwickler Boss Wo gibt es unterschiedliche Sichtweisen? Wie kommen wir auf ein einheitliches Zielbild?
  6. Angemessene Qualität stetig liefern Funktionale Eignung Leistungseffizienz Kompatibilität Benutzbarkeit Zuverlässigkeit

    Sicherheit Wartbarkeit Übertragbarkeit Qualitätsziele Softwarearchitektur Wo sind Ziele übererfüllt? Was müssen wir wann tun?
  7. Unser Werkzeug: Wardley Maps „Evolvierende Strategielandkarten“ Erfinder: Simon Wardley Zweck:

    Über strategische Überlegungen gemeinsam kommunizieren können Zweck 2: Soll Unternehmensberater arbeitslos machen Lizenz: Creative Commons BY-SA 4.0
  8. Genesis Custom Built Product Commodity Eine Wardley Map! Wertschöpfungskette sichtbar

    unsichtbar Fotos drucken Website Kundenmanagementsystem Betriebsplattform Rechenzentrum Rechenkapazität Strom Nutzer Fotos bearbeiten Fotos speichern Angelehnt an Simon Wardley, CC BY-SA 4.0 Lizenz Komponente Legende braucht Evolution Details (für heute) irrelevant
  9. Genesis Custom Built Product Commodity Eine Wardley Map! Wertschöpfungskette sichtbar

    unsichtbar Fotos drucken Website Kundenmanagementsystem Betriebsplattform Rechenzentrum Rechenkapazität Strom Nutzer Fotos bearbeiten Fotos speichern Angelehnt an Simon Wardley, CC BY-SA 4.0 Lizenz Komponente Legende braucht Evolution Unser Fokus Unser Fokus
  10. Genesis Custom Built Product Commodity Evolution nach Simon Wardley Stufen

    und Charakteristiken Evolution Software- system Software- system Typisch sind ständiges Andern, anders sein, Instabilität Typisch sind von Nutzern lernen, erste Gehversuche, erste Evidenz Typisch ist Differenzierung über Features Typisch sind Unverzichtbarkeit und operativer Vorteil Markt unbestimmt Markt im Kommen Markt wachsend Markt reif Nutzerwahrnehmung ist unterschiedlich: „verwirrt“, „spannend“, „überraschend“ Nutzerwahrnehmung ist entstehend: „Bleeding Edge“ Nutzerwahrnehmung ist erwartet, Fehler werden als negativ wahrgenommen Nutzerwahrnehmung ist „gebräuchlich“ (Commodity), Fehler nicht mehr erwartet Scheitern ist hoch, tolerierbar, unterstellt Scheitern ist beschränkt, nicht überraschend, aber enttäuschend Scheitern ist nicht toleriert, ständige Verbesserung erwartet Kein Scheitern wegen operativer Effizienz, Misserfolg überrascht Wertfokus ist hoher Wert für die spätere Zukunft Wertfokus ist Profitsuche und ROI Wertfokus ist hohe Profitabilität Wertfokus ist hohes Volumen bei sinkender Marge
  11. Genesis Custom Built Product Commodity „Alles entwickelt sich durch den

    Wettbewerb von Angebot und Nachfrage“ – Simon Wardley Evolution Software- system Software- system Evolution nach Simon Wardley
  12. Evolution nach Simon Wardley „Der Nachfragewettbewerb und der Wunsch der

    Konsumenten nach allem, was nützlich ist, einen Unterschied macht oder einen Vorteil verschafft, ist die Triebfeder für die Allgegenwärtigkeit.“ Nachfragewettbewerb Allgegenwertigkeit Zitat von Simon Wardley / Wardley Maps, CC BY-SA 4.0 license, frei übersetzt ins Deutsche
  13. Evolution nach Simon Wardley „Der Wettbewerb auf der Angebotsseite und

    der Wunsch der Anbieter, den Konsumenten etwas Nützliches anzubieten, ist die treibende Kraft für die Vollständigkeit und Verbesserung des Nutzenbringenden.“ Nachfragewettbewerb Allgegenwertigkeit Angebotswettbewerb Gewissheit Zitat von Simon Wardley / Wardley Maps, CC BY-SA 4.0 license, frei übersetzt ins Deutsche
  14. Evolution nach Simon Wardley Allgegenwertigkeit Nachfragewettbewerb Angebotswettbewerb Gewissheit Konzept der

    „Evolution“ und Zitat von Simon Wardley / Wardley Maps, CC BY-SA 4.0 license Genesis Custom Built Product Commodity „Alles entwickelt sich durch den Wettbewerb von Angebot und Nachfrage.“
  15. Evolution und Softwarequalität Allgegenwertigkeit Nachfragewettbewerb Angebotswettbewerb Gewissheit Konzept der „Evolution“

    von Simon Wardley / Wardley Maps, CC BY-SA 4.0 license Angebotswettbewerb Nachfragewettbewerb Genesis Custom Built Product Commodity Wartbarkeit Zuverlässigkeit Funktionale Eignung Übertragbarkeit Kompatibilität Leistungseffizienz Benutzbarkeit Sicherheit Wartbarkeit Zuverlässigkeit Funktionale Eignung Übertragbarkeit Kompatibilität Leistungseffizienz Benutzbarkeit Sicherheit Qualitätsmerkmale
  16. Evolution und Softwarequalität Genesis Custom Built Product Commodity Evolution Funktionale

    Eignung Zuverlässigkeit Benutzbarkeit Leistungseffizienz Sicherheit Wartbarkeit Kompatibilität Übertragbarkeit
  17. Evolution und Softwarequalität Funktionale Eignung Zuverlässigkeit Benutzbarkeit Leistungseffizienz Sicherheit Wartbarkeit

    Kompatibilität Übertragbarkeit Genesis Custom Built Product Commodity Evolution
  18. Genesis Custom Built Product Commodity Evolution Funktionale Eignung Zuverlässigkeit Benutzbarkeit

    Leistungseffizienz Sicherheit Wartbarkeit Kompatibilität Übertragbarkeit Evolution und Softwarequalität
  19. Genesis Custom Built Product Commodity Evolution Funktionale Eignung Zuverlässigkeit Benutzbarkeit

    Leistungseffizienz Sicherheit Was nützt das jetzt? Wartbarkeit Kompatibilität Übertragbarkeit Bewusstsein für anstehende Themen schaffen Software- system
  20. Genesis Custom Built Product Commodity Evolution Funktionale Eignung Zuverlässigkeit Benutzbarkeit

    Leistungseffizienz Sicherheit Was nützt das jetzt? Wartbarkeit Kompatibilität Übertragbarkeit Software- system Herangehensweise infrage stellen
  21. Genesis Custom Built Product Commodity Eine Wardley Map! (Wdh.) sichtbar

    unsichtbar Fotos drucken Website Kundenmanagementsystem Betriebsplattform Rechenzentrum Rechenkapazität Strom Nutzer Fotos bearbeiten Fotos speichern Angelehnt an Simon Wardley, CC BY-SA 4.0 Lizenz Komponente Legende braucht Evolution Unser Fokus Wertschöpfungskette
  22. Nutzerin Besser zocken Neue Grafikkarte Shopping-App REST-Services Backend Datenbank Betriebsplattform

    Virtuelle Maschinen Hardware Strom sichtbar unsichtbar Wertschöpfungskette Wertvolle Bedürfnisse Komponente Legende braucht
  23. Subjektive Bedürfnisse an Qualität Ergebnis der Auswertung von priorisierten Qualitätszielen

    Benutzbarkeit Funktionale Eignung Zuverlässigkeit Leistungseffizienz Wertschöpfungskette Nutzerin Wartbarkeit Zuverlässigkeit Funktionale Eignung Übertragbarkeit Entwickler … … Funktionale Eignung Benutzbarkeit Zuverlässigkeit Sicherheit … Boss sichtbar * *Ordnung entspricht der gemittelten Priorisierungen der Qualitätszielen aus 21 Fallstudien, welche in Softwarearchitekturtrainings bearbeitet wurden
  24. Entwickler in unglücklicher Position Benutzbarkeit Funktionale Eignung Zuverlässigkeit Sicherheit Nutzerin

    ∪ Boss Wartbarkeit Zuverlässigkeit Funktionale Eignung Übertragbarkeit Leistungseffizienz Kompatibilität Übertragbarkeit Wartbarkeit Kompatibilität Leistungseffizienz Benutzbarkeit Sicherheit Business Technik Entwickler Wertschöpfungskette sichtbar
  25. Ansprüche an Qualität zusammengelegt Sicherheit Nutzerin ∪ Boss Funktionale Eignung

    Entwickler Leistungseffizienz Business Technik ∪ & Wertschöpfungskette sichtbar Sichtbar für Business und Technik Nur für Technik sichtbar Interne Software- qualitäten Externe Software- qualitäten Benutzbarkeit Zuverlässigkeit Kompatibilität Übertragbarkeit Wartbarkeit
  26. Evolutionäre Softwarequalität Wertschöpfungskette sichtbar Funktionale Eignung Zuverlässigkeit Benutzbarkeit Leistungseffizienz Sicherheit

    Wartbarkeit Kompatibilität Übertragbarkeit Genesis Custom Built Product Commodity Evolution Sichtbar für Business und Technik Nur für Technik sichtbar
  27. Was nützt das jetzt? Wertschöpfungskette sichtbar Funktionale Eignung Zuverlässigkeit Benutzbarkeit

    Leistungseffizienz Sicherheit Wartbarkeit Kompatibilität Übertragbarkeit Genesis Custom Built Product Commodity Evolution Software- system Wechsel vom direkt spürbaren zu indirekt spürbaren Qualitäten Kritische Phase erkennen
  28. Genesis Custom Built Product Commodity Evolution Evolution WIR WOLLEN KEINE

    DOKUMENTATION SCHREIBEN! WIR SIND SO SCHNELL! DOKUMENTATION IST IMMER VERALTET! WIR BRAUCHEN EINE UMFASSENDE DOKUMENTATION, DENN SONST BENUTZT NIEMAND UNSER ZEUG! Software system Fotos von freepik.com, lizensiert unter Freepik license. Linkes Foto von gpointstudio, rechtes Foto von kues. Woher kommen Konflikte im Team? Wartbarkeit, Kompatibilität Funktionale Eignung
  29. Warum müssen wir immer was tun? Arbeit steigt u.a. aufgrund

    von mehr Softwarequalität Genesis Custom Built Product Commodity Evolution Software system Arbeitsbelastung
  30. Warum funktionieren Teams nicht? Strukturierte Arbeit, gemeinsame Vision und Ziele

    erforderlich Evolution Software system # Entwickler ? Genesis Custom Built Product Commodity
  31. Evolution Software system Anfänge der strukturierten Architekturarbeit Spezialisierung der Architekturarbeit

    Unkoordinierte Architekturarbeit # Entwickler ? Genesis Custom Built Product Commodity Weitere Einzelheiten zu den Architekturmodellen im Buch „Vorgehensmuster für Softwarearchitektur“ von Stefan Toth Umdenken, wie Architekturarbeit passiert, erforderlich Gemeinsame Architekturarbeit mit Guidance Warum brauchen wir Architektur?
  32. Software- system Evolutionäre Softwarequalität Wertschöpfungskette sichtbar Funktionale Eignung Zuverlässigkeit Benutzbarkeit

    Leistungseffizienz Sicherheit Wartbarkeit Kompatibilität Übertragbarkeit Genesis Custom Built Product Commodity Evolution Sichtbar für Business und Technik Nur für Technik sichtbar
  33. FINDING THE RIGHT BALANCE Features Software- qualität MIT EVOLUTIONÄRER SOFTWAREQUALITÄT

    Qualität nicht zu früh, nicht zu spät, sondern genau zur richtigen Zeit!
  34. Wardley Mapping Quick Start https://www.youtube.com/watch?v=IJcLmoKR6v8 Ben Mosier: The Easiest Way

    to Do Wardley Mapping Investing in Innovation: How Situational Awareness Can Put Your Business on the Map https://www.youtube.com/watch?v=Gfq3ocmadZo
  35. Einstieg in Wardley Maps • Meine persönlichen TOP 5 zum

    Einstieg https:/ /www.feststelltaste.de/top-5-learning-wardley-maps/ • Einsteigerseite von Ben Mosior https://learnwardleymapping.com/ • Vortrag von Simon Wardley https://www.youtube.com/watch?v=Ty6pOVEc3bA • Buch „Wardley Maps“ von Simon Wardley https://medium.com/wardleymaps • Wardley Maps Awesome List (Ressourcen-Sammlung) https://list.wardleymaps.com • Viele Infos auf deutsch: https://flowwork.rocks/alles-ueber/wardley-maps/
  36. Aktuelle Talk-Empfehlung Building Adaptive Systems with Wardley Mapping, DDD, and

    Team Topologies (Susanne Kaiser) https://www.youtube.com/watch?v=Ha0fLMVB1oI Hier kommt auch bald ein Buch dazu heraus
  37. www.innoq.com Krischerstr. 100 40789 Monheim +49 2173 3366-0 Ohlauer Str.

    43 10999 Berlin Ludwigstr. 180E 63067 Offenbach Kreuzstr. 16 80331 München Hermannstrasse 13 20095 Hamburg Erftstr. 15-17 50672 Köln Königstorgraben 11 90402 Nürnberg innoQ Deutschland GmbH Kontakt Markus Harrer Software Development Analyst #softwaremodernisierung #architekturbewertung #training #wardleymapping #softwareanalytics Twitter: @feststelltaste E-Mail: [email protected] Mehr Infos: https://www.innoq.com/de/staff/markus-harrer/ 59
  38. KLIENTEN Finance • Telko • Logistik • E-Commerce • Fortune

    500 • KMUs • Startups FAKTEN ~160 Mitarbeitende 1998 gegründet 9 Standorte in D & CH UNSER ANGEBOT Produktkonzeption & Design Software-Entwicklung & -Architektur Technologie-Beratung Infrastruktur & Betrieb Wissenstransfer, Coaching & Trainings FOKUS Webapplikationen SaaS IoT Produktentwicklung ML/AI Blockchain TECHNOLOGIEN (Auswahl) Java/Spring Ruby/Rails Scala AWS Kubernetes Azure JavaScript Python C# ML/AI Blockchain