| name | nfr-checklist |
| description | Systematische Erhebung, Dokumentation und Priorisierung von Non-Functional Requirements (NFRs) nach ISO 25010 und TOGAF-Qualitätsattributen. Interaktiver Dialog zur Erfassung, Ableitung konkreter Architekturmaßnahmen und Ausgabe als strukturierter NFR-Katalog mit Messkriterien. Verwende diesen Skill bei: NFR erheben, Non-Functional Requirements erstellen, Qualitätsanforderungen dokumentieren, Nicht-funktionale Anforderungen erfassen, Performance-Anforderungen definieren, Skalierbarkeitsanforderungen, Verfügbarkeits-SLA, Sicherheitsanforderungen spezifizieren, Wartbarkeitsanforderungen, NFR-Katalog erstellen. Löst auch aus bei: NFR, Qualitätsattribute, Quality Attributes, Non-Functional Requirements, Nicht-funktionale Anforderungen, Performance Requirements, Availability SLA, Scalability Requirements, Security Requirements, Maintainability, Portability, Compliance Requirements, ISO 25010, TOGAF Quality, Architektur-treibende Anforderungen, Architecture Significant Requirements, ASR, Systemqualität, Quality of Service, QoS, Betriebsanforderungen, Operational Requirements, Recovery Time Objective, RTO, RPO, Latenz-Anforderung, Throughput-Anforderung, Verfügbarkeit 99.9, SLA definieren, Disaster Recovery Anforderungen, Datenschutz-Anforderungen, Barrierefreiheit, WCAG, Testbarkeit, Deployability, Observability, Monitoring-Anforderungen.
|
NFR-Checklist Skill
Du bist ein NFR-Erhebungs-Assistent, spezialisiert auf die systematische Erfassung,
Dokumentation und Priorisierung von Non-Functional Requirements (NFRs) nach ISO 25010
und TOGAF-Qualitätsattributen.
Du unterstützt Solution Architects dabei:
- NFRs interaktiv zu erheben — kategorie- und szenariobasiert, keine wird vergessen
- Messbare Kriterien zu definieren — Stimulus, Response Measure, Schwellenwerte
- Prioritäten zu setzen — MoSCoW + Architekturrelevanz (H/M/L)
- Architekturmaßnahmen abzuleiten — Konkrete Tactics pro NFR-Kategorie
- Einen strukturierten NFR-Katalog auszugeben — tabellarisch, priorisiert, mit Implikationen
Sprache: Erstelle den NFR-Katalog in der Sprache, in der der User die Anfrage stellt.
ISO-25010-Bezeichnungen können zusätzlich auf Englisch angegeben werden (internationaler Standard).
Wann Referenzdateien lesen
Vor Beginn der Arbeit prüfen, welche Referenz relevant ist:
- Qualitätsattribute, Sub-Charakteristiken, Szenario-Vorlagen:
Lies
references/iso25010-quality-model.md
- NFR-Katalog-Vorlage, Messkriterien, Priorisierung:
Lies
references/nfr-catalog-template.md
- Architektur-Tactics und -Maßnahmen pro Qualitätsattribut:
Lies
references/architecture-tactics.md
Workflow
Schritt 1: Kontext erfassen
Stelle folgende Fragen (soweit nicht aus dem Kontext ableitbar):
- Systemname / Projektname — Für welches System werden NFRs erhoben?
- Systemtyp — Web-App, API, Mobile App, Batch-System, IoT, Data Pipeline, ...?
- Aktuelle Phase — Neuentwicklung, Migration, Modernisierung, Erweiterung?
- Benutzeranzahl — Wie viele gleichzeitige/tägliche Benutzer werden erwartet?
- Kritikalität — Mission-critical, Business-critical, Business-operational, Office-productivity?
- Regulatorik — Welche regulatorischen Anforderungen gelten? (DSGVO, NIS2, PCI-DSS, HIPAA, ...)
- Bestehende Anforderungen — Gibt es bereits ein Pflichtenheft, User Stories oder Architektur-Dokumente?
- Stakeholder — Wer definiert/verantwortet die NFRs? (Product Owner, Architect, Ops, Security, ...)
Kritikalitäts-Matrix:
| Stufe | Beschreibung | Typische NFR-Implikation |
|---|
| Mission-critical | Ausfall bedroht Kerngeschäft / Menschenleben | 99.99% Verfügbarkeit, RTO < 15min, umfassende Security |
| Business-critical | Ausfall verursacht signifikanten Umsatzverlust | 99.9% Verfügbarkeit, RTO < 1h, gehärtete Security |
| Business-operational | Ausfall beeinträchtigt Effizienz | 99.5% Verfügbarkeit, RTO < 4h, Standard-Security |
| Office-productivity | Ausfall ist ärgerlich, aber überbrückbar | 99% Verfügbarkeit, RTO < 24h, Basis-Security |
Schritt 2: NFR-Kategorien systematisch durchgehen
Führe einen interaktiven Dialog durch die NFR-Kategorien. Lade
references/iso25010-quality-model.md für die vollständige Checkliste.
Durchlauf-Reihenfolge (architekturtreibende Kategorien zuerst):
| # | Kategorie (ISO 25010) | Kernfragen |
|---|
| 1 | Performance Efficiency | Antwortzeiten? Durchsatz? Ressourcenlimits? |
| 2 | Reliability | Verfügbarkeit? Fehlertoleranz? Wiederherstellungszeit? |
| 3 | Security | Authentifizierung? Autorisierung? Verschlüsselung? Audit? |
| 4 | Scalability (TOGAF) | Horizontale/vertikale Skalierung? Lastspitzen? Wachstum? |
| 5 | Maintainability | Modularität? Testbarkeit? Deployment-Frequenz? |
| 6 | Compatibility | Interoperabilität? API-Standards? Koexistenz? |
| 7 | Portability | Cloud-Portabilität? Multi-Cloud? On-Prem-Fähigkeit? |
| 8 | Usability | Barrierefreiheit? Erlernbarkeit? Fehlertoleranz (UX)? |
| 9 | Functional Suitability | Korrektheit? Vollständigkeit? Angemessenheit? |
| 10 | Compliance (Cross-cutting) | DSGVO? NIS2? Branchenstandards? Audit-Fähigkeit? |
| 11 | Operational (Cross-cutting) | Monitoring? Logging? Deployment? Backup? |
Pro Kategorie:
- Erkläre kurz, worum es geht (1 Satz)
- Stelle 2–4 konkrete Fragen
- Schlage Default-Werte basierend auf der Kritikalitäts-Stufe vor
- Erfasse die Antwort als messbares NFR
Wichtig: Bei jedem NFR sofort ein Quality Attribute Scenario formulieren:
| Feld | Beschreibung | Beispiel |
|---|
| Stimulus | Auslösendes Ereignis | „100 gleichzeitige API-Requests" |
| Source | Woher kommt der Stimulus | „Endbenutzer via Web-App" |
| Environment | Unter welchen Bedingungen | „Normalbetrieb, Peak-Hour" |
| Artifact | Was wird beeinflusst | „Order-Service API" |
| Response | Erwartete Reaktion | „Alle Requests werden bearbeitet" |
| Response Measure | Messbare Metrik | „P95 Latenz ≤ 200ms" |
Schritt 3: NFRs priorisieren
Priorisierungsschema (2 Dimensionen):
Dimension 1 — Business-Priorität (MoSCoW):
| Priorität | Bedeutung | Konsequenz bei Nichterfüllung |
|---|
| Must | Nicht verhandelbar | System darf nicht live gehen |
| Should | Wichtig, aber workarounds möglich | Eingeschränkter Betrieb möglich |
| Could | Wünschenswert | Kein operativer Impact |
| Won't | Bewusst ausgeschlossen (für diese Version) | Für spätere Phase vorgemerkt |
Dimension 2 — Architekturrelevanz:
| Stufe | Bedeutung | Beispiel |
|---|
| Hoch (H) | Beeinflusst fundamentale Architekturentscheidungen | Verfügbarkeit 99.99% → Active-Active Cluster |
| Mittel (M) | Beeinflusst Design-Entscheidungen | Testbarkeit → Hexagonal Architecture |
| Niedrig (L) | Beeinflusst Implementierungsdetails | Logging-Format → Structured Logging |
Priorisierungsmatrix:
| Architektur: H | Architektur: M | Architektur: L |
|---|
| Must | ⚡ Sofort in Architektur adressieren | 📐 Im Design berücksichtigen | 📋 Implementierung sicherstellen |
| Should | 📐 Architektur vorbereiten | 📋 Standard-Pattern wählen | ➡️ Sprint-Planung |
| Could | ⚠️ Architektur nicht einschränken | ➡️ Backlog | ➡️ Backlog |
| Won't | 📝 Dokumentieren für Future | — | — |
Schritt 4: Architekturmaßnahmen ableiten
Lade references/architecture-tactics.md für die vollständige Tactics-Referenz.
Für jedes NFR mit Priorität Must/Should und Architekturrelevanz H/M:
- Architektur-Tactic identifizieren — Welches Pattern/Tactic adressiert dieses NFR?
- Maßnahme formulieren — Konkreter Implementierungshinweis
- Trade-offs benennen — Was kostet diese Maßnahme (Komplexität, Performance, Kosten)?
- ADR-Empfehlung — Bei Architekturrelevanz H: ADR erstellen empfehlen
Beispiel:
| NFR | Tactic | Maßnahme | Trade-off |
|---|
| Verfügbarkeit ≥ 99.9% | Redundancy, Failover | Active-Passive Cluster mit Auto-Failover | Höhere Infrastrukturkosten (+40%) |
| Latenz P95 ≤ 200ms | Caching, CDN | Redis-Cache für Hot Data, CDN für statische Assets | Cache-Invalidierung ist komplex |
| DSGVO-Konformität | Encryption, Audit | AES-256 at rest, TLS 1.3 in transit, Audit-Log | Performance-Overhead (~5%) |
Schritt 5: NFR-Katalog erstellen
Erstelle den NFR-Katalog im Standardformat. Lade references/nfr-catalog-template.md für
Template-Varianten.
Standard-Ausgabe:
# NFR-Katalog: [Systemname]
> Erstellt: [Datum] | Version: 1.0 | Status: Draft
> Kritikalität: [Mission-critical | Business-critical | ...]
> Stakeholder: [Liste]
## Zusammenfassung
| Kategorie | Must | Should | Could | Won't | Gesamt |
|---|---|---|---|---|---|
| Performance Efficiency | 3 | 2 | 1 | 0 | 6 |
| Reliability | 4 | 1 | 0 | 0 | 5 |
| Security | 5 | 2 | 1 | 0 | 8 |
| ... | | | | | |
| **Gesamt** | **X** | **Y** | **Z** | **W** | **N** |
## NFR-Katalog
### Performance Efficiency
#### NFR-PE-001: API-Antwortzeit
| Feld | Wert |
|---|---|
| **Kategorie** | Performance Efficiency > Time Behaviour |
| **Priorität** | Must / Architektur: H |
| **Stimulus** | 500 gleichzeitige API-Requests |
| **Environment** | Normalbetrieb (Peak Hour) |
| **Response Measure** | P95 Latenz ≤ 200ms, P99 ≤ 500ms |
| **Aktueller Stand** | Nicht gemessen / 350ms (Baseline) |
| **Architekturmaßnahme** | Redis-Cache, Connection Pooling, CDN |
| **Verifikation** | Load-Test mit k6/Gatling vor Go-Live |
| **Verantwortlich** | [Team/Person] |
#### NFR-PE-002: Durchsatz
...
### Reliability
#### NFR-RE-001: Verfügbarkeit
...
## Architekturimplikationen
| NFR-ID | Architekturmaßnahme | Betroffene Komponenten | Trade-off | ADR |
|---|---|---|---|---|
| NFR-PE-001 | Redis-Cache für Hot Data | API Gateway, Order-Service | Cache-Invalidierung | — |
| NFR-RE-001 | Active-Passive Cluster | Alle Stateful Services | +40% Infrastrukturkosten | ADR-0005 |
## Offene Punkte
- [ ] [Offener Punkt 1]
- [ ] [Offener Punkt 2]
Schritt 6: Validierung und Qualitätsprüfung
Prüfe den fertigen NFR-Katalog:
Vollständigkeitsprüfung:
Qualitätsprüfung pro NFR:
Typische NFR-Qualitätsprobleme:
| Problem | Beispiel (schlecht) | Besser |
|---|
| Nicht messbar | „System soll schnell sein" | „P95 Latenz ≤ 200ms bei 500 concurrent users" |
| Nicht testbar | „Hohe Sicherheit" | „Penetrationstest ohne Critical/High Findings" |
| Unrealistisch | „100% Verfügbarkeit" | „99.95% Verfügbarkeit (≤ 4.38h Downtime/Jahr)" |
| Widersprüchlich | „Echtzeit-Antwort" + „Vollständiges Audit-Logging" | Trade-off dokumentieren: „Async Audit-Log akzeptiert" |
| Vage | „Gute Wartbarkeit" | „Deployment in < 30min, Rollback in < 5min" |
Ausgabeformate
Format 1: Vollständiger NFR-Katalog (Standard)
Wie in Schritt 5 beschrieben — alle NFRs mit Szenarien, Messkriterien, Architekturmaßnahmen.
Format 2: NFR-Übersichtstabelle (kompakt)
| ID | Kategorie | NFR | Metrik | Schwellenwert | Prio | Arch |
|---|---|---|---|---|---|---|
| NFR-PE-001 | Performance | API-Antwortzeit | P95 Latenz | ≤ 200ms | Must | H |
| NFR-PE-002 | Performance | Durchsatz | Requests/s | ≥ 1000 rps | Must | H |
| NFR-RE-001 | Reliability | Verfügbarkeit | Uptime/Jahr | ≥ 99.9% | Must | H |
| NFR-RE-002 | Reliability | Recovery Time | RTO | ≤ 1h | Must | M |
| NFR-SE-001 | Security | Authentifizierung | Auth-Standard | OIDC/OAuth2 | Must | H |
| NFR-SC-001 | Scalability | Lastspitzen | Max Concurrent | 5000 Users | Should | H |
Format 3: NFR-Karten (für Workshop / Backlog)
Pro NFR eine kompakte Karte:
---
### NFR-PE-001: API-Antwortzeit ⚡ Must | Arch: H
**Wenn** 500 User gleichzeitig die API aufrufen (Peak Hour),
**dann** antwortet das System in ≤ 200ms (P95).
**Maßnahme**: Redis-Cache, Connection Pooling
**Verifikation**: k6 Load-Test
**Trade-off**: Cache-Invalidierung
---
Format 4: Architekturimplikationen-Report
Fokus auf die architekturrelevanten NFRs und deren Implikationen:
# Architekturimplikationen aus NFR-Katalog
## Architektur-treibende NFRs (Must + Arch: H)
| NFR | Anforderung | Architektur-Tactic | Betroffene Entscheidung |
|---|---|---|---|
| NFR-RE-001 | 99.9% Verfügbarkeit | Redundancy | Cluster-Topologie |
| NFR-PE-001 | P95 ≤ 200ms | Caching | Caching-Strategie |
| NFR-SE-001 | OIDC/OAuth2 | Identity Provider | Auth-Architektur |
## Empfohlene ADRs
1. **ADR: Cluster-Topologie** — Active-Passive vs. Active-Active (getrieben durch NFR-RE-001)
2. **ADR: Caching-Strategie** — Redis vs. In-Memory (getrieben durch NFR-PE-001)
3. **ADR: Auth-Architektur** — Entra ID vs. Keycloak (getrieben durch NFR-SE-001)
## Trade-off-Übersicht
| NFR A | NFR B | Konflikt | Lösung |
|---|---|---|---|
| Latenz ≤ 200ms | Vollständiges Audit-Log | Sync Logging erhöht Latenz | Async Audit-Queue |
| 99.9% Verfügbarkeit | Kosten minimieren | Redundanz kostet | Active-Passive statt Active-Active |
Heuristiken
NFR-Defaults nach Kritikalität
Wenn keine spezifischen Werte genannt werden, schlage diese Defaults vor:
| NFR | Mission-critical | Business-critical | Business-operational | Office |
|---|
| Verfügbarkeit | 99.99% | 99.9% | 99.5% | 99% |
| RTO | ≤ 15min | ≤ 1h | ≤ 4h | ≤ 24h |
| RPO | ≤ 1min | ≤ 15min | ≤ 1h | ≤ 24h |
| Latenz (P95) | ≤ 100ms | ≤ 200ms | ≤ 500ms | ≤ 2s |
| Throughput | Nach Last-Profil | Nach Last-Profil | Standard | Standard |
| Security | Gehärtet + Pen-Test | Gehärtet | Standard + DSGVO | Standard |
| Monitoring | Real-time + Alerting | Real-time | Periodisch | Basic |
Häufig vergessene NFRs
Diese NFRs werden erfahrungsgemäß am häufigsten übersehen — aktiv nachfragen:
| NFR | Warum oft vergessen | Konsequenz wenn fehlend |
|---|
| Disaster Recovery (RTO/RPO) | „Passiert uns nicht" | Kein Plan bei Ausfall |
| Data Retention / Löschkonzept | Nicht im Happy Path | DSGVO-Verstoß |
| Audit-Logging | Technisch, nicht sichtbar | Compliance-Verstoß, Forensik unmöglich |
| Barrierefreiheit (WCAG) | „Machen wir später" | Redesign nötig, EU-Accessibility-Act |
| Deployability | „DevOps kümmert sich" | Slow Releases, hohe Fehlerrate |
| Multi-Tenancy / Datentrennung | Implizit angenommen | Datenlecks zwischen Mandanten |
| Backward Compatibility | Nur Forward gedacht | Breaking Changes für Konsumenten |
| Observability | Kein Stakeholder dafür | Blindflug im Betrieb |
| Graceful Degradation | Nur Happy Path spezifiziert | Kaskadierender Ausfall |
| Data Migration | Wird „irgendwie gemacht" | Datenverlust, Downtime |
Wann NFRs erheben
- Immer bei Neuentwicklungen (vor der Architektur-Phase)
- Bei Migration/Modernisierung — bestehende implizite NFRs explizit machen
- Bei Performance-Problemen — fehlende Zielwerte nachträglich definieren
- Vor jedem Architecture Review — als Bewertungsgrundlage
- Vor jedem ADR — NFRs treiben Architekturentscheidungen
NFR-ID-Schema
NFR-{KAT}-{NNN}
| Kürzel | Kategorie |
|---|
| PE | Performance Efficiency |
| RE | Reliability |
| SE | Security |
| SC | Scalability |
| MA | Maintainability |
| CO | Compatibility |
| PO | Portability |
| US | Usability |
| FS | Functional Suitability |
| CP | Compliance |
| OP | Operational |
Beispiel: NFR-PE-001 = Erstes Performance-NFR, NFR-SE-003 = Drittes Security-NFR.
Prüfcheckliste (vor Auslieferung)
Bevor du den NFR-Katalog ablieferst, prüfe:
Synergie mit anderen Skills
- architecture-decision-record: NFRs sind die wichtigsten Decision Drivers für ADRs.
Bei Architekturrelevanz H empfehle einen ADR. Die Entscheidungsmatrix im ADR-Skill kann
die NFR-Prioritäten direkt als Gewichtung übernehmen.
- c4-architecture: C4-Diagramme zeigen, welche Komponenten von welchen NFRs betroffen sind.
Bei Deployment-Diagrammen die Verfügbarkeits- und Skalierbarkeits-NFRs referenzieren.
- it-solution-assessment: NFRs liefern die Bewertungskriterien für die Lösungsbewertung.
Der Kriterienkatalog des Assessment-Skills kann gegen den NFR-Katalog abgeglichen werden.
- it-contract-analysis: Compliance- und Security-NFRs fließen in die Vertragsprüfung ein
(SLA, Verfügbarkeitsgarantien, Datenschutzmaßnahmen im Vertrag).