Herzlich willkommen zurück bei der Blogserie der nicht-funktionalen Anforderungen (NFAs). Im ersten Teil haben wir Ihnen erklärt, warum NFAs wichtig für Ihre Systementwicklung sind. Heute möchten wir Ihnen die verschiedenen Kategorien und ein integriertes Vorgehen zur Erhebung nicht-funktionaler Anforderungen, kurz IVENA, vorstellen.
Doch bevor wir uns IVENA widmen, möchten wir Ihnen, wie im ersten Teil versprochen, die einzelnen Kategorien näher erläutern:
Qualitätsanforderungen definieren die qualitativen Eigenschaften des betrachteten Systems oder einzelner Funktionen. Diese sind: Änderbarkeit, Benutzbarkeit, Effizienz, Funktionalität, Übertragbarkeit und Zuverlässigkeit.
Technologische Anforderungen haben direkten Einfluss auf die in der Entwicklung verwendeten Technologien. Sie können in entscheidender Weise die Art der Realisierung des Systems beeinflussen oder sogar vorgeben. Zum Beispiel wenn Anforderungen sich aus der Systemumwelt ergeben („Das System muss bei Temperaturen von -25°C bis +50°C betrieben werden können.“) oder wenn Mengengerüstanforderungen eine wichtige Rolle spielen („Die Software wird von 100 Nutzern gleichzeitig genutzt.“). Anforderungen an mechanische und softwarespezifische Schnittstellen und Vorgaben an die Hardware- und Softwarekomponenten (z.B. „Die Erwärmung der Systemkomponente muss kleiner 50°C sein.“).
Anforderungen an die Benutzeroberfläche beschäftigen sich hingegen mit dem visuellen, akustischen und haptischen Erscheinungsbild und der Bedienung des Systems. Sie spezifizieren, wie funktionale Anforderungen präsentiert werden sollen. Wir unterteilen sie dabei in die Bedienkonzepte, Rahmenbedingungen für die Gestaltung der Benutzungsoberfläche, sowie der Bedienelemente.
Anforderungen an sonstige Lieferbestandteile geben vor, was während der Entwicklung mit erstellt werden muss (z.B. Benutzerhandbücher). Außerdem beschreiben sie auch, was die zu erstellenden Unterlagen beinhalten sollen. Typische Lieferbestandteile sind beispielsweise Schulungsunterlagen, Installationssoftware, Werkzeuge zur Montage von Komponenten etc.
Anforderungen an durchzuführende Tätigkeiten beschreiben Projektprozesse. Zum Beispiel beschreiben sie wie das Produkt zu entwickeln ist oder betrieben werden soll.
Die Rechtlich-vertraglichen Anforderungen dokumentieren alle vereinbarten Rechte und Pflichten in Bezug auf Entwicklung und Verwendung des zu erstellenden Produkts.
Nachdem sie jetzt die Kategorien nicht-funktionaler Anforderungen kennen gelernt haben, möchten wir Ihnen nun den Erhebungsprozess und die dazugehörigen Artefakte näher bringen. In diesem Zusammenhang werden Sie auch erfahren, wie und wofür wir IVENA im Projektalltag gebrauchen.
Wie erhebe ich NFAs und welche Rolle spielt dabei IVENA?
Zur Beantwortung dieser Fragen möchten wir Ihnen einen systematischen, iterativ-inkrementellen Erhebungsprozess vorstellen. Dieser orientiert sich dabei an unserer Projekterfahrungen und an dem integrierten Vorgehen zu Erhebung nicht-funktionaler Anforderungen (IVENA).
Vorbereitung
In der Vorbereitungsphase wird der Prozess an Ihre aktuelle Projektsituation angepasst. Dabei legen Sie im Schritt „NFA-Kategorien auswählen“ unter anderem die zu untersuchenden Inhalte fest. Dafür nutzen Sie evtl. NFA-Kategorien aus einem Standard und/oder unsere IVENA DB. Auch für die Dokumentation treffen Sie grundlegende Entscheidungen wie z.B. die Art der Dokumentation (z.B. die Benutzeroberfläche soll grafisch skizziert werden, der Rest natürlichsprachlich).
Durchführung
Nach der Vorbereitung folgen die verbleibenden 3 Tätigkeiten. Dabei werden nach der Definition der Anforderungsquellen die NFAs ermittelt, dokumentiert und auf Widersprüche geprüft. Dabei sollten Sie sich vorab Gedanken machen, bis zu welchem Detaillierungsgrad Sie die NFAs erheben möchten. Im agilen Kontext kann es beispielsweise wichtig sein, zu Beginn grobe NFAs zu erheben, damit diese bei der Entwicklung berücksichtigt werden können. Später können diese dann noch verfeinert werden.
Nachdem Sie die NFAs ermittelt haben, dokumentieren Sie diese. Achten Sie dabei auf die in der Vorbereitungsphase von Ihnen als sinnvoll erachtete Dokumentationsform. Falls sich dabei noch inhaltliche Lücken auftun, erfragen Sie diese bei den entsprechenden Ansprechpartnern.
Minimieren Sie anschließend ein hohes Risiko in Ihrem Projekt, indem Sie Widersprüche auflösen. Beispiele dafür sind:
- Zeitverhalten gegenüber Speicherverbrauch
- Sicherheit gegenüber Performanz
- Einfachheit gegenüber Erweiterbarkeit
- Kosten gegenüber Qualität
- Etc…
Jetzt haben Sie erst mal einen groben Überblick über den NFA-Erhebungsprozess von uns erhalten. Wenn Sie dazu tiefergehende Details und Informationen lesen möchten, empfehlen wir Ihnen unser „Requirements- Engineering und –Management – Aus der Praxis von klassisch bis agil“ (Kapitel 12 „Nicht-funktionale Anforderungen – die heimlichen Stars“).
Nachbereitung
Zur Verwaltung der NFAs nach Beendigung eines Projekts, nutzt SOPHIST eine IVENA-Datenbank. Darin dokumentieren wir NFAs aus unseren Projekten, die wir vorher anonymisiert haben. Dadurch lassen sich NFAs im Rahmen der Wiederverwendung auch für andere Projekte nutzen.
Wenn sie mehr über den IVENA Wiederverwendungsprozess wissen möchten seien Sie auch das nächste Mal wieder dabei.
Alles Gute bis dahin!
Ihre SOPHISTen
Teil 1: Nicht-funktionale Anforderungen – die heimlichen Stars der Systementwicklung
Hallo zusammen,
mich würde interessieren, in welche der sechs NFA Kategorien Normen fallen.
Bsp: Ein Produkt muss die Norm EN61131 komplett erfüllen und wird auch nach dieser Norm entwickelt. In welche Kategorie ordne ich diese Anforderung ein?
Spontan würde ich Normen / Anforderungen die sich auf Normen beziehen unter den „Technologische Anforderungen“ einordnen.
Gruß
Jan