# Category 3: Functional Scope

> **Usage:** Scope definition with priority levels
> **When to load:** ALWAYS (core)

---

## 3.1 Functionality (Priority Levels)

| # | Question | Answer Type |
|---|----------|-------------|
| Q3.1 | List ESSENTIAL features (Must-Have) | List |
| Q3.2 | List DESIRED features (Should-Have) | List |
| Q3.3 | List OPTIONAL features (Could-Have) | List |
| Q3.4 | Any known constraints limiting scope? | List of constraints |

## 3.2 Business Process

| # | Question | Answer Type |
|---|----------|-------------|
| Q3.5 | Describe the main user flow | Steps |
| Q3.6 | What are the decision points in the flow? | List |
| Q3.7 | What alternative flows exist? | Per condition |
| Q3.8 | What are the possible error cases? | List |

---

## Prioritization

| Priority | Criterion |
|----------|-----------|
| Must | Without this feature, the module has no value — implement first |
| Should | Brings significant value — implement right after Must items |
| Could | Nice-to-have — implement if no technical blocker |
| Won't | Out of scope for this feature — belongs to a different module or feature |

## Elicitation Guide

### Follow-ups by Question

| Question | If answer is vague/insufficient | Probe |
|----------|-------------------------------|-------|
| Q3.1 (Must-Have) | > 10 items listed | "Si vous ne pouviez en garder que 3 à implémenter en premier, lesquels ? Les autres sont peut-être Should-Have." |
| Q3.1 (Must-Have) | Mélange CRUD + complexe | "Le CRUD de base (liste, création, modification, suppression) est-il un Must, ou certaines actions sont Could ?" |
| Q3.2 (Should-Have) | Vide | "Y a-t-il des fonctionnalités utiles mais moins critiques ? Export, filtres avancés, notifications ?" |
| Q3.4 (limites) | Vide | "Y a-t-il des contraintes connues qui pourraient limiter le périmètre ? (budget, délai, dépendance)" |
| Q3.5 (main flow) | < 3 étapes | "Détaillez : l'utilisateur arrive sur l'écran → que voit-il ? → que clique-t-il ? → que se passe-t-il ?" |
| Q3.7 (alt flows) | "Il n'y en a pas" | "Que se passe-t-il si l'utilisateur annule ? S'il n'a pas la permission ? Si les données sont invalides ?" |
| Q3.8 (errors) | Liste vide | "Que se passe-t-il si le réseau coupe ? Si un champ obligatoire manque ? Si un doublon existe ?" |

### Anti-patterns to Detect

| Signal | Anti-pattern | Action |
|--------|-------------|--------|
| Tout est Must-Have | **Scope non priorisé** | Appliquer le test : "Sans cette fonctionnalité, le module a-t-il ZÉRO valeur ?" |
| Q3.4 pas de limite identifiée | **Scope à valider** | Le scope sera naturellement borné par les Must-Have/Should-Have. Vérifier que les Must-Have sont réalistes. |
| Flow linéaire sans alternative | **Happy path uniquement** | "Que se passe-t-il au step X si la condition Y n'est pas remplie ?" |
| Mélange fonctionnel/technique | **Solution dans le scope** | Séparer : "gérer les commandes" (fonctionnel) vs "utiliser Redis" (technique) |
