This blog post is also available in English

Mal wieder eine Begriffsklärung aus unserer Mini-Serie: Diesmal geht’s um den Begriff Qualität.

Ziel dieses kurzen Posts ist es, Ihnen zu verdeutlichen, wie vielfältig Menschen den Begriff Qualität interpretieren oder auslegen können - und warum in diesem Spielraum in der Softwarearchitekur gewaltige Risiken lauern.

Starten wir mit einer Definition:

Qualität: (von lateinisch qualitas, Beschaffenheit, Merkmal, Eigenschaft oder Zustand) ist die Summe aller Eigenschaften eines Objektes, Systems oder Prozesses.[1].

Beschränken wir uns hier mal auf die Menge aller Eigenschaften eines Systems, und lassen Prozesse außen vor.

Qualität ist gleichbedeutend mit „Gut“

In der Umgangssprache verwenden wir Qualität als Synonym für Eigenschaften oder Dinge, die wir als „gut“ oder „exzellent“ erachten. Allerdings leben wir in der Umgangssprache ohnehin mit allerlei Unklarheiten oder Doppeldeutigkeiten, deren konkrete Bedeutung sich manchmal aus dem Zusammenhang ergibt.

Bei Qualität bleibt diese konkrete Bedeutung oft unklar („implizit“), anstatt ausdrücklich erklärt zu werden. Was „gut“ in Bezug auf einen Alltagsgegenstand bedeutet, obliegt der subjektiven Interpretation der Beteiligten.

Lassen Sie mich das Problem dieser Unklarheit am Beispiel Audio (Töne, Klänge, Musik) darstellen.

Qualität von Audio

Klingeltöne, Wecker-Töne, akustische Signale unserer Computer, die Batteriewarnung unseres Haustelefons oder gar das morgendliche Weck-Radio - Töne und Klänge („Audio“) sind in unserer technisierten Welt fast allgegenwärtig.

Fun fact: audio stammt ebenfalls aus dem Lateinischen, und bedeutet „ich höre“. [2]

Als Einstimmung dürfen Sie gerne mal ein Beispiel anhören (oder auch gleich weiterlesen)

Teacoma-Beat Audio Sample

Nun sprechen manche Menschen über Audioqualität, genaugenommen über „hohe“ oder „gute“ Audioqualität.

Aber was meinen sie nur damit? Denken Sie doch bitte kurz nach und versuchen zu präzisieren, was „gute Audioqualität“ denn genau bedeuten soll:

Stellen Sie sich vor, eine wichtige Person („Stakeholder“) hätte „gute Audioqualität“ als Anforderung über den berühmten Zaun geworfen. Sie und ihr kleines Team befinden sich in der Lieferverpflichtung und müssen diese Anforderung erfüllen.

(kurze Denkpause einlegen, bitte).

Das Sound-Sample von oben hat vermutlich beim Nachdenken nicht geholfen, es sei denn Sie haben es mit Stereo-Kopfhörern angehört…)

Lassen Sie uns einige mögliche Auslegungen des Begriffes „Audioqualität“ ansprechen:

Wellenform unseres Sound-Sample - linker + rechter Kanal
Wellenform unseres Sound-Sample - linker + rechter Kanal

Sprache (generiert)

Sprache mit (schlechten) Space-Effekten
Audio-Sample in Stereo
Audio-Sample mit Echo, Hall und mehr Bass

Spätestens jetzt sollten Sie sich fragen, wie unser (hypothetisches) Entwicklungsteam denn bitte Audioqualität produzieren soll: Die oben genannten Interpretationen schliessen sich gegenseitig aus - alle können wir unmöglich gleichzeitig erfüllen. Jede für sich klingt, zumindest aus meiner Sicht, irgendwie plausibel.

Legen wir Anforderungen an Audioqualität fest…

Spielen wir doch mal „Stakeholder“, und legen für unser Audio-Beispiel folgende Anforderungen fest:

Unser Audio soll:

Bestimmt far from perfect, aber ein Schritt in Richtung Konkretheit und Präzision - und für ein Entwicklungsteam auch gut überprüfbar. Mir persönlich erscheint das als Anforderung weit besser geeignet als der Ausdruck „hohe Audioqualität“.

In der Realität kommen jetzt diverse Stakeholder ins Spiel, und bringen ihre jeweils eigene Interpretation mit. Softwarearchitekt:innen müssen dann potenzielle Konflikte oder Widersprüche erkennen, und gemeinsam mit den Stakeholdern auflösen.

Qualität in Software

Wenn schon der Begriff „Audio“ derart viele einzelne Eigenschaften subsumiert, wie soll das erst mit dem umfassenden Begriff „Software“ sein? In der folgenden Abbildung habe ich einige Begriffe zusammengestellt, die zum Thema „Qualität von Software“ gehören.

Begriffe rund um Softwarequalität
Begriffe rund um Softwarequalität

Wie wir methodisch Qualität präzisieren oder konkretisieren können, haben viele schlaue Menschen schon ausführlich beschrieben - leider ist das in vielen Entwicklungsteams oder auch bei Product-Ownern noch nicht flächendeckend angekommen (und wird bestimmt mal Thema eines eigenen Blogposts werden).

Schauen Sie doch mal in den Artikel über Quality Storming meines Fellow-Kollegen Michael Plöd - da finden Sie eine Menge konstruktiver Hinweise.

Ergänzend gibt’s bei arc42 eine Sammlung (frei verfügbarer) Beispiele für konkrete Qualitätsanforderungen.

Danke

Danke für’s bis hierhin lesen - und mögen diese Zeilen Ihr Bewusstsein für konkrete und explizite Qualitätsanforderungen geschärft haben.

Falls Sie (oder Ihre Kolleg:innen) das lieber als Video gucken möchten - gibt’s bei YouTube.

Großen Dank an Matthias Deja und Joachim Prätorius für konstruktives Feedback.

Andere Posts dieser „Serie“

Falls Sie noch einen IT-relevanten Begriff haben, den Sie hier erläutert sehen möchten, lassen Sie uns das wissen.

Quellen


  1. Wikipedia über „Qualität“  ↩

  2. Wikipedia über „Audio“  ↩