# Elicitation Questionnaire - Business Analysis

> **Usage:** Structured questions for step-01-cadrage and step-03-specify
> **Standard:** BABOK v3 - Elicitation Techniques (VibeCoding-focused)
> **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)

---

## Conditional Categories (loaded only if relevant)

### Category 11: Data Lifecycle (questionnaire/11-data-lifecycle.md)
> Loaded if: entities have retention/archival/GDPR requirements

### Category 12: Migration (questionnaire/12-migration.md)
> Loaded if: data migration from existing system needed

### Category 13: Cross-Module Impact (questionnaire/13-cross-module.md)
> Loaded if: feature interacts with existing modules

---

## Questionnaire Usage

### Phase Mapping

| Phase | Categories Used |
|-------|----------------|
| step-01-cadrage | 00 (if app mode), 01, 02, 03, + conditionals (05, 06, 08, 09, 10) |
| step-03-specify (per module) | 04, 07, 11, 12, 13 (loaded per module) |

### Cadrage Phase

1. **Start:** Begin with Category 0 (if application mode), then Category 1 (Business Context)
2. **Adapt:** Skip questions not relevant to the context
3. **Deepen:** Ask follow-up questions on vague answers
4. **Challenge:** Don't accept "we'll see later" on Must-Have
5. **Batch:** Present 3-4 questions per interaction (AskUserQuestion)

### Follow-up Questions

For each vague answer, use:
- "Can you give a concrete example?"
- "How do you measure that today?"
- "What happens if this rule is not respected?"
- "Who is impacted by this decision?"

### Dev-Relevance Filter

Each question kept passes this test:
> "Does the answer change something in the generated code?"
> Yes -> Keep | No -> Remove

---

## Summary

| Category | Questions | Phase | Focus |
|----------|-----------|-------|-------|
| 0. Application Identity | 8 | step-01 (app mode) | Application name, modules, roles |
| 1. Business Context | 4 | step-01 | Problem + AS-IS/TO-BE |
| 2. Stakeholders | 8 | step-01 | Roles + needs |
| 3. Functional Scope | 8 | step-01 | MoSCoW + flows |
| 4. Data | 8 | step-03 (per module) | Entities + rules |
| 5. Integrations | 8 | step-01 (conditional) | Systems + flows |
| 6. Security | 8 | step-01 (conditional) | Permissions + restrictions |
| 7. UI | 8 | step-03 (per module) | Screens + experience |
| 8. Performance | 4 | step-01 (conditional) | Response time + tests |
| 9. Constraints | 4 | step-01 (conditional) | Tech stack + deps |
| 10. Documentation | 4 | step-01 (conditional) | User + tech docs |
| **Total Core** | **72** | | |
| 11-13 (conditional) | ~24 | step-03 (per module) | Lifecycle, migration, cross-module |
