Definition „Leistungsmerkmal​anforderung“ Was ist ein Feature Request?

Von Egoloizos

Anbieter zum Thema

Der Feature-Request stellt in der Softwareentwicklung eine Art Anfrage nach bestimmten Funktionen dar. Es kann sich um neue Leistungsmerkmale, Verbesserungsvorschläge und andere Anfragen halten. Im Zusammenhang mit Feature-Requests spielt ein gutes Anforderungsmanagement eine wichtige Rolle.

Alle Leistungsmerkmale-Anforderungen und Verbesserungsvorschläge sollten zunächst einmal ernst genommen werden.
Alle Leistungsmerkmale-Anforderungen und Verbesserungsvorschläge sollten zunächst einmal ernst genommen werden.

Der englischsprachige Begriff Feature-Request setzt sich zusammen aus den Begriffen „Feature“ (Eigenschaft, Funktion oder Fähigkeit) und „Request“ (Anfrage, Aufforderung oder Wunsch). Direkte Übersetzungen des Begriffs finden selten statt. Eine deutsche Entsprechung findet sich in dem etwas aufwändigen Begriff Leistungs​merkmal​anforderung.

In der Softwareentwicklung beschreibt der Feature-Request meist eine Anfrage, die Software um bestimmte Features zu bereichern oder vorhandene Features beziehungsweise Funktionalitäten zu verbessern oder zu verändern. Im letzteren Fall ist auch von Verbesserungsvorschlägen die Rede.

Der Feature-Request in Abgrenzung zur Fehlerbehebung (Bug Report)

Der Feature-Request bezieht sich nicht auf die Behebung möglicher Fehler. Damit ist der Feature Request vom Bug Report oder Fehlerbericht abzugrenzen. Hier geht es um die Erweiterung oder die Verbesserung von grundsätzlich funktionierender Software. Die hier geforderten oder gewünschten Merkmale sind neue Features. Sie sind nicht als eine Abweichung oder eine Nichterfüllung zugesagter Eigenschaften zu verstehen.

Zu beachten ist in diesem Zusammenhang jedoch, dass die Grenzverläufe zwischen Software-Merkmalen und Fehlern oft fließend sind. Die Problematik der Unterscheidung zwischen gewünschten Features und zu vermeidenden Fehlern tritt oft auf im Falle unerwarteten Verhaltens. Entwickler und Nutzer diskutieren in solchen Situationen oft darüber, ob es sich um fehlerhaftes oder gewünschtes Verhalten handelt. Das geflügelte Wort „It's not a bug, it's a feature“ thematisiert dieses Szenario.

Feature-Requests und Anforderungsmanagement

Aufgabe eines Anforderungsmanagements ist es, Klarheit über gewünschte Eigenschaften und Features der Software zu schaffen. Die Abgrenzung zwischen Softwarefehlern und unerwartetem (aber gewünschtem) Verhalten ist mit einem guten Anforderungsmanagement-System möglich.

Das Anforderungsmanagement schreibt bestimmte Eigenschaften oder Leistungsmerkmale fest, die eine Software bieten soll. Hierbei wird oftmals unterschieden zwischen notwendigen Eigenschaften (must have) und wünschenswerten Eigenschaften (nice to have).

Werden bestimmte als Anforderung festgeschriebene Leistungsmerkmale nicht erfüllt, so gilt dies im Sinne des Qualitätsmanagements als Fehler. Tritt ein bestimmtes Verhalten auf, das nicht in den Anforderungen beschrieben ist, so gilt dies im Qualitätsmanagement als Mangel (nicht jedoch als Fehler). Gleiches liegt vor, wenn ein Verhalten auftritt, das die Software in Ihrer Eignung für den ursprünglichen Einsatzzweck beschränkt.

Im Rahmen der Softwareentwicklung kommen oftmals Bugtracker zum Einsatz. Diese können mögliche Feature-Request auf strukturierte Weise entgegennehmen. Damit ist es möglich, sie genau nachzuvollziehen, zu verwalten und zu verfolgen.

Das Anforderungsmanagement beinhaltet ein komplexes Aufgabenfeld von Maßnahmen, die Steuerung, Verwaltung und Kontrolle der Anforderungen betreffen. Dazu gehören auch das Änderungsmanagement, das Umsetzungsmanagement und das Risikomanagement. Ziel des Anforderungsmanagements ist die effiziente und möglichst fehlerfreie Entwicklung komplizierter Systeme. An diesen Softwaresystemen wird meist durch mehrere Entwickler und andere Beteiligte arbeitsteilig gearbeitet. Probleme mit Fehlern oder Mängeln sind oft Resultat fehlenden Managements

Das Anforderungsmanagement ist einzuordnen als Teilbereich des Requirement Engineering sowie der Geschäfts-Analyse. Zu deren weiteren Aufgabenfeldern gehören neben dem Anforderungsmanagement auch die Anforderungsdefinition, die Anforderungsanalyse sowie die Validierung.

Im Zuge eines gelungenen Anforderungsmanagements entsteht im Idealfall ein gemeinsames Verständnis über zu entwickelnde Software zwischen Entwicklern und Kunden (oder zwischen Auftragnehmern und Auftraggebern). Ein solches gemeinsames Verständnis basiert auf der Nutzung gemeinsamer Methoden des Anforderungsmanagements. Dazu gehören unter anderem die Anforderungsspezifikation, -analyse und -modellierung. Die Anwendung solcher Methoden trägt dazu bei, die Aktualität sowie die Qualität der Anforderungsdokumentationen zu steigern.

Feature Requests und Anforderungsmanagement-Software

Im Anforderungsmanagement spielt spezialisierte Software eine wesentliche Rolle. Solche trägt dazu bei, das Anforderungsmanagement strukturierter zu gestalten und Redundanzen zu minimieren. Ebenso soll sie jederzeitige Rückverfolgbarkeit sowie ein Konfigurationsmanagement gewährleisten. Die spezialisierte Software arbeitet mit Datenbanken. Hier werden einzelne Feature-Requests oder Requirements gespeichert.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Softwareentwicklung und DevOps

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

Im Zeitverlauf lassen sie sich dank der Datenbanken nach- und weiterverfolgen. In den Datenbanken werden beispielsweise der Bearbeitungsbeginn, bestimmte Meilensteine und der Abschluss eines Features hinterlegt. Mit solcher Software lassen sich auch Requests miteinander in Verbindung bringen. Auf diese Weise lassen sich etwa Kundenanforderungen und Systemanforderungen abgleichen.

Anforderungsmanagement-Software arbeitet mit bestimmten Normen und berücksichtigt diese. Dazu gehören etwa die System- und Software-Reifegradmodelle CMMI und SPICE (ISO/IEC 15504). Auch die Anforderungen selbst sowie die Kriterien für die Erstellung der Anforderungen sind in einer Norm beschrieben (ISO/IEC/IEEE 29148).

Beim Anforderungsmanagement gibt es weiterhin bestimmte Anforderungen an die Sprache. In den Spezifikationen (zum Beispiel in Pflichtenheften, Fachkonzepten oder Lastenheften), sind Anforderungen auf eine Weise zu formulieren, dass ein genaues gemeinsames Verständnis über das zu entwickelnde Modell möglich ist. Auftraggeber und Auftragnehmer sollten hierbei gleiche Vorstellungen über die Anforderungen des Systems haben. Zudem sind in Anforderungen neben den gewünschten Features des Produkts auch Kriterien zu formulieren, mit denen sich diese Eigenschaften überprüfen lassen

(ID:48726744)