Requirements management has slowly but surely become one of the most essential and critical aspects of any project lifecycle.
WeiterlesenDer unverzichtbare Leitfaden zum Anforderungsmanagement
Good requirements management is essential for successful product and software development.
WeiterlesenNative Azure DevOps Integration vs Software Connectors
Discover why native Azure DevOps integration is essential for successful requirements management and why software connectors come with hidden costs.
WeiterlesenWebinar: Modern Requirements4DevOps Update 1 Release
Wie man gute Softwareanforderungen schreibt (mit Beispielen)
Uncover the secrets of writing good software requirements with real-world examples and a step-by-step checklist.
WeiterlesenCopilot4DevOps vs Copilot4DevOps Plus: Elevating AI-Powered DevOps
Modern Requirements has established leadership in the AI requirements management space with the launch of Copilot4DevOps and Copilot4DevOps Plus
WeiterlesenUmfassender Leitfaden zu Rückverfolgbarkeits-Tools: Qualität und Verantwortlichkeit sicherstellen
Entdecken Sie die besten Alternativen zu IBM DOORS, ihre Schwächen, wie man sie auswählt und wie man effektiv umstellt.
WeiterlesenWie man ein Anforderungsmanagement-Tool in 6 Schritten auswählt
Entdecken Sie die besten Alternativen zu IBM DOORS, ihre Schwächen, wie man sie auswählt und wie man effektiv umstellt.
WeiterlesenDie 5 besten Alternativen zu IBM DOORS: Auswahl und Umstellung
Entdecken Sie die besten Alternativen zu IBM DOORS, ihre Schwächen, wie man sie auswählt und wie man effektiv umstellt.
WeiterlesenWie man nicht-funktionale Anforderungen in 6 Schritten schreibt
Wie man nicht-funktionale Anforderungen in 6 Schritten schreibt
Teams erstellen nicht-funktionale Anforderungen (NFRs), indem sie Systemattribute wie Sicherheit, Zuverlässigkeit, Leistung, Wartbarkeit, Skalierbarkeit und Benutzerfreundlichkeit identifizieren und diese dann in klaren, messbaren Begriffen spezifizieren.
Dies ist wichtig, da nicht-funktionale Anforderungen (NFRs) entscheidend sind, um die Effektivität, Benutzerfreundlichkeit, Langlebigkeit und Zufriedenheit der Benutzer des Systems sicherzustellen.
Aus diesem Grund behandelt dieser Artikel, wie man NFRs in 6 Schritten verfasst und wer sie schreibt, mit Beispielen und Vorlagen, die Ihnen als Leitfaden dienen.
Hinweis: Wenn Sie erfahren möchten, was nicht-funktionale Anforderungen sind, worin sie sich von funktionalen Anforderungen unterscheiden und sich eingehend mit den Arten von nicht-funktionalen Anforderungen befassen möchten, lesen Sie Nicht-funktionale Anforderungen erklärt (mit realen Beispielen).
Inhaltsverzeichnis
Lesezeit: 15 Minuten
Autor: Arunabh Satpathy
1. Wer schreibt nicht-funktionale Anforderungen?
Nicht-funktionale Anforderungen (NFRs) werden in der Regel von verschiedenen am Projekt beteiligten Stakeholdern verfasst. Dazu gehören in der Regel:
- Business Analysten: Sie übernehmen häufig die Führung bei der Identifizierung und Dokumentation von NFRs, da sie in der Regel mit Kunden zu tun haben und gleichzeitig Teil des Unternehmens sind, das die Produkte entwickelt. Dadurch haben sie einen klaren Überblick über die Bedürfnisse, Präferenzen und Erwartungen sowohl der Kunden als auch der internen Stakeholder.
- Systemarchitekten/-ingenieure: Aufgrund ihrer fundierten Kenntnisse der Systemarchitektur, Einschränkungen und Möglichkeiten sind ihre Beiträge zu NFRs von unschätzbarem Wert.
- Produktverantwortliche/Produktmanager: Sie können dabei helfen, NFRs auf der Grundlage von Kundenbedürfnissen, Geschäftsanforderungen und Marktkenntnissen zu definieren.
- Qualitätssicherungsteams (QA-Teams): Sie können zur Definition von NFRs beitragen, die für Qualitätsstandards, die Einhaltung gesetzlicher Vorschriften und Testkriterien relevant sind.
Das Erlernen des Verfassens und/oder Erstellens von nicht-funktionalen Anforderungen ist eine gemeinschaftliche Aufgabe. Daher ist eine effektive Kommunikation zwischen allen Beteiligten entscheidend, um diese Anforderungen genau zu definieren und umzusetzen.
2. Wie schreibt man nicht-funktionale Anforderungen in 6 Schritten?
Schritt 1: Umfang und Zweck festlegen
Der Umfang eines Projekts bestimmt, welche Ressourcen oder Ergebnisse Sie im Laufe des Projekts auf der Grundlage der identifizierten Bedürfnisse der Stakeholder hinzufügen oder entfernen können. Er bestimmt auch, welche NFRs das Team erstellt. Schlecht definierte Projekte und nicht-funktionale Anforderungen (NFRs) können zu erheblichen Problemen wie Kostenüberschreitungen, Verzögerungen, Unzufriedenheit der Stakeholder und sogar rechtlichen Problemen führen.
Studien zeigen, dass 85 % der Bauprojekte mit Scope Creep ihr Budget überschreiten, wobei die durchschnittliche Kostenüberschreitung bei 27 % liegt.
Wenn es sich bei einem System beispielsweise um eine Echtzeit-Videostreaming-Anwendung handelt, wären leistungsbezogene NFRs (wie Videotreue und Ausfallzeiten) von großer Relevanz.
Schritt 2: Sammeln Sie Input von den Beteiligten
Der beste Weg, um sicherzustellen, dass ein System den Anforderungen des Unternehmens, der Kunden und des Marktes entspricht, ist die Einholung von Input von den Stakeholdern. Dadurch lassen sich auch erhebliche Probleme wie Kostenüberschreitungen und rechtliche Risiken vermeiden. Der Input der Stakeholder lässt sich in zwei Schritten einholen:
- Einbindung von Interessengruppen
Zu Beginn eines Projekts ist es entscheidend, die Stakeholder zu identifizieren. Stakeholder können je nach ihrer direkten Auswirkung und ihrem Einfluss auf das Projekt in primäre, sekundäre und tertiäre Gruppen eingeteilt werden.
Nachdem sowohl interne als auch externe Stakeholder identifiziert wurden, können die Teams mit der Erfassung der Anforderungen fortfahren, einschließlich der nicht-funktionalen Anforderungen.
- Anforderungen an das Sammeln
Bei der Anforderungserfassung sammeln Teams Informationen von Stakeholdern, um die Projektanforderungen, einschließlich nicht-funktionaler Anforderungen, zu definieren.
Zu den Techniken zur Erfassung von Anforderungengehören verschiedene qualitative und quantitative Methoden wie Interviews, Brainstorming, Fokusgruppen und Umfragen. Die Wahl der Technik hängt vom Umfang des Projekts, den zugewiesenen Ressourcen und der Verfügbarkeit der Stakeholder ab.
Die besten Projektmanagement-Tools ermöglichen es Teams auch, Anforderungen aus anderen Quellen wie E-Mails, Notizen, FAQs und hochgeladenen Word-Dokumenten zu sammeln.
Die Teams haben nun begonnen, modernste KI-Tools einzusetzen, um die Ermittlung von Anforderungen zu automatisieren und damit effizienter und umfassender zu gestalten.
Schritt 3: Nicht-funktionale Anforderungen (NFRs) kategorisieren
Die Kategorisierung nicht-funktionaler Anforderungen (NFRs) dient als Leitfaden für die Gestaltung des Produkts/der Dienstleistung und beeinflusst dessen/deren Leistung, Sicherheit und Benutzerzufriedenheit. Schlecht kategorisierte NFRs können zu Projekten führen, die den Anforderungen der Stakeholder nicht gerecht werden. Hier sind zwei Möglichkeiten zur Kategorisierung von NFRs:
- Sortieren nach Typ Nicht-funktionale Anforderungen (NFRs) lassen sich in drei Hauptkategorien einteilen:
- Operative Aspekte: Diese konzentrieren sich auf die Effektivität und Sicherheit des Systems unter normalen Bedingungen. Beispielsweise sollte das System 10.000 aktive Nutzer gleichzeitig bedienen können, ohne dass die Streaming-Qualität merklich beeinträchtigt wird.
- Revisionsaspekte: Diese stellen sicher, dass sich das System mit minimalem Aufwand an Änderungen anpassen kann. Beispielsweise sollte das System auf bis zu 15.000 Benutzer skalierbar sein, ohne dass es zu größeren Systemausfällen kommt.
- Übergangsaspekte: Diese beziehen sich auf die Fähigkeit des Systems, reibungslos zu wechseln, z. B. durch Integration mit anderen Systemen oder Anpassung an Änderungen. Das System sollte beispielsweise auf allen gängigen Betriebssystemen (Windows, macOS, Linux) und allen Formfaktoren (Mobilgeräte, PC, Desktop, Tablet) ohne wesentliche Änderungen laufen.
Diese Kategorien helfen beim Verständnis und Management von NFRs während der Entwicklung eines Produkts, Systems oder Prozesses.
- Sortieren nach Priorität: Sobald Sie wissen, welche Arten von Anforderungen Sie schreiben, ist es an der Zeit, diese zu priorisieren. Die Methode, die Sie verwenden, hängt von den Anforderungen Ihres Projekts ab. Zu den gängigen Techniken gehören MoSCoW, RICE, die Prioritätsmatrix und weitere.
- Sortieren nach Typ Nicht-funktionale Anforderungen (NFRs) lassen sich in drei Hauptkategorien einteilen:
Sie können NFRs nach verschiedenen Aspekten des Unternehmens und des Projekts priorisieren, darunter:
- Geschäftlicher Wert: Priorisieren Sie NFRs anhand ihrer Auswirkungen auf den geschäftlichen Wert des Systems. NFRs, die den Wert des Systems erheblich steigern, sollten eine höhere Priorität erhalten. Beispielsweise hat bei einem Kleinwagen eine NFR, die die Kraftstoffeffizienz beschreibt, einen höheren geschäftlichen Wert als eine NFR, die den Komfort der Stoßdämpfer bestimmt.
- Risikobewertung: NFRs, die mit höheren Risiken verbunden sind, sollten priorisiert werden. Beispielsweise könnten sicherheitsrelevante NFRs in einem Bankensystem eine höhere Priorität erhalten. NFRs, die die Einhaltung der Euro-NCAP-Sicherheitsbewertungen für Seitenaufpralle durch das Fahrzeug beschreiben, tragen dazu bei, die Insassen vor Verletzungen zu schützen.
- Beiträge der Stakeholder: Berücksichtigen Sie die Beiträge der Stakeholder. Einige Stakeholder messen bestimmten NFRs möglicherweise eine größere Bedeutung bei.
- Kosten und Zeitaufwand: NFRs, deren Umsetzung erhebliche Ressourcen oder Zeit erfordert, erhalten möglicherweise eine geringere Priorität, es sei denn, sie sind für den Betrieb des Systems oder den Geschäftswert von entscheidender Bedeutung. Beispielsweise hat ein hochmodernes Infotainment-System eine geringere Priorität, wenn seine Umsetzung zu kostspielig ist.
Einhaltung gesetzlicher und behördlicher Vorschriften: NFRs im Zusammenhang mit der Einhaltung gesetzlicher oder behördlicher Vorschriften haben aufgrund der möglichen Folgen einer Nichteinhaltung oft hohe Priorität. In einem berühmten Fall aus jüngster Zeit hat der Automobilhersteller Volkswagen „Abschaltvorrichtungen” in seinen Dieselfahrzeugen eingebaut, um Emissionsprüfungen zu manipulieren, was gegen die Emissionsvorschriften verstieß. Der Skandal kostete das Unternehmen 30 Milliarden Dollar.
Schritt 4: Maßnahmen und Kennzahlen definieren
NFRs mögen für manche weit gefasst und schwer zu verstehen sein, aber sie sind für den Erfolg eines Projekts genauso wichtig wie funktionale Anforderungen. Die Art und Weise, wie wir eine nicht-funktionale Anforderung strukturieren, sollte einige wichtige Punkte enthalten, wie zum Beispiel:
- Was messen Sie?
- Ist es eine Anwendung, ein System, ein Projekt oder ein Prozess?
- Welche Attribute messen Sie?
- Ist es Skalierbarkeit, Wartbarkeit, Sicherheit oder etwas anderes?
- Was ist Ihr Ziel?
- Anhand welcher Kennzahlen messen Sie den Erfolg?
Sie können diese Antworten in einer Aussage zusammenfassen: „Das [Antwort auf A einfügen] sollte [Antwort auf B einfügen] sein, damit/um [Antwort auf C einfügen]“
Für eine NFR in Bezug auf Skalierbarkeit könnte diese Aussage wie folgt lauten:
- „Das System sollte innerhalb der nächsten zwei Jahre auf 10.000 Nutzer skalierbar sein.“
- „Die Anwendung sollte skalierbar sein, um 10.000 gleichzeitige Anmeldungen pro Minute zu verarbeiten.“
Wenn möglich, sollte eine NFR sowohl eine Metrik als auch eine Messgröße enthalten.
Wenn Sie beispielsweise eine nicht-funktionale Anforderung anhand eines operativen Attributs wie Zuverlässigkeit erstellen möchten, können Sie die folgenden Fragen (und Antworten) stellen:
Fragen |
|---|
Was messen Sie? |
Welche Eigenschaft(en) messen Sie? |
Was ist das Ziel? |
Welche Maßnahmen und Kennzahlen verwenden Sie, um den Erfolg der Ziele zu bestimmen? |
Antworten |
|---|
Wir messen ein System. |
Wir messen Zuverlässigkeit. |
Wir wollen im ersten Jahr eine 100-prozentige Verfügbarkeit. |
Unser Maßstab ist eine 100%ige Verfügbarkeit, unsere Kennzahl ist die Verfügbarkeit. |
Sie können diese Antworten in einer Aussage zusammenfassen:
- „Das System sollte so betriebsbereit sein, dass wir im ersten Betriebsjahr eine 100-prozentige Verfügbarkeit erreichen, um unsere einjährige Leistungsgarantie zu erfüllen.“
Es besteht die Möglichkeit, weitere Informationen darüber hinzuzufügen, warum diese NFR die oben genannten Kriterien hat.
Wie Sie sehen, können Sie nicht-funktionale Anforderungen mithilfe von Vorlagen erstellen. Wenn Sie erfahren möchten, wie Sie NFRs mithilfe von Vorlagen erstellen, lesen Sie den Artikel „Erstellen von Vorlagen für nicht-funktionale Anforderungen“.
Trotz der Vorlage kann es immer vorkommen, dass man vergisst, nicht-funktionale Anforderungen hinzuzufügen. In diesem Fall sollten Sie entsprechende Vorsicht walten lassen.
Schritt 5: Dokumentieren Sie Ihre nicht-funktionalen Anforderungen
Die Dokumentation dient der Information und Rechenschaftslegung und fungiert als Checkliste für vereinbarte Anforderungen und als Instrument zur Überprüfung der abgeschlossenen Arbeiten. Sie ermöglicht es den Teams, die Entwicklung und den Umfang der Anforderungen während der gesamten Projektlaufzeit zu überwachen und hilft dabei, Abweichungen vom ursprünglichen Umfang zu erkennen. Obwohl es kein standardisiertes Dokument für nicht-funktionale Anforderungen gibt, werden wir hier die drei wichtigsten Dokumenttypen behandeln:
- Funktionsanforderungsdokument (FRD): Hierbei handelt es sich um eine formelle Aufstellung der funktionalen Anforderungen einer Anwendung, die in der Regel von einem Business Analysten erstellt und vom Projektmanager überwacht wird. Es dient als Vertrag zwischen dem Entwickler und dem Kunden und beschreibt, was die Anwendung leisten soll.
- Produktanforderungsdokument (PRD): Das PRD wird in der Regel vom Projektmanager erstellt und vermittelt den Test- und Entwicklungsteams die erforderlichen Funktionen für eine Produktveröffentlichung. Es legt den Zweck, die Funktionen und das Verhalten des Produkts fest und steuert die Arbeit der Produktteams.
- Systemanforderungsspezifikation (SRS): Dieses Dokument, das in der Regel von Systemarchitekten oder Produktverantwortlichen verfasst wird, beschreibt die Funktionen und Verhaltensweisen einer Software oder eines Systems. Es dient als Grundlage für die Entwicklung, bietet eine Basis für die Kostenschätzung und Terminplanung und enthält wichtige Informationen in Bezug auf Entwicklung, Qualitätssicherung, Betrieb und Wartung.
Werkzeuge für die Dokumentation nicht-funktionaler Anforderungen
Teams benötigen gute Dokumentationswerkzeuge, die leicht zu bearbeiten, gemeinsam zu nutzen und in ihren Arbeitsablauf zu integrieren sind, wie zum Beispiel:
- Smart Docs: Damit können Benutzer Anforderungsdokumente erstellen, Änderungen mit Versionsverwaltung verfolgen und kritische Überprüfungen von Arbeitselementen, einschließlich nicht-funktionaler Anforderungen, initiieren.
Es befasst sich auch mit Standardisierungsproblemen, indem es die Erstellung wiederverwendbarer Dokumentvorlagen mit einer anpassbaren Struktur ermöglicht und so die Konsistenz und Effizienz im Dokumentationsprozess fördert.
Dokumentenmanagementsystem: Es wurde entwickelt, um Dokumente während der gesamten Projektdauer zu verwalten und Aufgaben wie das Hochladen, Strukturieren und Versionieren von Dokumenten und Ordnern zu übernehmen.
Diese und viele weitere Tools zur Erweiterung des Anforderungsmanagements innerhalb von Azure DevOps sind mit Modern Requirements4DevOps verfügbar.
Schritt 6: Überprüfen und Überarbeiten
Im Laufe der Zeit werden Teams, Unternehmen und Stakeholder feststellen, dass ihre Liste der nicht-funktionalen Anforderungen wachsen und sich verändern wird. Dies ist zu erwarten, da sich die Bedürfnisse einer Organisation anpassen und verändern. Dies ist ein entscheidender Schritt beim Management nicht-funktionaler Anforderungen (NFRs).
Beispielsweise kann eine Anwendung im Gesundheitswesen Protokolldateien erstellen, in denen Patientenaktivitäten oder Systemtransaktionen aufgezeichnet werden. Das regelmäßige Löschen dieser Protokolldateien ist unerlässlich, um Speicherplatz freizugeben und die Leistung der Anwendung aufrechtzuerhalten.
Im Laufe der Zeit werden Teams, Unternehmen und Stakeholder feststellen, dass ihre Liste der nicht-funktionalen Anforderungen wachsen und sich verändern wird. Dies ist zu erwarten, da sich die Bedürfnisse einer Organisation anpassen und verändern. Dies ist ein entscheidender Schritt beim Management nicht-funktionaler Anforderungen (NFRs).
Beispielsweise kann eine Anwendung im Gesundheitswesen Protokolldateien erstellen, in denen Patientenaktivitäten oder Systemtransaktionen aufgezeichnet werden. Das regelmäßige Löschen dieser Protokolldateien ist unerlässlich, um Speicherplatz freizugeben und die Leistung der Anwendung aufrechtzuerhalten.
3. Wie tragen nicht-funktionale Anforderungen zur Standardisierung bei?
Nicht-funktionale Anforderungen (NFRs) spielen eine entscheidende Rolle bei der Standardisierung, insbesondere in Branchen, in denen regulatorische und Compliance-Fragen von größter Bedeutung sind. In der stark regulierten Medizinproduktebranche sind beispielsweise betriebliche Eigenschaften wie Vertraulichkeit von größter Bedeutung.
Die Internationale Organisation für Normung (ISO) hat spezifische NFRs definiert, die bei der Entwicklung von Medizinprodukten strikt einzuhalten sind. Diese Anforderungen sind in verschiedenen ISO-Normen kategorisiert, wie zum Beispiel:
ASPICE – Anforderungen an die Softwareentwicklung für Automobilhersteller
- Sorgen Sie für Echtzeit-Effizienz bei Spitzenlasten.
- Die Sicherheitsstandards für Kraftfahrzeuge einhalten.
- Sichern Sie sich gegen unbefugten Zugriff und Datenverletzungen.
- Benutzerfreundliche Oberfläche für Fahrer und Techniker.
- Gleichbleibende Leistung unter verschiedenen Bedingungen und Belastungen.
ISO 13485 – Qualitätsmanagementsysteme für Medizinprodukte
- Managementkontrollen
- Produktplanung
- Bewertung des Qualitätsprozesses
- Ressourcensteuerung
- Rückkopplungsregelung
ISO 14971:2007 – Anwendung des Risikomanagements auf Medizinprodukte
- Managementaufgaben
- Risikoanalyseprozess
- Risikokontrolle
- Risikomanagementprozess
- Risikomanagementbericht
4. Beherrschung nicht-funktionaler Anforderungen
Das Wissen, wie man nicht-funktionale Anforderungen (NFRs) formuliert, definiert und dokumentiert, ist entscheidend für den Erfolg eines Projekts. Gut definierte NFRs wirken sich auf das Zeitmanagement, die Benutzerzufriedenheit und die Compliance aus. Teams sollten sich auf klare, messbare Systemattribute wie Sicherheit, Zuverlässigkeit, Leistung und Skalierbarkeit konzentrieren. Das Verständnis und die Verwaltung von NFRs verbessern die Effektivität, Benutzerfreundlichkeit und Langlebigkeit des Systems und tragen letztendlich zum Erfolg des Projekts bei.
Nicht-funktionale Anforderungen sind jedoch nur ein Teil des Erfolgs eines Produkts oder Projekts. In der Regel benötigen Sie eine Lösung für das Anforderungsmanagement, die mehrere Funktionen umfasst, darunter:
- Smart Docs: Dokumenterstellung, Formatierung und Verknüpfung innerhalb von Azure DevOps.
- Copilot4DevOps Plus: Bahnbrechendes Tool für das KI-Anforderungsmanagement.
- Intelligente Berichte: Mit einem Klick können Sie Projekt-Snapshot-Berichte in Azure DevOps erstellen und freigeben.
- Rückverfolgbarkeit: Rückverfolgbarkeit von Workitems innerhalb von Azure DevOps mit horizontalen und intersektionalen Rückverfolgbarkeitsmatrizen verfügbar.
Modern Requirements4DevOps ist ein preisgekröntes Tool, das Azure DevOps zu einer einzigen zuverlässigen Informationsquelle erweitert.
5. Weitere Fragen, die uns zu nicht-funktionalen Anforderungen gestellt werden
-
- Welche organisatorischen Strategien gibt es, um eine effektive NFR sicherzustellen?
Hier sind einige weitere organisatorische Strategien, mit denen Sie deren Wirkung maximieren können. - Priorisieren: Planen und erstellen Sie nicht-funktionale Anforderungen mit derselben Sorgfalt wie andere Arten von Anforderungen.
- Benchmarks: Verwenden Sie Branchen-Benchmarks, um die Wirksamkeit einer nicht-funktionalen Anforderung zu bestimmen. Beispielsweise beträgt der Branchenstandard für die Ladezeit einer Website 2 Sekunden. Teams sollten Tools wie GTMetrix und Google Page Speed Insights verwenden, um ihre Website zu vergleichen.
- Langfristige Denkweise: Im DevOps-Kontext muss ein Team langfristig denken. Sie sollten die nicht-funktionalen Anforderungen entsprechend auswählen.
- Zusammenarbeit: Fördern Sie die Zusammenarbeit und Kommunikation zwischen den Teammitgliedern, um sicherzustellen, dass alle die NFRs verstehen und auf deren Erfüllung hinarbeiten.
- Schulung: Bieten Sie Entwicklern Schulungen zur Bedeutung von NFRs und deren effektiver Umsetzung in ihrer Arbeit an. So kann sichergestellt werden, dass NFRs während des Entwicklungsprozesses nicht übersehen werden.
- Welche organisatorischen Strategien gibt es, um eine effektive NFR sicherzustellen?
- Wer schreibt nicht-funktionale Anforderungen in Agile? System- und Lösungsarchitekten sowie das Produkt- und Lösungsmanagement erstellen nicht-funktionale Anforderungen in Agile gemeinsam.
- Werden nicht-funktionale Anforderungen als User Stories formuliert? Ja, manchmal können Sie nicht-funktionale Anforderungen als User Stories formulieren. Beispielsweise können Sie eine Sicherheits-NFR wie folgt formulieren: „Als Benutzer möchte ich, dass meine persönlichen Daten verschlüsselt werden, damit meine Informationen vor unbefugtem Zugriff geschützt sind.“









