Die Softwarequalität zu verbessern, ist meist leichter gesagt als getan. Was versteht man genau unter Softwarequalität? Und wie kann sie gesteuert werden?
In dieser Präsentation machen wir zusammen eine Reise durch das Thema Software-Qualität anhand einer Karte. Sie nimmt uns auf Entdeckungsreise, die Produkt und Servicequalität. Wir segeln dabei durch den «Stream of Team Building», machen eine kurze Pause im «Gulf of Legacy Code», bevor wir an der «Bug Bay» und dem «Release Monster» zum Land «Product Release» kommen. Gehen wir auf Schatzsuche!
Aus der Präsentation nimmst du eine Karte mit, welche du zusammen mit deinem Team erforschen kannst. Sie bietet eine Diskussionsgrundlage für den nächsten Schritt zu einer besseren Qualität.
4. [...] sie wird auch definiert als die Eignung für den
beabsichtigten Zweck (fitness for purpose)
bei gleichzeitiger Erfüllung der Kundenerwartungen.
[...]
Qualität
Ganz allgemein besteht Qualität in der Wirtschaft darin, "eine Ware
oder Dienstleistung zu produzieren, die [der Spezifikation des
Kunden] beim ersten Mal, in der richtigen Menge und zum richtigen
Zeitpunkt entspricht“. [...]
Quelle: Wikipedia (en) – Quality (business)
7. Die Attribute des Artefaktes welches wir bauen
Produktqualität – ISO 25010
Functional Suitability – funktional komplett, korrekt und angemessen
Compatibility – Informationsaustausch mit anderen Produkten o.ä.
Performance Efficiency – Resourcenverbrauch angemessen
Reliability – Zuverlässigkeit die Funktion über Zeit auszuführen
Usability – Benutzbarkeit im Kontext
Security – Schutz der Informationen
Maintainability –Veränder- und Erweiterbarkeit
Portability – Portabilität eines System von Laufzeitsystem zu anderem
8. Grad, in dem ein System, ein Produkt oder eine Komponente bestimmte Funktionen
unter bestimmten Bedingungen über einen bestimmten Zeitraum hinweg erfüllt.
• Maturität
• Verfügbarkeit
• Fehlertoleranz
• Wiederherstellbarkeit
Reliability – Zuverlässigkeit
11. Wie unsere Arbeit vom Kunden/Nutzer wahrgenommen wird
Service Qualität - SERVQUAL
Expectation – den Erwartungen ensprechend
Effectiveness – werden die die Bedürnisse adressiert
Efficiency – Resourcen der Stakeholder geschont
Responsivenes – prompter und höfliche Reaktionen
Reliability – wiederholend guter Level der Qualität
Predictability – Vorhersagbarkeit der Qualität
Assurance – Fähigkeit Vertrauen und Zuversicht aufzubauen
Empathy – Fähkigkeit sich in die Beürfnisse des Kunden hineinzuversetzen
Tangibles – wie der Partner wahrgenommen wird
12. Grad, in dem die tatsächlichen Ergebnisse vorhergesagt werden können.
Predictability – Vorgersagbarkeit
Bugs
unzufriedene
Nutzer
keine Tests
keine Zeit für
Verbesserungen
Zeitdruck
Regressions-Bugs
Unvorhersagbarkeit
15. [...] Das Produkt oder die Dienstleistung sollte nicht schlechter oder
besser sein als die Spezifikation (Unter- oder Überqualität).
Überqualität führt zu unnötigen zusätzlichen Produktionskosten und
sollte daher nicht als "gut" angesehen werden. [...]
Zu viel?
Quelle: Wikipedia (en) – Quality (business)
20. Transparency
• All Goals Visible
• All Work Visible
Work Model
• Idle Time (Slack Time)
• Small Steps
• Sustainable Pace
• Lean Startup
• DevOps
Values
• Respect
• Product Focus
• Positive error culture
• Psychological safety
• Diversity and Inclusion
• Simplicity
Decision Making
• Empirical Decision Making
• Decision Making Roles
• Defer Decisions
• Decision Log
• Decision Making Methods
Austausch / Reflektion
Mindset / Culture
21. Optimieren des Flusses von
Aufgaben unter
Berücksichtigung der Variation
im System.
Lean Thinking
22. Übergaben – die Übergabe der Arbeit von einer Person an eine andere – behindern den
Arbeitsfluss.
Sie führen zu Verzögerungen, zusätzlicher Abholzeit (Zeit, die benötigt wird, um mit der Arbeit zu
beginnen) und einem hohen Risiko von Fehlkommunikation (ein einziger Kommunikationspunkt
anstelle einer kontinuierlichen Kommunikation).
(Fast) keine Übergaben
(Almost) no Hand-offs
23. Kommunikation ist der Vorgang
der Übermittlung von
beabsichtigten Bedeutungen
von einer Einheit oder Gruppe
zu einer anderen, unter
Verwendung semiotischer
Regeln.
Kommunikation
24. Effektives Zuhören ist aktiv und erfordert, dass sich der Hörer in den
Sichtweise des Sprechers hineinversetzt, so dass er die
Kommunikation aus der Sicht des Sprechers verstehen kann.
Active Listening
wertfrei
Empathie
(Einfühlsvermögen)
! ?
nachfragen &
paraphrasieren
25. Das Team und sein Umfeld sind
so eingerichtet, dass sie arbeiten
können.
Team Organisation
26. Etablierung möglichst kurzer
Feedback-Zyklen in Prozessen
und Organisationsstrukturen, um
den Fortschritt der
Produktentwicklung überprüfen
und anpassen zu können.
Dadurch werden Zeit, Kosten
und Risiken reduziert.
Feedback Cycles
by Donovan Wells lizenziert unter CC-BY-SA 3.0
27. Menschen, die engagiert
zusammenarbeiten, um ein
gemeinsames Ziel oder einen
gemeinsamen Auftrag zu
erreichen.
Die Arbeit ist voneinander
abhängig, und die
Teammitglieder teilen sich die
Verantwortung und sind für das
Erreichen der Ergebnisse
rechenschaftspflichtig.
Team
28. Collaboration
• Team Charter
• Retrospectives
• Collaboration on whole Value Stream
• Collective (Code) Ownership
• Shared Task Responsibility
Composition
• Team Alignment & Team Autonomy
• Crossfunctional Teams
• (T-/π-)M-Shaped Team Members
• Team End-to-End Responsibility
Team
29. Welches Produkt können wir
bauen, das so viel Wert hat,
dass der Kunde/Nutzer bereit
ist, dafür zu bezahlen?
Produktfindung
31. Die Erstellung von Prototypen ist eine wichtige Massnahme, um Risiken und
Unsicherheiten so früh und kostengünstig wie möglich zu verringern, die
Qualität des Endergebnisses zu verbessern und Ihr Projekt schliesslich erfolgreich
umzusetzen.
Product Protoype
Das Prototyping führt zu einer Arbeit, die auf der Realität beruht und nicht auf
Annahmen und Meinungen.
34. Vorbedingungen
Definiert eure benötigte Qualität
In eurem Kontext für euer Produkt oder Service
Qualitätsszenarien, Akzeptanzkriterien
Definiert Kontrollen
Wie überprüfen wir, ob wir unsere Qualitätsvorgaben erfüllt haben?
Steht für Qualität ein (Commitment)
Definieren Sie, wie Ausnahmen behandelt werden sollen
1
2
3 Kontinuierlich
prüfen und
anpassen
35. Diese Eigenschaften machen die
Qualität aus. Sie können nicht
alle maximiert werden, da sie
miteinander in Konflikt stehen.
Um ein globales Optimum zu
finden, müssen Kompromisse
eingegangen werden.
Kompromisse (Trade-offs)
Photo by Piret Ilver on Unsplash
36. ... und sie können ändern.
Qualitätsaspekte sind relevant ...
Spectre-Logo, by Natascha Eibl CC0
Meltdown, by Natascha Eibl, CC0
37. [...] Qualität ist ein wahrnehmbares, bedingtes und in gewisser Weise
subjektives Attribut und kann von verschiedenen Personen
unterschiedlich verstanden werden. [...]
Wie definieren?
Quelle: Wikipedia (en) – Quality (business)
38. Zusammenarbeit in einer heterogenen
Gruppe, von Businessexpertin bis
Endanwenderin in einem Workshop.
Quality Workshop
Quality Storming
(Michael Plöd via INNOQ Blog)
SEI Quality Attribute Workshop
• Vision vorstellen
• Szenarien sammeln (Beispiele)
• Szenarien konsolidieren
• Szenarien priorisieren
40. Quelle Stimulus Artefakt Reaktion
Beispiele
Wenn ich als Nutzer während der Arbeitszeit Daten übermittle, erwarte ich, dass
das System in 98 % der Fälle wie vorgesehen funktioniert.
Als Wirtschaftsprüfer verlange ich bei meiner Prüfung den vollständigen
Jahresabschluss mit einer Genauigkeit von 5 Cent.
Ein neuer Versicherungstarif kann in weniger als 10 Tagen im System
implementiert werden.
42. Das Definieren der
Qualitätsszenarien brachte
unserem Team einen
unerwarteten Boost. Endlich
konnten wir unsere Entscheide
auf etwas stützen.
Ich hätte bereits das erste Mal
auf dich hören sollen.
46. Erkundundsmöglichkeiten
Entlang des orangen Weges
einzelne Topics besprechen
Zufälligerweise auf die Karte
zeigen & darüber sprechen
Mit mir sprechen
Spiel
Qualitäts Attribute
mit üngenügender Qualität
48. Reisefilm
Sprecht und definiert eure benötigte Qualität mit allen Beteiligten
Jedes Team muss alles wiederkehrend auf der Karte machen (Disclaimer)
Erschafft Systeme mit angemessener Qualität
In Qualität zu investieren ist selbst auf mittelfristige Sicht günstiger
1
2
3
4
49. Degree to which a product or
system manages natural,
economic and social resources
without depleting them for future
generations.
Für die q42:
#sustainable
Bonus: Sustainability
50. Poster
Software Development Quality Map
Online
Marco Ravicini
marco.ravicini@bbv.ch
@marcoravicini
@marcoravicini@mastodon.social
https://quality.bbv.ch
51. • Quality (business): https://en.wikipedia.org/wiki/Quality_(business)
• Quality Maangement System Handbook for Product Development Companies.
https://books.google.ch/books?id=guizsuAAyR4C&lpg=PA1&hl=de&pg=PA1#v=onepage&q&f=false
• Quality Management Systems: A Practical Guide.
https://books.google.ch/books?id=O5aq0HMyXOcC&lpg=PA1&hl=de&pg=PA2#v=onepage&q&f=false
• https://iso25000.com/index.php/en/iso-25000-standards/iso-25010
• https://quality.arc42.org/articles/iso-25010-shortcomings
• https://quality.arc42.org/articles/sum-of-all-iso
• https://www.it-cisq.org/the-cost-of-poor-quality-software-in-the-us-a-2022-report/
• https://www.it-cisq.org/wp-content/uploads/sites/6/2022/11/CPSQ-Report-Nov-22-2.pdf
• https://www.it-cisq.org/cisq-files/pdf/CPSQ-2020-report.pdf
• https://quality.arc42.org/articles/sei-quality-model
Quellen
52. • https://helpfulprofessor.com/trade-off-examples/
• https://resources.sei.cmu.edu/asset_files/FactSheet/2018_010_001_513488.pdf
• https://www.openpeephttps://www.openpeeps.com/s.com/
• https://gamestorming.com/update-to-the-empathy-map/empathy-map-006-png/
• Bass et al.: Software Architecture in Practice. L. Bass, P. Clements, and R. Kazman, Software architecture in
practice, 4th ed. Addison-Wesley Professional, 2021.
• https://quality.arc42.org/articles/specify-quality-requirements
• https://resources.sei.cmu.edu/asset_files/FactSheet/2018_010_001_513488.pdf
• https://www.innoq.com/en/articles/2020/02/quality-storming-workshop/
• https://www.ufried.com/blog/quality_1/
• https://blog.ah.technology/the-cost-of-bad-quality-software-6128042aa436
Quellen