# Elicitation Questionnaire - Business Analysis

> **Usage:** Structured questions for step-01-cadrage and step-03a-data
> **Standard:** BABOK v3 - Elicitation Techniques (Interactive analysis)
> **Model:** OPUS with ULTRATHINK
> **Total:** ~68 targeted questions (dev-relevant only)

---

## ULTRATHINK RULE

```
+==============================================================================+
|  ULTRATHINK: Deep thinking mode for exhaustive elicitation                   |
+==============================================================================+
|                                                                              |
|  During the analyse phase, Claude MUST:                                      |
|  - Consider ALL edge cases before formulating a question                     |
|  - Challenge EVERY stakeholder assumption                                    |
|  - Anticipate unexpressed needs                                              |
|  - Validate completeness before moving to next question                      |
|                                                                              |
|  DO NOT:                                                                     |
|  - Accept vague answers                                                      |
|  - Skip question categories                                                  |
|  - Assume stakeholder has thought of everything                              |
|                                                                              |
+==============================================================================+
```

---

## Category 0: Application Identity (8 questions)

> **Loaded when:** workflow.mode = "application" (multi-module)
> **Phase:** step-01-cadrage (before core questionnaires)
> **File:** `questionnaire/00-application.md`

### 0.1 Application Identity

| # | Question | Answer Type |
|---|----------|-------------|
| Q0.1 | Quel est le nom de l'application ? | PascalCase identifier |
| Q0.2 | En 1-2 phrases, quel est l'objectif principal ? | Free text |

### 0.2 Module Landscape

| # | Question | Answer Type |
|---|----------|-------------|
| Q0.3 | Combien de domaines fonctionnels distincts identifiez-vous ? | Number + names |
| Q0.4 | Lesquels sont indispensables pour la première version ? | List (must-haves) |

### 0.3 Application Roles

| # | Question | Answer Type |
|---|----------|-------------|
| Q0.5 | Les 4 rôles standards (Admin, Manager, Contributor, Viewer) conviennent-ils ? | Yes/Customize |
| Q0.6 | Certains rôles sont-ils spécifiques à certains modules ? | Per-role restrictions |

### 0.4 Cross-Module Expectations

| # | Question | Answer Type |
|---|----------|-------------|
| Q0.7 | Quels processus métier traversent plusieurs modules ? | List of E2E flows |
| Q0.8 | Quel rôle par défaut pour les nouveaux utilisateurs ? | Role selection |

---

## Category 1: Business Context (4 questions)

### 1.1 Fundamental Need

| # | Question | Answer Type |
|---|----------|-------------|
| Q1.1 | What business problem should this module/feature solve? | Free text |
| Q1.2 | What is the current situation (AS-IS)? | Description |
| Q1.3 | What is the target situation (TO-BE)? | Description |
| Q1.4 | What happens if this module is NOT developed? | Impact |

> **Trimmed:** KPIs, ROI, savings, timeline (project management scope)

---

## Category 2: Stakeholders (8 questions)

### 2.1 Identification

| # | Question | Answer Type |
|---|----------|-------------|
| Q2.1 | Who are the direct end users? | List of roles |
| Q2.2 | Who are the indirect beneficiaries? | List |
| Q2.3 | Who is the sponsor/final decision maker? | Name + role |
| Q2.4 | Who can block the project? | List + reasons |

### 2.2 Needs by Role

| # | Question | Answer Type |
|---|----------|-------------|
| Q2.5 | For each role: What tasks should they accomplish? | Per role |
| Q2.6 | What frequency of use per role? | Daily/Weekly/Monthly |
| Q2.7 | What level of technical expertise per role? | Novice/Intermediate/Expert |
| Q2.8 | What current frustrations per role? | List of pain points |

---

## Category 3: Functional Scope (8 questions)

### 3.1 Functionality

| # | 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 | What is EXPLICITLY excluded? | List of exclusions |

### 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 |

---

## Category 4: Data (8 questions)

### 4.1 Entities

| # | Question | Answer Type |
|---|----------|-------------|
| Q4.1 | What are the main entities handled? | List |
| Q4.2 | For each entity: important attributes? | Per entity |
| Q4.3 | What relationships exist between entities? | Text schema |
| Q4.4 | Expected data volume? | Estimation |

### 4.2 Data Rules

| # | Question | Answer Type |
|---|----------|-------------|
| Q4.5 | What validations on data? | List of rules |
| Q4.6 | Which fields are required vs optional? | Per field |
| Q4.7 | What specific formats/constraints? | List |
| Q4.8 | Sensitive data to protect? | List + level |

---

## Category 5: Integrations (8 questions)

### 5.1 Existing Systems

| # | Question | Answer Type |
|---|----------|-------------|
| Q5.1 | What internal systems should we integrate with? | List |
| Q5.2 | What external systems? | List |
| Q5.3 | Existing APIs to use? | Documentation |
| Q5.4 | Data to import from another system? | List + format |

### 5.2 Data Flows

| # | Question | Answer Type |
|---|----------|-------------|
| Q5.5 | Flow direction? (inbound/outbound/bidirectional) | Per system |
| Q5.6 | Synchronization frequency? | Real-time/Batch |
| Q5.7 | Data conflict management? | Strategy |
| Q5.8 | Fallback if external system unavailable? | Behavior |

---

## Category 6: Security & Permissions (8 questions)

### 6.1 Access

| # | Question | Answer Type |
|---|----------|-------------|
| Q6.1 | Who can VIEW data? | List of roles |
| Q6.2 | Who can CREATE entries? | List of roles |
| Q6.3 | Who can MODIFY? | List of roles |
| Q6.4 | Who can DELETE? | List of roles |

### 6.2 Restrictions

| # | Question | Answer Type |
|---|----------|-------------|
| Q6.5 | Geographic restrictions? | Countries/regions |
| Q6.6 | Time-based restrictions? (hours, periods) | Ranges |
| Q6.7 | Audit trail required? Which actions? | List |
| Q6.8 | Regulatory compliance? (GDPR, etc.) | List of standards |

---

## Category 7: User Interface (8 questions)

### 7.1 Experience

| # | Question | Answer Type |
|---|----------|-------------|
| Q7.1 | Target devices? (desktop, mobile, tablet) | List |
| Q7.2 | Browsers to support? | List + versions |
| Q7.3 | Accessibility required? (WCAG level) | A/AA/AAA |
| Q7.4 | Dark/light mode required? | Yes/No |

### 7.2 Screens

| # | Question | Answer Type |
|---|----------|-------------|
| Q7.5 | Main screens needed? | List |
| Q7.6 | Existing mockups/wireframes? | Documents |
| Q7.7 | Key information per screen? | Per screen |
| Q7.8 | Possible actions per screen? | Per screen |

---

## Category 8: Performance & Quality (4 questions)

### 8.1 Performance & Quality

| # | Question | Answer Type |
|---|----------|-------------|
| Q8.1 | Acceptable response time? | Milliseconds |
| Q8.2 | Expected load peaks? | When + volume |
| Q8.3 | Specific tests required? | Types |
| Q8.4 | Overall acceptance criteria? | List |

> **Trimmed:** Concurrent users, SLA, error rate, test environments (ops/infra scope)

---

## Category 9: Constraints (4 questions)

### 9.1 Technical

| # | Question | Answer Type |
|---|----------|-------------|
| Q9.1 | Mandated tech stack? | Technologies |
| Q9.2 | Infrastructure limitations? | Description |
| Q9.3 | Technology dependencies? | List |
| Q9.4 | Compatibility constraints? | List |

> **Trimmed:** Budget, deadline, resources, approval process (PM scope)

---

## Category 10: Documentation & Support (4 questions)

### 10.1 Documentation

| # | Question | Answer Type |
|---|----------|-------------|
| Q10.1 | User documentation needed? | Yes/No + type |
| Q10.2 | Technical documentation needed? | Yes/No + type |
| Q10.3 | User training planned? | Plan |
| Q10.4 | Knowledge base to create? | Scope |

> **Trimmed:** Support level, L1/L2, escalation, monitoring (ops scope)

---

## Categories conditionnelles (chargees selon le contexte)

### Categorie 11 : Cycle de vie des donnees (questionnaire/11-data-lifecycle.md)
> Charge si : les entites ont des exigences de retention, d'archivage ou de conformite

### Categorie 12 : Migration (questionnaire/12-migration.md)
> Charge si : migration de donnees depuis un systeme existant

### Categorie 13 : Impact inter-modules (questionnaire/13-cross-module.md)
> Charge si : la fonctionnalite interagit avec des modules existants

### Categorie 14 : Risques et hypotheses (questionnaire/14-risk-assumptions.md)
> Charge : TOUJOURS (noyau, integre au cadrage)

### Categorie 15 : Criteres de reussite (questionnaire/15-success-metrics.md)
> Charge : TOUJOURS (noyau, integre au cadrage)

---

## Utilisation des questionnaires

### Correspondance avec les phases

| Phase | Categories utilisees |
|-------|---------------------|
| step-01-cadrage | 00 (si mode application), 01, 02, 03, 14, 15 + conditionnelles (05, 06, 08, 09, 10) |
| step-03a-data (par module) | 04, 07, 11, 12, 13 (chargees par module) |

### Phase de cadrage

1. **Debut :** Commencer par la categorie 0 (si mode application), puis la categorie 1 (Contexte metier)
2. **Adapter :** Sauter les questions non pertinentes selon le contexte
3. **Approfondir :** Poser des questions de relance sur les reponses vagues
4. **Challenger :** Ne pas accepter "on verra plus tard" sur les fonctionnalites indispensables
5. **Par lots :** Presenter 3 a 4 questions par interaction (AskUserQuestion)
6. **Risques et succes :** TOUJOURS poser les categories 14 et 15 en fin de cadrage

### Questions de relance

Pour chaque reponse vague, utiliser :
- "Pouvez-vous me donner un exemple concret ?"
- "Comment mesurez-vous cela aujourd'hui ?"
- "Que se passe-t-il si cette regle n'est pas respectee ?"
- "Qui est impacte par cette decision ?"

### Filtre de pertinence

Chaque question conservee passe ce test :
> "La reponse change-t-elle quelque chose dans le systeme a construire ?"
> Oui → Conserver | Non → Supprimer

---

## Synthese

| Categorie | Questions | Phase | Focus |
|-----------|-----------|-------|-------|
| 0. Identite de l'application | 18 | step-01 (mode application) | Nom, domaines, profils |
| 1. Contexte metier | 32 | step-01 | Probleme, situation actuelle, vision, declencheur |
| 2. Parties prenantes | 33 | step-01 | Utilisateurs, taches, acces, changement |
| 3. Perimetre fonctionnel | 32 | step-01 | Priorites, parcours, besoins transversaux |
| 4. Donnees | 15 | step-03 (par module) | Entites et regles |
| 5. Integrations | 14 | step-01 (conditionnel) | Systemes et flux |
| 6. Securite et acces | 13 | step-01 (conditionnel) | Permissions et restrictions |
| 7. Interface utilisateur | 19 | step-03 (par module) | Ecrans et experience |
| 8. Performance et qualite | 8 | step-01 (conditionnel) | Temps de reponse et tests |
| 9. Contraintes | 6 | step-01 (conditionnel) | Technologies et dependances |
| 10. Documentation | 7 | step-01 (conditionnel) | Guides et formation |
| 11. Cycle de vie donnees | 14 | step-03 (conditionnel) | Retention, archivage, RGPD |
| 12. Migration et transition | 14 | step-03 (conditionnel) | Donnees existantes, cutover |
| 13. Impact inter-modules | 14 | step-03 (conditionnel) | Dependances, evenements |
| 14. Risques et hypotheses | 16 | step-01 | Risques, hypotheses, lecons du passe |
| 15. Criteres de reussite | 17 | step-01 | Indicateurs de succes, conditions d'acceptation |
| **Total noyau (01-03, 14-15)** | **130** | | **Toujours charges** |
| **Total avec app (00)** | **148** | | **Si mode application** |
| **Total conditionnel (04-13)** | **124** | | **Selon contexte** |
| **Total maximum possible** | **272** | | **Noyau + app + tous conditionnels** |
