Nicht-funktionale Anforderungen

Nicht-funktionale Anforderungen (NFAs) werden in Projekten oft vergessen oder nur nebenbei behandelt. Dabei spielen sie eine zentrale Rolle und haben einen grossen Einfluss auf Erfolg oder Misserfolg eines Projekts.

In diesem Artikel erkläre ich, was nicht-funktionale Anforderungen sind, welchen Impact sie auf ein Projekt haben und zu welchem Zeitpunkt sie in einem Projekt erarbeitet werden sollten.

Weiter stelle ich ein Template für nicht-funktionale Anforderungen zur Verfügung, das Du im Alltag anwenden kannst. Am Schluss illustriere ich die NFAs anhand eines konkreten Beispiels.

Was sind nicht-funktionale Anforderungen?

Neben den funktionalen Anforderungen, welche die Funktionen eines Systems beschreiben, definieren die nicht-funktionalen Anforderungen die restlichen relevanten Anforderungen an ein System:

Quelle: IREB Handbuch RE@Agile

Die nicht-funktionalen Anforderungen bestehen aus folgenden Kategorien:

Produktrandbedingungen (technisch)

Haben Einfluss auf die Lösung.

Beispiele:
– Make or Buy
– Zu verwendende Technologien
– Physische Randbedingungen der Benutzer

Prozessrandbedingungen (organisatorisch)

Haben Einfluss auf die Organisation des Projekts.

Beispiele:
– Compliance
– Verfügbare Personalressourcen
– Beschränkungen im Zeitplan oder Budget.

Qualitätsanforderungen

Haben Einfluss auf die meisten funktionalen Anforderungen.

Beispiele:
– Benutzerfreundlichkeit
– Zuverlässigkeit
– Performanz

Impact

Nicht-funktionale Anforderungen haben Impact auf folgende Aspekte eines Projekts:

  • Projektplanung
  • Architektur
  • Testing
  • Betrieb
  • Compliance und Dokumentation
  • und weitere…

Wann erarbeiten?

Weil sie eine so zentrale Rolle für so viele Aspekte spielen, ist es wichtig, die nicht-funktionalen Anforderungen früh im Projektsetup zu definieren.

Der ideale Zeitpunkt ist hier:

Sobald Ausgangslage und Projektziele definiert sind, werden die nicht-funktionalen Anforderungen erarbeitet.

Erst danach sollte mit der Erarbeitung des Produkt Backlogs mit den funktionalen Anforderungen begonnen werden.

Fazit

Nicht-funktionale Anforderungen sind ein zentraler Aspekt des Requirements Engineering. Es ist wichtig, dass sie zum richtigen Zeitpunkt erarbeitet werden.

Werden sie zu spät angegangen, müssen im schlimmsten Fall viele Aspekte des Projekts umgestaltet werden. Werden sie frühzeitig adressiert, lassen sich viele Aufgaben – wie Architekturdefinition, Technologieauswahl, Teamzusammenstellung und Projektsetup – deutlich einfacher erarbeiten.

Ressourcen

In diesem Kapitel stelle ich ein Template zur Verfügung und präsentiere ein Beispiel für nicht-funktionale Anforderungen anhand eines konkreten Projekts.

Template für nicht-funktionale Anforderungen

In folgendem ZIP-File habe ich ein Template für die nicht-funktionalen Anforderungen bereitgestellt:

Die Templates stehen in folgenden Formaten zur Verfügung:

  • Word
  • PDF
  • Markdown

Weiter habe ich eine Anleitung für den Import des Templates in Confluence (On-Prem und Cloud) hinzugefügt. Diese erklärt, wie man das Word-Template in Confluence importiert.

Konkretes Beispiel für NFAs

Folgendes Beispiel illustriert den Setup eines Projekts zur Entwicklungs einer Besucherverwaltung. Der Vollständigkeit halber werden hier Ausgangslage und Projektziele auch aufgezeigt.

Darauf folgend werden alle nicht-funktionalen Anforderungen mit den Prozessrandbedingungen, Produktrandbedingungen und Qualitätsanforderungen definiert.

Ausgangslage

TeilaspektErläuterung
Aktuelle SituationDie Besucherverwaltung erfolgt derzeit manuell und uneinheitlich. Dies führt zu hohem administrativem Aufwand, Sicherheitslücken und Unzufriedenheit.
Probleme, Bedürfnisse oder ChancenEs bestehen erhebliche Sicherheitsrisiken und Ineffizienzen. Ein modernes, digitales System könnte Abläufe verbessern und den Service optimieren.
VorgeschichteFrühere Versuche mit Excel-Listen und E-Mail-Anmeldungen waren nicht erfolgreich und haben die Probleme nicht gelöst.
Betroffene StakeholderEmpfangsmitarbeitende, Sicherheitsdienst, interne Mitarbeitende sowie externe Besucher sind direkt betroffen.
Notwendigkeit des ProjektsEin digitales System ist notwendig, um Standardisierung, Nachvollziehbarkeit und Sicherheit in der Besucherverwaltung zu gewährleisten.

Projektziele

TeilaspektErläuterung
Ziel des ProjektsEinführung eines digitalen Systems für Vorabregistrierung, Check-in/out, Ausweiserstellung, Gastgeber-Benachrichtigung und Protokollierung.
Haupt- und NebenzieleHauptziel ist die Erhöhung von Sicherheit und Effizienz. Nebenziele sind ein besserer Besucherservice und weniger administrativer Aufwand.
Bedeutung der ZieleDie Ziele sind entscheidend zur Risikominimierung, Prozessoptimierung und Verbesserung des Gesamtauftritts gegenüber Besuchern.
Nutznießer der ZielerreichungEmpfang, Sicherheitsdienst, Mitarbeitende und Gäste profitieren durch klarere Abläufe, mehr Sicherheit und ein angenehmeres Besuchererlebnis.

Randbedingungen

Prozessrandbedingungen

BereichProzessrandbedingung
Compliance-BestimmungenDSGVO-Konformität und Einhaltung interner IT- und Sicherheitsrichtlinien
Randbedingungen bezüglich Bereitstellung und MigrationEinführung in einer Pilotphase innerhalb von 2 Wochen. Keine Migration nötig.
Randbedingungen bezüglich des Supports1st-Level-Support durch internen IT-Helpdesk, 2nd-Level durch Projektteam
FähigkeitsbeschränkungenProjektteam mit begrenzter Erfahrung in Frontend-UX, externe Unterstützung möglich
Randbedingungen zum ZeitplanProjektbeginn am 01.07., Abschluss bis 30.09. mit definierten Meilensteinen
BudgetbeschränkungenMaximales Projektbudget: CHF 120’000
Vorgeschriebene Prozessmodelle (Rollen, Aktivitäten, Artefakte)Anwendung eines agilen Vorgehensmodells nach Scrum mit 4-Wochen-Sprints

Produktrandbedingungen

BereichProduktrandbedingung
Randbedingung bezüglich des technologischen UmfeldsIntegration in bestehende Microsoft 365 Umgebung inkl. Azure AD
Standard-Software (Make or Buy)Priorisierung einer Eigenentwicklung auf Basis interner Web-Plattform
Wiederverwendung von BauteilenNutzung vorhandener Module für Benutzerverwaltung, Mailversand, Kalenderanbindung
Vorgeschriebene TechnologieVerwendung von Angular (Frontend), .NET Core (Backend), MS SQL Server (Datenbank)
Voraussichtliche ArbeitsumgebungZugriff über Browser (Chrome, Edge) auf Desktop-PCs an Empfang und Sicherheit
Physische RandbedingungenSystem muss mit QR-Scannern und Besucherausweisdruckern kompatibel sein
Randbedingungen zur Umwelt (Umgebung)Keine besonderen Umweltanforderungen

Qualitätsanforderungen

Diese Raster basiert auf ISO 25010.

Funktionalität

BereichAnforderungen
Funktional vollständigAlle im Konzept definierten Funktionen (Check-in/out, Ausweise, Benachrichtigung) müssen implementiert sein
KorrektheitAlle Aktionen (z. B. Ausweisdruck, Logs) müssen exakt und nach Spezifikation ausgeführt werden
Funktionale AngemessenheitSystem bietet nur relevante Funktionen ohne unnötige Komplexität

Performanz / Effizienz

BereichAnforderungen
ZeitverhaltenSeitenaufbau und Aktionen < 2 Sekunden bei Standardlast
RessourcenverwendungServerlast durch Webzugriffe soll minimal gehalten werden, keine Überdimensionierung
KapazitätSystem muss mindestens 50 gleichzeitige Nutzer und 500 Besucher pro Tag verarbeiten können

Kompatibilität

BereichAnforderungen
Ko-ExistenzKeine Beeinträchtigung anderer Systeme im Netzwerk (z. B. Zutrittskontrolle, Mailserver)
InteroperabilitätMuss mit E-Mail-System (Outlook), Kalender und Badge-System zusammenarbeiten

Benutzbarkeit (Usability)

BereichAnforderungen
Angemessene ErkennbarkeitBesuchsprozesse müssen für Mitarbeitende und Gäste intuitiv erkennbar sein
ErlernbarkeitSchulung von max. 30 Minuten für interne Nutzer, Gäste ohne Schulung nutzbar
BedienbarkeitKlare Benutzeroberfläche mit einfachen Eingabemasken
Schutz vor Fehlern des BenutzersEingabevalidierung, Warnungen und Hilfetexte verhindern Fehlbedienung
BarrierefreiheitKonformität mit WCAG 2.1 AA für barrierearmen Zugang über Web

Zuverlässigkeit

BereichAnforderungen
Reife / Fehlerfreiheit<1% Fehlerrate im Betrieb; keine kritischen Systemabstürze
VerfügbarkeitVerfügbarkeit von mindestens 99,5% während Betriebszeiten (Mo-Fr, 07:00–18:00)
FehlertoleranzSystem bleibt bei Ausfall einzelner Module (z. B. Benachrichtigungen) funktionsfähig
WiederherstellbarkeitWiederherstellung innerhalb 2 Stunden inkl. vollständiger Datenintegrität nach Ausfall

Sicherheit

BereichAnforderungen
VertraulichkeitZugriff auf Besucherdaten nur durch berechtigte Nutzergruppen über Rollen-/Rechtemodell
IntegritätDaten werden durch Transaktionsmechanismen und Checks konsistent gehalten
NachweisbarkeitJede Benutzeraktion wird protokolliert (Audit-Trail) und ist nachvollziehbar
OrdnungsmäßigkeitErfüllung aller regulatorischen Datenschutzanforderungen (z. B. Löschfristen)
AuthentizitätAnmeldung über Single-Sign-On (SSO) mit starker Authentifizierung

Wartbarkeit

BereichAnforderungen
ModularitätKlare Trennung von Frontend, Backend und Datenhaltung
WiederverwendbarkeitAllgemeine Komponenten wie Logik für Benachrichtigungen sollen wiederverwendbar sein
AnalysierbarkeitLogging und Monitoring ermöglichen schnelle Fehleridentifikation
ÄnderbarkeitSystemstruktur erlaubt Erweiterungen ohne grundlegende Umbauten
TestbarkeitUnit- und Integrationstests möglich mit Mock-Daten und Testumgebung

Portabilität

BereichAnforderungen
AnpassbarkeitSystem kann bei Bedarf auf mobile Geräte erweitert werden
SkalierbarkeitArchitektur erlaubt Skalierung bei wachsender Benutzerzahl
InstallierbarkeitInstallation via automatisierter Bereitstellung auf Windows-Server
AustauschbarkeitModule wie Druckkomponente können bei Bedarf durch andere Systeme ersetzt werden

Nach oben scrollen