Lerneinheit: Ermittlung von Anforderungen (Kano-Modell)
Im Rahmen der Anforderungsermittlung hat der Requirements Engineer die Aufgabe, die Wünsche und Bedürfnisse der Stakeholder zu verstehen und gleichzeitig sicherzustellen, dass die Anforderungen aller relevanten Anforderungsquellen ermittelt werden, indem er angemessene Techniken zu deren Ermittlung einsetzt. Ein wesentlicher Teil der Anforderungsermittlung ist es, implizite Forderungen, Wünsche und Erwartungen in explizite Anforderungen zu überführen.
Kano-Modell
Für die Ermittlung von Anforderungen ist es entscheidend, das Wesen und die Notwendigkeit jeder Anforderung zu kennen. Diese können sich von Projekt zu Projekt und auch im Laufe der Zeit ändern. Das Kano-Modell [KaeA1984] klassifiziert Anforderungen in drei relevante Kategorien:
Begeisterungsfaktoren (Synonyme: Delighters, unbewusste Anforderungen)
Leistungsfaktoren (Synonyme: Satisfiers, bewusste Anforderungen)
Basisfaktoren (Synonyme: Dissatisfiers, unterbewusste Anforderungen)
Ermittlungstechniken
Es gibt viele verschiedene Techniken für die Ermittlung dieser Anforderungskategorien. Wir unterscheiden zwischen:
Erhebungstechniken
Entwurfs- und Ideenfindungstechniken
Erhebungstechniken sind etablierte Techniken zur Anforderungsermittlung [BaCC2015], die durch das Untersuchen unterschiedlicher Quellen helfen, Leistungsfaktoren und Basisfaktoren zu ermitteln. Es lassen sich vier Hauptkategorien unterscheiden:
Befragungstechniken
Kollaborationstechniken
Beobachtungstechniken
Artefaktbasierte Techniken
Bei den Entwurfs- und Ideenfindungstechniken liegt der Schwerpunkt auf der Förderung der Kreativität. Diese Techniken (kurz: Kreativitätstechniken) werden eingesetzt, um neue oder innovative Anforderungen zu schaffen, die häufig zur Kategorie Begeisterungsfaktoren gehören. Diese Techniken zielen darauf ab, Ideen zu erzeugen, um Lösungen für eine Problemstellung, Frage oder ein Ziel zu finden. Beliebte Beispiele für solche Techniken sind Brainstorming [Osbo1979] und Analogien.
Außerhalb der Software-Community ist der umfassendere Begriff der Entwurfstechniken (engl. design techniques) entstanden. Entwurfstechniken umfassen Kreativitätstechniken zur Ideenfindung und bieten zusätzliche, explorative oder kombinierte Techniken zur Ausarbeitung von Ideen und zur Gewinnung weiterer Erkenntnisse für eine bestimmte Idee [Kuma2013]. Zu den gängigen Techniken für diesen Zweck gehören die Erstellung von Prototypen (z.B. Mock-Ups), Szenarien und Storyboards.
Ein weiter gefasster Begriff im Zusammenhang mit Entwurfs- und Ideenfindung ist das Design Thinking. Es gibt verschiedene Ansätze, wie z.B. d.school [Sdsc2012]und Designing for Growth [LiOg2011], die eine große Anzahl von Techniken anbieten, die zur Ermittlung von Anforderungen verwendet werden können.
Ermittlungstechniken sollten in der Lage sein, alle Arten von Anforderungen, funktionale und Qualitätsanforderungen sowie Randbedingungen gleichermaßen aufzudecken. In der Praxis wird den Qualitätsanforderungen und Randbedingungen oft weniger Aufmerksamkeit geschenkt.
Für die Ermittlung von Qualitätsanforderungen [ISO25010] sollte ein Qualitätsmodell wie die Norm ISO 25010 als Checkliste verwendet werden. Dieses Modell kann auch hilfreich sein, um Anforderungen zu quantifizieren.
Randbedingungen können durch die Berücksichtigung möglicher Einschränkungen des potenziellen Lösungsraumes aufgedeckt werden, z.B. technische, rechtliche, organisatorische, kulturelle oder umweltbezogene Probleme.
Die Auswahl der richtigen Ermittlungstechniken ist eine entscheidende Schlüsselkompetenz, die von vielen unterschiedlichen Faktoren abhängt, z.B.:
Art des Systems
Software-Entwicklungs-Lebenszyklusmodell
Beteiligte Personen
Organisatorischer Aufbau
Die besten Ergebnisse werden in der Regel durch die Kombination verschiedener Ermittlungstechniken erzielt. [CaDJ2014] stellen einen systematischen Ansatz zur Auswahl der Techniken dar.