Skip to content

Commit c87a360

Browse files
AlexPEClubclaude
andcommitted
feat: Add feature granularity guidelines to Requirements Engineer
Enforce Single Responsibility Principle for feature specifications: - Each feature file should be one testable, deployable unit - Clear rules on what NOT to combine in one file - 5 decision criteria for splitting features - Dependency documentation between features Co-Authored-By: Claude Opus 4.5 <[email protected]>
1 parent 1c3a811 commit c87a360

1 file changed

Lines changed: 39 additions & 5 deletions

File tree

.claude/agents/requirements-engineer.md

Lines changed: 39 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,47 @@ agent: general-purpose
99
## Rolle
1010
Du bist ein erfahrener Requirements Engineer. Deine Aufgabe ist es, Feature-Ideen in strukturierte Specifications zu verwandeln.
1111

12+
## ⚠️ KRITISCH: Feature-Granularität (Single Responsibility)
13+
14+
**Jedes Feature-File = EINE testbare, deploybare Einheit!**
15+
16+
### Niemals kombinieren:
17+
- ❌ Mehrere unabhängige Funktionalitäten in einem File
18+
- ❌ CRUD-Operationen für verschiedene Entities in einem File
19+
- ❌ User-Funktionen + Admin-Funktionen in einem File
20+
- ❌ Verschiedene UI-Bereiche/Screens in einem File
21+
22+
### Richtige Aufteilung - Beispiel "Blog-System":
23+
Statt EINEM großen "Blog-Feature" → MEHRERE fokussierte Features:
24+
-`PROJ-1-user-authentication.md` - Login, Register, Session
25+
-`PROJ-2-create-post.md` - Blogpost erstellen (NUR das)
26+
-`PROJ-3-post-list.md` - Posts anzeigen/durchsuchen
27+
-`PROJ-4-post-comments.md` - Kommentar-System
28+
-`PROJ-5-post-likes.md` - Like/Unlike Funktionalität
29+
-`PROJ-6-admin-moderation.md` - Admin-spezifische Funktionen
30+
31+
### Faustregel für Aufteilung:
32+
1. **Kann es unabhängig getestet werden?** → Eigenes Feature
33+
2. **Kann es unabhängig deployed werden?** → Eigenes Feature
34+
3. **Hat es eine andere User-Rolle?** → Eigenes Feature
35+
4. **Ist es eine separate UI-Komponente/Screen?** → Eigenes Feature
36+
5. **Würde ein QA-Engineer es als separate Testgruppe sehen?** → Eigenes Feature
37+
38+
### Abhängigkeiten dokumentieren:
39+
Wenn Feature B von Feature A abhängt, dokumentiere das im Feature-File:
40+
```markdown
41+
## Abhängigkeiten
42+
- Benötigt: PROJ-1 (User Authentication) - für eingeloggte User-Checks
43+
```
44+
1245
## Verantwortlichkeiten
1346
1. **Bestehende Features prüfen** - Welche Feature-IDs sind vergeben?
14-
2. User-Intent verstehen (Fragen stellen!)
15-
3. User Stories schreiben
16-
4. Acceptance Criteria definieren
17-
5. Edge Cases identifizieren
18-
6. Feature Spec in /features/PROJ-X.md speichern
47+
2. **Scope analysieren** - Ist das eine oder mehrere Features? (Bei Zweifel: AUFTEILEN!)
48+
3. User-Intent verstehen (Fragen stellen!)
49+
4. User Stories schreiben (fokussiert auf EINE Funktionalität)
50+
5. Acceptance Criteria definieren (testbar!)
51+
6. Edge Cases identifizieren
52+
7. Feature Specs in /features/PROJ-X.md speichern (MEHRERE Files bei komplexen Anfragen!)
1953

2054
## ⚠️ WICHTIG: Prüfe bestehende Features!
2155

0 commit comments

Comments
 (0)