Startseite >> Wissen >> Techniken >> Software Quality Function Deployment (SQFD)

Software Quality Function Deployment (SQFD)

Ziel:

SQFD priorisiert Entwicklungsleistungen auf Basis der Kundenanforderungen und dient damit als rationale Grundlage für die Entscheidung zwischen Produktalternativen und der Zuordnung von Entwicklungsressourcen.

Beschreibung:

Die Qualität eines (Software-) Produkts ist im Wesentlichen eine Wahrnehmung der Kunden bzw. der Stakeholder. Je mehr Anforderungen des Stakeholders in einem Produkt umgesetzt sind, desto größer ist die Akzeptanz des Produkts.

Anforderungen umzusetzen bedeutet jedoch auch immer Entwicklungsleistung. Außerdem können positive oder negative Abhängigkeiten zwischen Anforderungen bestehen.

Aus diesen Gründen ist es für die erfolgreiche Entwicklung von Produkten entscheidend, die umzusetzende Menge der Stakeholderanforderungen zu optimieren  (anstatt zu maximieren). Dazu kann das Quality Function Deployment und spezieller das House of Quality eingesetzt werden, das Kundenanforderungen priorisiert und zu Entwicklungsleistungen in Beziehung setzt und letztlich tatsächliche oder mögliche Produktalternativen bewertet.

Vorbemerkung

Die Methode des Quality Function Deployment taucht in mehreren Varianten auf. In ihrer ursprünglichen Form stammt sie aus dem Schiffsbau und dient der Verfolgung von Qualitätsmerkmalen über den gesamten Entstehungszyklus eines Produkts.

In der Softwareentwicklung wird QFD meistens als das sog. House of Quality (HoQ) verwendet. Dieses setzt Kundenanforderungen zu Entwicklungsleistungen in Beziehung und ist damit in der Anforderungsphase angesiedelt.

Grundlegende Konzepte

Das Quality Function Deployment (QFD) verwendet Matrizen, um Daten zu organisieren und miteinander in Beziehung zu setzen. Im Allgemeinen bestehen diese Matrizen aus Qualitätsmerkmalen (meistens vertikal) und funktionalen Mitteln, mit denen diese erreicht werden können (horizontal). Diese für QFD typische Anordnung von Matrizen in Bezug auf Kundenanforderungen (Qualität)  und Entwicklungsleistungen (Funktion) wird auch das „House of Quality“ (HoQ) genannt.

[Abbildung 1: Beispiel für ein einfaches Qualitätshaus]

Innerhalb der Matrix befinden sich geschätzte Korrelationen, welche Qualität durch welche Funktion in welcher Richtung beinflusst wird. Im Falle des HoQ wird bewertet, welche Entwicklungsleistung die Kundenanforderungen geeignet umsetzt. Zusätzlich wird im HoQ noch die gegenseitige Beeinflussung der Entwicklungsleistungen untereinander (Trade-Offs) modelliert. Dies bildet das sog. Dach des HoQ.

Die Faktoren an beiden Seiten der Matrix können mit einer Gewichtung einhergehen. Im Fall des HoQ ist dies für die Kundenanforderung deren Wichtigkeit (z.B. „kann“, „muss“, „soll“ oder gemäß dem Kano-Modell). Die Entwicklungsleistungen können z.B. nach Aufwand gewichtet sein.

Die Darstellung als Matrix kann in vielfältiger Weise zur Analyse verwendet und erweitert werden. Analysemöglichkeiten umfassen z.B.

  • Aufzeigen von Einflüssen
  • Darstellung von Konflikten
  • Darstellung von Inkonsistenzen
  • Finden einer optimaler Alternative

Das HoQ im Speziellen kann erweitert werden um

  • eine Bewertung von Wettbewerberprodukten
  • Gewichtung der Entwicklungsleistungen nach verschiedenen Kriterien

Vorgehen

Die Verwendung des House of Quality setzt kein besonderes Vorgehen voraus. Es sind jedoch verschiedene Vorgehensweisen zur Einbettung des HoQ in einen Anforderungspezifikationsprozess beschrieben. Stellvertretend wird hier das Vorgehen nach Krogstie skizziert:

  1. Bestimmung der Stakeholder und ihrer Eigenschaften: Identifizierung der Stakeholder und ihrer Bedeutung für die Projektziele. Ergebnis: Matrix Stakeholdertypen/Stakeholdereigenschaften; Matrix Stakeholdertypen/Projekterfolgsfaktoren
  2. Evaluation der Stakeholdereingabe: Identifizierung der Stakeholdereingaben und ihrer Bewertung durch die Stakeholder; Ergebnis: sog. Customer Voice Table
  3. Definition der Geschäftsziele: Strukturierung der Stakeholderanforderungen zu Geschäftszielen. Ergebnis: Business Needs Affinity Diagram; Business Needs Hierarchy
  4. Zuordnung der Geschäftsziele zu Stakeholdern: Gewichtung der Geschäftsziele nach Grad der Zufriedenstellung verschiedener Stakeholder und nach Wichtigkeit der Stakeholder. Ergebnis: Priorisierte Geschäftsziele
  5. Anpassung der Anforderungen an Geschäftsziele: Priorisierung der funktionalen Anforderungen an das System auf Basis ihres Beitrags zur Erfüllung der (gewichteten) Geschäftsziele.
  6. Value Management: Die priorisierten funktionalen Anforderungen werden in den folgenden Entwicklungsprozessen zur Bewertung von Lösungsalternativen und zur Zuordnung von Ressourcen genutzt.

Diese Technik erfüllt folgende Praktiken:

Produkte planen
Rationale dokumentieren

Literaturverweis:

Quality Function Deployment
Software Quality Function Deployment
Using Quality Function Deployment in Software Requirements