Elicitation Toolkit Skill
Use When
- selecting and conducting interviews, workshops, observation, surveys, document analysis, or prototypes to gather requirements; use stakeholder-analysis to identify participants first.
- Use this procedure when the required source artefacts are available and
Elicitation plan, raw evidence, and issue log is the next lifecycle deliverable.
Do Not Use When
- Use
stakeholder-analysis when that neighbouring route owns the decision or deliverable.
- Do not invent missing project evidence, standards clauses, thresholds, or stakeholder decisions.
Required Inputs
| Artefact |
Source or provider |
Required? |
Behaviour when missing |
| Stakeholder register, elicitation objectives, domain context, constraints, and consent needs |
Business analyst, sponsor, and project context |
Yes |
Stop the affected step, name the missing source, and return only a qualified gap record. |
Workflow
- Inspect the required inputs and log the exact sources, versions, and unresolved assumptions.
- Apply this skill's existing domain workflow and decision rules to produce
Elicitation plan, raw evidence, and issue log.
- Stop when a required source, accountable decision owner, or deterministic test oracle is absent.
- Recover by preserving valid work, marking the blocked scope, and returning the narrowest qualified artefact plus the next evidence needed.
Outputs
| Artefact |
Consumer |
Acceptance condition |
| Elicitation plan, raw evidence, and issue log |
Requirements analysis and project decision owners |
Required sections are populated, source links resolve, and every material requirement or decision has an observable review or test oracle. |
Evidence Produced
| Evidence |
Reviewer |
Acceptance condition |
Source, decision, trace, and validation record for Elicitation plan, raw evidence, and issue log |
Requirements quality reviewer |
Inputs used, decisions made, checks run, failures, and unassessed items are explicit. |
Capability and permission boundaries
Read and search are required. Editing is allowed only when the request authorises creation or repair of the named requirements artefact. Publishing, production mutation, destructive action, spending, and certification require explicit authority.
Degraded mode
Fallback: if a required file, reviewer, standard source, network check, renderer, or execution capability is unavailable, return the narrowest useful qualified result and mark the affected check not assessed; never convert an unassessed check into a pass.
Decision Rules
| Choice or condition |
Action |
Failure or risk avoided |
| A claim is important but has only one conflicted or indirect source |
Triangulate it or mark it disputed before requirements analysis. |
False consensus and invented requirements. |
| Required inputs and test oracles are complete |
Continue through the existing workflow and record evidence. |
A deliverable whose acceptance cannot be reproduced. |
| A mandatory source or owner is missing |
Stop the affected branch and issue a qualified gap record. |
Fabricated context or unauthorised decisions. |
Quality Standards
- Preserve stable identifiers and bidirectional traceability from project evidence to
Elicitation plan, raw evidence, and issue log and its acceptance checks.
- Apply ISO/IEEE measures only with a named metric, method, threshold, evidence source, and responsible reviewer; run the anti-slop gate before release.
Anti-Patterns
- Producing
Elicitation plan, raw evidence, and issue log from assumed context. Fix: cite the project source or mark the scope blocked.
- Accepting a material requirement without a deterministic oracle. Fix: add a measurable result, boundary, and verification method.
- Crossing into
stakeholder-analysis without routing the decision. Fix: hand off the named input and preserve trace links.
- Treating an unavailable check as passed. Fix: mark it
not assessed and state the release consequence.
- Claiming standards, statutory, or stakeholder approval without evidence. Fix: cite the source and reviewer or qualify the claim.
References
Overview
This skill provides a structured, multi-technique approach to requirements elicitation. It guides the AI through selecting the most appropriate elicitation technique based on stakeholder availability, domain complexity, and requirements maturity, then executes the chosen technique to produce a grounded elicitation log. The skill supports interviews, Joint Application Development (JAD) workshops, prototyping, observation, questionnaires, contextual inquiry, benchmarking, and artifact analysis, with domain-specific checklist hooks for specialized industries.
When to Use This Skill
- After the stakeholder register has been produced by
01-stakeholder-analysis
- When requirements need to be gathered from diverse stakeholder groups
- When the elicitation technique is unclear and a decision framework is needed
- When domain-specific requirements (healthcare, SaaS, POS, GIS) require specialized checklists
- When previous elicitation rounds produced incomplete or ambiguous requirements
Quick Reference
| Attribute |
Value |
| Inputs |
projects/<ProjectName>/<phase>/<document>/stakeholder_register.md, projects/<ProjectName>/_context/vision.md, projects/<ProjectName>/_context/features.md |
| Output |
projects/<ProjectName>/<phase>/<document>/elicitation_log.md |
| Tone |
Investigative, methodical, source-attributed |
| Standards |
IEEE 29148-2018 Section 6.3, Laplante Ch.4, Wiegers Practices 4-6 |
Input Files
| File |
Location |
Required |
Purpose |
| stakeholder_register.md |
projects/<ProjectName>/<phase>/<document>/stakeholder_register.md |
Yes |
Stakeholder roles, communication preferences, engagement levels |
| vision.md |
projects/<ProjectName>/_context/vision.md |
Yes |
Business goals, problem statement, domain context |
| features.md |
projects/<ProjectName>/_context/features.md |
Yes |
Feature list for elicitation scoping |
| glossary.md |
projects/<ProjectName>/_context/glossary.md |
No |
Domain terminology for consistent language |
Output Files
| File |
Location |
Description |
| elicitation_log.md |
projects/<ProjectName>/<phase>/<document>/elicitation_log.md |
Structured findings with source attribution, technique used, and confidence levels |
Core Instructions
Follow these six steps in order. Halt and notify the user if a required input file is missing.
Step 1: Read Context Files
Read stakeholder_register.md from projects/<ProjectName>/<phase>/<document>/, and vision.md and features.md from projects/<ProjectName>/_context/. Optionally read glossary.md. Log every file path read. If any required file is missing, halt execution and report the gap.
Step 2: Assess Elicitation Context
Evaluate three dimensions to determine the appropriate elicitation technique:
Dimension 1 -- Stakeholder Availability
| Level |
Description |
Indicator |
| High |
Stakeholders are accessible for extended, interactive sessions |
On-site team, dedicated availability windows |
| Medium |
Stakeholders are available for scheduled sessions with limited duration |
Remote team, shared across projects |
| Low |
Stakeholders are difficult to reach or available only asynchronously |
External clients, regulators, distributed globally |
Dimension 2 -- Domain Complexity
| Level |
Description |
Indicator |
| High |
Domain requires specialized knowledge, regulatory compliance, or complex workflows |
Healthcare, finance, aerospace, legal |
| Medium |
Domain has moderate complexity with some specialized terminology |
E-commerce, SaaS, logistics |
| Low |
Domain is well-understood with common patterns |
CRUD applications, content management |
Dimension 3 -- Requirements Maturity
| Level |
Description |
Indicator |
| Greenfield |
No existing requirements; starting from scratch |
New product, new market |
| Evolving |
Partial requirements exist but need refinement |
MVP iteration, feature expansion |
| Mature |
Well-documented existing requirements needing validation |
System migration, modernization |
Step 3: Select Elicitation Technique
Use the following decision matrix to recommend one or more techniques:
| Context |
Primary Technique |
Secondary Technique |
| High availability + High complexity + Greenfield |
JAD Workshop |
Interview |
| High availability + Low complexity + Greenfield |
Interview |
Prototyping |
| Medium availability + High complexity + Evolving |
Interview |
Contextual Inquiry |
| Medium availability + Medium complexity + Evolving |
Prototyping |
Questionnaire |
| Low availability + Any complexity + Any maturity |
Questionnaire |
Artifact Analysis |
| Any availability + High complexity + Mature |
Contextual Inquiry |
Interview |
| Any availability + Low complexity + Mature |
Questionnaire |
Artifact Analysis |
| New system replacing legacy / migration project |
Artifact Analysis |
Interview |
| NFR definition or competitive positioning needed |
Benchmarking |
Interview |
| Users cannot articulate needs verbally |
Contextual Inquiry |
Observation |
Present the recommendation to the user with rationale. The user may override the selection.
Step 4: Execute Elicitation Technique
Execute the selected technique using the corresponding protocol. Each technique produces structured findings.
Technique A: Structured Interview
- Select target stakeholders from the register (prioritize "Manage Closely" and "Keep Informed" quadrants)
- Prepare interview questions using the three-tier approach:
- Context questions: Establish the stakeholder's role and perspective
- Open-ended questions: Explore needs, pain points, and workflows
- Closed questions: Confirm specific requirements, constraints, and priorities
- For each finding, record:
- Source stakeholder (by ID from the register)
- Verbatim statement or paraphrase
- Requirement type: Functional, Non-Functional, Constraint, or Assumption
- Confidence level: Confirmed, Likely, or Uncertain
Reference: references/interview-guide.md
Technique B: JAD Workshop
- Define workshop scope and objectives from
features.md
- Identify participants from the stakeholder register (minimum: one sponsor, two users, one developer)
- Structure the workshop agenda:
- Opening: scope confirmation, ground rules
- Discovery: facilitated discussion of features and workflows
- Consensus: prioritization and conflict resolution
- Closure: action items and next steps
- Record consensus decisions, dissenting views, and open items
Reference: references/jad-workshop.md
Technique C: Prototyping
- Identify features from
features.md that benefit from visual exploration
- Describe low-fidelity prototype elements (screens, workflows, data layouts)
- Define feedback questions for each prototype element
- Record stakeholder reactions, suggested changes, and confirmed requirements
Reference: references/prototyping-for-elicitation.md
Technique D: Observation
- Identify processes or workflows relevant to the project scope
- Define observation targets: tasks, sequences, decision points, pain points
- Document observed workflows with:
- Step-by-step task descriptions
- Time estimates per task
- Error-prone steps
- Workarounds currently in use
- Derive requirements from observed gaps and inefficiencies
Reference: references/observation-ethnography.md
Technique E: Questionnaire
- Design the questionnaire with question types matched to information needs:
- Multiple choice for categorical data
- Likert scale (1-5) for satisfaction and priority ratings
- Open-ended for qualitative insights
- Target distribution to stakeholder groups from the register
- Define minimum response thresholds for statistical validity
- Summarize responses with aggregated metrics and notable outliers
Reference: references/questionnaires-surveys.md
Technique F: Contextual Inquiry
- Arrange to observe target stakeholders in their actual working environment while they perform real tasks (not a staged demo)
- Adopt the "apprentice" posture — the analyst is a learner; the stakeholder is the expert performing their normal work
- Ask questions in real time while observing; do not defer all questions to a separate debrief session
- Document observed workflows with:
- Step-by-step task descriptions including physical environment interactions
- Tacit knowledge and undocumented workarounds currently in use
- Physical or environmental constraints that affect system requirements
- Discrepancies between what stakeholders say they do and what they actually do
- Derive requirements from observations; tag requirements sourced solely from verbal statements vs. observed behaviour
- Record field notes immediately; produce process maps from the notes before the next working session
- Best for: Discovering undocumented workflows, tacit knowledge, physical environment constraints; domains where users cannot fully articulate their needs in a formal interview setting
- Output: Field notes, process maps, discovered requirements that users could not articulate verbally
Reference: references/observation-ethnography.md
Technique G: Benchmarking
- Identify the comparison targets: industry standards, regulatory benchmarks, or direct competitor products relevant to the project domain
- Define the comparison dimensions aligned to the project scope (features, performance thresholds, NFR values, UX patterns)
- For each dimension, record:
- The client's current state (from context files or stakeholder interviews)
- The benchmark value or feature presence in the comparison target
- The gap classification: Functional Gap (missing feature), Performance Gap (below threshold), or Parity (meets benchmark)
- Derive NFR targets from benchmark performance data; express as measurable thresholds (e.g., "The system shall process a transaction in ≤ 2 seconds, per industry median of 1.8 seconds")
- Use the gap list to set stakeholder expectations before detailed requirements are written; attach the benchmark table to the elicitation log
- Best for: Establishing NFR baselines, identifying table-stakes features, setting stakeholder expectations for new system capabilities
- Output: Benchmark comparison table, functional and performance gap list, NFR targets derived from industry standards
Reference: references/benchmarking-template.md
Technique H: Data Gathering / Artifact Analysis
- Collect all available existing artefacts from the client: documents, reports, spreadsheets, database schemas, input forms, screen captures, and logs from the current system
- For each artefact, record:
- Artefact ID and type (form, report, schema, screenshot, policy document)
- Source system or process
- Business rules embedded in the artefact (calculated fields, validation rules, conditional logic)
- Data entities, attributes, and observed relationships
- Annotate each artefact with derived requirements and business rules; use
[ARTEFACT-SOURCE: <ID>] tags to preserve traceability
- Identify discrepancies between artefact-derived requirements and verbally stated requirements; flag each discrepancy with
[CONFLICT: Artefact vs. Stated Requirement]
- Build a data dictionary entry for every data entity discovered; feed entries into the project glossary
- For legacy system migration projects, map every existing field and rule to a proposed new-system equivalent; mark gaps with
[MIGRATION-GAP]
- Best for: Understanding as-is processes, identifying hidden business rules, legacy system migration, and cross-checking verbally stated requirements against physical evidence
- Output: Annotated artefacts, business rule inventory, data dictionary entries, migration gap list (if applicable)
Reference: references/artifact-analysis-checklist.md
Step 5: Apply Domain-Specific Checklists
If the project domain matches one of the following, apply the corresponding checklist to ensure domain-critical requirements are not missed:
| Domain |
Checklist Focus |
Key Concerns |
| Healthcare |
HIPAA compliance, HL7/FHIR integration, patient data handling |
Privacy, audit trails, interoperability |
| SaaS |
Multi-tenancy, subscription billing, API rate limiting |
Tenant isolation, usage metering, SLA |
| POS |
Payment processing, inventory sync, offline mode |
PCI-DSS, real-time updates, hardware integration |
| GIS |
Spatial data handling, coordinate systems, map rendering |
Projection accuracy, data volume, tile caching |
For each checklist item, record whether the item was addressed (Yes/No/Partial) and the source of the finding.
Reference: references/domain-checklists.md
Step 6: Write Elicitation Log
Assemble all findings and write to projects/<ProjectName>/<phase>/<document>/elicitation_log.md. Log the total finding count, technique(s) used, and the number of unresolved items.
Output Format Specification
The generated elicitation_log.md shall follow this structure:
# Elicitation Log: [Project Name]
## Document Header
- Project: [Name]
- Version: 1.0
- Date: [Current Date]
- Technique(s) Used: [Interview / JAD / Prototyping / Observation / Questionnaire / Contextual Inquiry / Benchmarking / Artifact Analysis]
- Status: Draft
## 1. Elicitation Context
### 1.1 Stakeholder Availability Assessment
### 1.2 Domain Complexity Assessment
### 1.3 Requirements Maturity Assessment
### 1.4 Technique Selection Rationale
## 2. Elicitation Findings
### 2.1 Functional Requirements
### 2.2 Non-Functional Requirements
### 2.3 Constraints
### 2.4 Assumptions
## 3. Source Attribution Matrix
## 4. Domain Checklist Results (if applicable)
## 5. Open Items and Unresolved Questions
## 6. Confidence Summary
## 7. Standards Traceability
## Appendix A: Raw Interview/Workshop Notes
## Appendix B: Revision History
Each finding in Section 2 shall use this format:
#### EL-XXX: [Finding Title]
- **Type**: Functional | Non-Functional | Constraint | Assumption
- **Source**: [Stakeholder ID] -- [Role]
- **Technique**: [Interview | JAD | Prototyping | Observation | Questionnaire]
- **Statement**: "[Verbatim or paraphrased stakeholder statement]"
- **Derived Requirement**: The system shall [requirement statement].
- **Confidence**: Confirmed | Likely | Uncertain
- **Priority**: Critical | High | Medium | Low
- **Notes**: [Additional context or dependencies]
Common Pitfalls
- Selecting a single technique without considering stakeholder availability, leading to low participation and incomplete findings
- Recording findings without source attribution, making downstream validation impossible
- Skipping domain-specific checklists, resulting in missed regulatory or integration requirements
- Treating elicitation as a one-pass activity rather than iterating when confidence levels are low
- Using leading questions that bias stakeholder responses toward a predetermined solution
- Failing to distinguish between requirements, constraints, and assumptions in the log
Verification Checklist
Integration
| Direction |
Skill |
Relationship |
| Upstream |
01-stakeholder-analysis |
Consumes stakeholder register |
| Downstream |
03-brd-generation |
Feeds elicitation findings for BRD generation |
| Downstream |
02-requirements-engineering/waterfall/05-feature-decomposition |
Feeds functional requirements |
| Downstream |
02-requirements-engineering/agile/01-user-story-generation |
Feeds user-facing requirements |
Standards Compliance
| Standard |
Governs |
| IEEE 29148-2018 Section 6.3 |
Requirements elicitation process and techniques |
| Laplante Ch.4 |
Elicitation technique selection and execution |
| Wiegers Practice 4 |
Interview and workshop facilitation |
| Wiegers Practice 5 |
Observation and contextual inquiry (Techniques D and F) |
| Wiegers Practice 6 |
Survey and questionnaire design |
| Adzic (2012) — Impact Mapping |
Contextual Inquiry apprentice model; discovering tacit requirements |
| IEEE Std 610.12-1990 |
Terminology definitions |
Resources
references/interview-guide.md -- Structured interview protocol
references/jad-workshop.md -- JAD workshop facilitation guide
references/prototyping-for-elicitation.md -- Low-fi prototyping workflow
references/observation-ethnography.md -- Contextual inquiry and observation checklist (Techniques D and F)
references/questionnaires-surveys.md -- Survey design templates
references/domain-checklists.md -- Domain-specific elicitation checklists
references/benchmarking-template.md -- Benchmark comparison table and gap classification guide (Technique G)
references/artifact-analysis-checklist.md -- Artifact inventory, business rule extraction, and migration gap checklist (Technique H)
- Java enterprise requirements overlay -- elicit version, transaction, failure, migration, production, and support evidence for Java/JVM estates
1---2name: 02-elicitation-toolkit3description: Use when selecting and conducting interviews, workshops, observation, surveys, document analysis, or prototypes to gather requirements; use stakeholder-analysis to identify participants first.4---56# Elicitation Toolkit Skill78<!-- local-contract-start -->9<!-- dual-compat-start -->10## Use When1112- selecting and conducting interviews, workshops, observation, surveys, document analysis, or prototypes to gather requirements; use stakeholder-analysis to identify participants first.13- Use this procedure when the required source artefacts are available and `Elicitation plan, raw evidence, and issue log` is the next lifecycle deliverable.1415## Do Not Use When1617- Use `stakeholder-analysis` when that neighbouring route owns the decision or deliverable.18- Do not invent missing project evidence, standards clauses, thresholds, or stakeholder decisions.1920## Required Inputs2122| Artefact | Source or provider | Required? | Behaviour when missing |23| --- | --- | --- | --- |24| Stakeholder register, elicitation objectives, domain context, constraints, and consent needs | Business analyst, sponsor, and project context | Yes | Stop the affected step, name the missing source, and return only a qualified gap record. |2526## Workflow27281. Inspect the required inputs and log the exact sources, versions, and unresolved assumptions.292. Apply this skill's existing domain workflow and decision rules to produce `Elicitation plan, raw evidence, and issue log`.303. Stop when a required source, accountable decision owner, or deterministic test oracle is absent.314. Recover by preserving valid work, marking the blocked scope, and returning the narrowest qualified artefact plus the next evidence needed.3233## Outputs3435| Artefact | Consumer | Acceptance condition |36| --- | --- | --- |37| Elicitation plan, raw evidence, and issue log | Requirements analysis and project decision owners | Required sections are populated, source links resolve, and every material requirement or decision has an observable review or test oracle. |3839## Evidence Produced4041| Evidence | Reviewer | Acceptance condition |42| --- | --- | --- |43| Source, decision, trace, and validation record for `Elicitation plan, raw evidence, and issue log` | Requirements quality reviewer | Inputs used, decisions made, checks run, failures, and unassessed items are explicit. |4445## Capability and permission boundaries4647Read and search are required. Editing is allowed only when the request authorises creation or repair of the named requirements artefact. Publishing, production mutation, destructive action, spending, and certification require explicit authority.4849## Degraded mode5051Fallback: if a required file, reviewer, standard source, network check, renderer, or execution capability is unavailable, return the narrowest useful qualified result and mark the affected check `not assessed`; never convert an unassessed check into a pass.5253## Decision Rules5455| Choice or condition | Action | Failure or risk avoided |56| --- | --- | --- |57| A claim is important but has only one conflicted or indirect source | Triangulate it or mark it disputed before requirements analysis. | False consensus and invented requirements. |58| Required inputs and test oracles are complete | Continue through the existing workflow and record evidence. | A deliverable whose acceptance cannot be reproduced. |59| A mandatory source or owner is missing | Stop the affected branch and issue a qualified gap record. | Fabricated context or unauthorised decisions. |6061## Quality Standards6263- Preserve stable identifiers and bidirectional traceability from project evidence to `Elicitation plan, raw evidence, and issue log` and its acceptance checks.64- Apply ISO/IEEE measures only with a named metric, method, threshold, evidence source, and responsible reviewer; run the anti-slop gate before release.6566## Anti-Patterns6768- Producing `Elicitation plan, raw evidence, and issue log` from assumed context. Fix: cite the project source or mark the scope blocked.69- Accepting a material requirement without a deterministic oracle. Fix: add a measurable result, boundary, and verification method.70- Crossing into `stakeholder-analysis` without routing the decision. Fix: hand off the named input and preserve trace links.71- Treating an unavailable check as passed. Fix: mark it `not assessed` and state the release consequence.72- Claiming standards, statutory, or stakeholder approval without evidence. Fix: cite the source and reviewer or qualify the claim.7374## References7576- [Skill authoring and release standard](../../../../docs/skill-authoring-standard.md)77- [Domain Checklists](references/domain-checklists.md)78- [Interview Guide](references/interview-guide.md)79- [Jad Workshop](references/jad-workshop.md)80- [Observation Ethnography](references/observation-ethnography.md)81- [Prototyping For Elicitation](references/prototyping-for-elicitation.md)82- [Questionnaires Surveys](references/questionnaires-surveys.md)83<!-- dual-compat-end -->84<!-- local-contract-end -->8586## Overview8788This skill provides a structured, multi-technique approach to requirements elicitation. It guides the AI through selecting the most appropriate elicitation technique based on stakeholder availability, domain complexity, and requirements maturity, then executes the chosen technique to produce a grounded elicitation log. The skill supports interviews, Joint Application Development (JAD) workshops, prototyping, observation, questionnaires, contextual inquiry, benchmarking, and artifact analysis, with domain-specific checklist hooks for specialized industries.8990## When to Use This Skill9192- After the stakeholder register has been produced by `01-stakeholder-analysis`93- When requirements need to be gathered from diverse stakeholder groups94- When the elicitation technique is unclear and a decision framework is needed95- When domain-specific requirements (healthcare, SaaS, POS, GIS) require specialized checklists96- When previous elicitation rounds produced incomplete or ambiguous requirements9798## Quick Reference99100| Attribute | Value |101|-----------|-------|102| **Inputs** | `projects/<ProjectName>/<phase>/<document>/stakeholder_register.md`, `projects/<ProjectName>/_context/vision.md`, `projects/<ProjectName>/_context/features.md` |103| **Output** | `projects/<ProjectName>/<phase>/<document>/elicitation_log.md` |104| **Tone** | Investigative, methodical, source-attributed |105| **Standards** | IEEE 29148-2018 Section 6.3, Laplante Ch.4, Wiegers Practices 4-6 |106107## Input Files108109| File | Location | Required | Purpose |110|------|----------|----------|---------|111| stakeholder_register.md | `projects/<ProjectName>/<phase>/<document>/stakeholder_register.md` | Yes | Stakeholder roles, communication preferences, engagement levels |112| vision.md | `projects/<ProjectName>/_context/vision.md` | Yes | Business goals, problem statement, domain context |113| features.md | `projects/<ProjectName>/_context/features.md` | Yes | Feature list for elicitation scoping |114| glossary.md | `projects/<ProjectName>/_context/glossary.md` | No | Domain terminology for consistent language |115116## Output Files117118| File | Location | Description |119|------|----------|-------------|120| elicitation_log.md | `projects/<ProjectName>/<phase>/<document>/elicitation_log.md` | Structured findings with source attribution, technique used, and confidence levels |121122## Core Instructions123124Follow these six steps in order. Halt and notify the user if a required input file is missing.125126### Step 1: Read Context Files127128Read `stakeholder_register.md` from `projects/<ProjectName>/<phase>/<document>/`, and `vision.md` and `features.md` from `projects/<ProjectName>/_context/`. Optionally read `glossary.md`. Log every file path read. If any required file is missing, halt execution and report the gap.129130### Step 2: Assess Elicitation Context131132Evaluate three dimensions to determine the appropriate elicitation technique:133134**Dimension 1 -- Stakeholder Availability**135136| Level | Description | Indicator |137|-------|-------------|-----------|138| High | Stakeholders are accessible for extended, interactive sessions | On-site team, dedicated availability windows |139| Medium | Stakeholders are available for scheduled sessions with limited duration | Remote team, shared across projects |140| Low | Stakeholders are difficult to reach or available only asynchronously | External clients, regulators, distributed globally |141142**Dimension 2 -- Domain Complexity**143144| Level | Description | Indicator |145|-------|-------------|-----------|146| High | Domain requires specialized knowledge, regulatory compliance, or complex workflows | Healthcare, finance, aerospace, legal |147| Medium | Domain has moderate complexity with some specialized terminology | E-commerce, SaaS, logistics |148| Low | Domain is well-understood with common patterns | CRUD applications, content management |149150**Dimension 3 -- Requirements Maturity**151152| Level | Description | Indicator |153|-------|-------------|-----------|154| Greenfield | No existing requirements; starting from scratch | New product, new market |155| Evolving | Partial requirements exist but need refinement | MVP iteration, feature expansion |156| Mature | Well-documented existing requirements needing validation | System migration, modernization |157158### Step 3: Select Elicitation Technique159160Use the following decision matrix to recommend one or more techniques:161162| Context | Primary Technique | Secondary Technique |163|---------|-------------------|---------------------|164| High availability + High complexity + Greenfield | JAD Workshop | Interview |165| High availability + Low complexity + Greenfield | Interview | Prototyping |166| Medium availability + High complexity + Evolving | Interview | Contextual Inquiry |167| Medium availability + Medium complexity + Evolving | Prototyping | Questionnaire |168| Low availability + Any complexity + Any maturity | Questionnaire | Artifact Analysis |169| Any availability + High complexity + Mature | Contextual Inquiry | Interview |170| Any availability + Low complexity + Mature | Questionnaire | Artifact Analysis |171| New system replacing legacy / migration project | Artifact Analysis | Interview |172| NFR definition or competitive positioning needed | Benchmarking | Interview |173| Users cannot articulate needs verbally | Contextual Inquiry | Observation |174175Present the recommendation to the user with rationale. The user may override the selection.176177### Step 4: Execute Elicitation Technique178179Execute the selected technique using the corresponding protocol. Each technique produces structured findings.180181#### Technique A: Structured Interview1821831. Select target stakeholders from the register (prioritize "Manage Closely" and "Keep Informed" quadrants)1842. Prepare interview questions using the three-tier approach:185 - **Context questions**: Establish the stakeholder's role and perspective186 - **Open-ended questions**: Explore needs, pain points, and workflows187 - **Closed questions**: Confirm specific requirements, constraints, and priorities1883. For each finding, record:189 - Source stakeholder (by ID from the register)190 - Verbatim statement or paraphrase191 - Requirement type: Functional, Non-Functional, Constraint, or Assumption192 - Confidence level: Confirmed, Likely, or Uncertain193194Reference: `references/interview-guide.md`195196#### Technique B: JAD Workshop1971981. Define workshop scope and objectives from `features.md`1992. Identify participants from the stakeholder register (minimum: one sponsor, two users, one developer)2003. Structure the workshop agenda:201 - Opening: scope confirmation, ground rules202 - Discovery: facilitated discussion of features and workflows203 - Consensus: prioritization and conflict resolution204 - Closure: action items and next steps2054. Record consensus decisions, dissenting views, and open items206207Reference: `references/jad-workshop.md`208209#### Technique C: Prototyping2102111. Identify features from `features.md` that benefit from visual exploration2122. Describe low-fidelity prototype elements (screens, workflows, data layouts)2133. Define feedback questions for each prototype element2144. Record stakeholder reactions, suggested changes, and confirmed requirements215216Reference: `references/prototyping-for-elicitation.md`217218#### Technique D: Observation2192201. Identify processes or workflows relevant to the project scope2212. Define observation targets: tasks, sequences, decision points, pain points2223. Document observed workflows with:223 - Step-by-step task descriptions224 - Time estimates per task225 - Error-prone steps226 - Workarounds currently in use2274. Derive requirements from observed gaps and inefficiencies228229Reference: `references/observation-ethnography.md`230231#### Technique E: Questionnaire2322331. Design the questionnaire with question types matched to information needs:234 - Multiple choice for categorical data235 - Likert scale (1-5) for satisfaction and priority ratings236 - Open-ended for qualitative insights2372. Target distribution to stakeholder groups from the register2383. Define minimum response thresholds for statistical validity2394. Summarize responses with aggregated metrics and notable outliers240241Reference: `references/questionnaires-surveys.md`242243#### Technique F: Contextual Inquiry2442451. Arrange to observe target stakeholders in their actual working environment while they perform real tasks (not a staged demo)2462. Adopt the "apprentice" posture — the analyst is a learner; the stakeholder is the expert performing their normal work2473. Ask questions in real time while observing; do not defer all questions to a separate debrief session2484. Document observed workflows with:249 - Step-by-step task descriptions including physical environment interactions250 - Tacit knowledge and undocumented workarounds currently in use251 - Physical or environmental constraints that affect system requirements252 - Discrepancies between what stakeholders say they do and what they actually do2535. Derive requirements from observations; tag requirements sourced solely from verbal statements vs. observed behaviour2546. Record field notes immediately; produce process maps from the notes before the next working session255256- **Best for:** Discovering undocumented workflows, tacit knowledge, physical environment constraints; domains where users cannot fully articulate their needs in a formal interview setting257- **Output:** Field notes, process maps, discovered requirements that users could not articulate verbally258259Reference: `references/observation-ethnography.md`260261#### Technique G: Benchmarking2622631. Identify the comparison targets: industry standards, regulatory benchmarks, or direct competitor products relevant to the project domain2642. Define the comparison dimensions aligned to the project scope (features, performance thresholds, NFR values, UX patterns)2653. For each dimension, record:266 - The client's current state (from context files or stakeholder interviews)267 - The benchmark value or feature presence in the comparison target268 - The gap classification: Functional Gap (missing feature), Performance Gap (below threshold), or Parity (meets benchmark)2694. Derive NFR targets from benchmark performance data; express as measurable thresholds (e.g., "The system shall process a transaction in ≤ 2 seconds, per industry median of 1.8 seconds")2705. Use the gap list to set stakeholder expectations before detailed requirements are written; attach the benchmark table to the elicitation log271272- **Best for:** Establishing NFR baselines, identifying table-stakes features, setting stakeholder expectations for new system capabilities273- **Output:** Benchmark comparison table, functional and performance gap list, NFR targets derived from industry standards274275Reference: `references/benchmarking-template.md`276277#### Technique H: Data Gathering / Artifact Analysis2782791. Collect all available existing artefacts from the client: documents, reports, spreadsheets, database schemas, input forms, screen captures, and logs from the current system2802. For each artefact, record:281 - Artefact ID and type (form, report, schema, screenshot, policy document)282 - Source system or process283 - Business rules embedded in the artefact (calculated fields, validation rules, conditional logic)284 - Data entities, attributes, and observed relationships2853. Annotate each artefact with derived requirements and business rules; use `[ARTEFACT-SOURCE: <ID>]` tags to preserve traceability2864. Identify discrepancies between artefact-derived requirements and verbally stated requirements; flag each discrepancy with `[CONFLICT: Artefact vs. Stated Requirement]`2875. Build a data dictionary entry for every data entity discovered; feed entries into the project glossary2886. For legacy system migration projects, map every existing field and rule to a proposed new-system equivalent; mark gaps with `[MIGRATION-GAP]`289290- **Best for:** Understanding as-is processes, identifying hidden business rules, legacy system migration, and cross-checking verbally stated requirements against physical evidence291- **Output:** Annotated artefacts, business rule inventory, data dictionary entries, migration gap list (if applicable)292293Reference: `references/artifact-analysis-checklist.md`294295### Step 5: Apply Domain-Specific Checklists296297If the project domain matches one of the following, apply the corresponding checklist to ensure domain-critical requirements are not missed:298299| Domain | Checklist Focus | Key Concerns |300|--------|----------------|--------------|301| **Healthcare** | HIPAA compliance, HL7/FHIR integration, patient data handling | Privacy, audit trails, interoperability |302| **SaaS** | Multi-tenancy, subscription billing, API rate limiting | Tenant isolation, usage metering, SLA |303| **POS** | Payment processing, inventory sync, offline mode | PCI-DSS, real-time updates, hardware integration |304| **GIS** | Spatial data handling, coordinate systems, map rendering | Projection accuracy, data volume, tile caching |305306For each checklist item, record whether the item was addressed (Yes/No/Partial) and the source of the finding.307308Reference: `references/domain-checklists.md`309310### Step 6: Write Elicitation Log311312Assemble all findings and write to `projects/<ProjectName>/<phase>/<document>/elicitation_log.md`. Log the total finding count, technique(s) used, and the number of unresolved items.313314## Output Format Specification315316The generated `elicitation_log.md` shall follow this structure:317318```319# Elicitation Log: [Project Name]320321## Document Header322- Project: [Name]323- Version: 1.0324- Date: [Current Date]325- Technique(s) Used: [Interview / JAD / Prototyping / Observation / Questionnaire / Contextual Inquiry / Benchmarking / Artifact Analysis]326- Status: Draft327328## 1. Elicitation Context329### 1.1 Stakeholder Availability Assessment330### 1.2 Domain Complexity Assessment331### 1.3 Requirements Maturity Assessment332### 1.4 Technique Selection Rationale333334## 2. Elicitation Findings335### 2.1 Functional Requirements336### 2.2 Non-Functional Requirements337### 2.3 Constraints338### 2.4 Assumptions339340## 3. Source Attribution Matrix341342## 4. Domain Checklist Results (if applicable)343344## 5. Open Items and Unresolved Questions345346## 6. Confidence Summary347348## 7. Standards Traceability349350## Appendix A: Raw Interview/Workshop Notes351## Appendix B: Revision History352```353354Each finding in Section 2 shall use this format:355356```357#### EL-XXX: [Finding Title]358359- **Type**: Functional | Non-Functional | Constraint | Assumption360- **Source**: [Stakeholder ID] -- [Role]361- **Technique**: [Interview | JAD | Prototyping | Observation | Questionnaire]362- **Statement**: "[Verbatim or paraphrased stakeholder statement]"363- **Derived Requirement**: The system shall [requirement statement].364- **Confidence**: Confirmed | Likely | Uncertain365- **Priority**: Critical | High | Medium | Low366- **Notes**: [Additional context or dependencies]367```368369## Common Pitfalls370371- Selecting a single technique without considering stakeholder availability, leading to low participation and incomplete findings372- Recording findings without source attribution, making downstream validation impossible373- Skipping domain-specific checklists, resulting in missed regulatory or integration requirements374- Treating elicitation as a one-pass activity rather than iterating when confidence levels are low375- Using leading questions that bias stakeholder responses toward a predetermined solution376- Failing to distinguish between requirements, constraints, and assumptions in the log377378## Verification Checklist379380- [ ] All required input files were read and logged381- [ ] Elicitation context was assessed across all three dimensions382- [ ] Technique selection rationale is documented and grounded in context assessment383- [ ] Every finding has a source stakeholder ID, technique, and confidence level384- [ ] Findings are classified by type (Functional, Non-Functional, Constraint, Assumption)385- [ ] Domain-specific checklists were applied if the domain matches a supported category386- [ ] Open items and unresolved questions are explicitly listed387- [ ] No requirement statement uses subjective language without a defined metric388- [ ] Standards Traceability section maps to IEEE 29148 Section 6.3389390## Integration391392| Direction | Skill | Relationship |393|-----------|-------|-------------|394| Upstream | `01-stakeholder-analysis` | Consumes stakeholder register |395| Downstream | `03-brd-generation` | Feeds elicitation findings for BRD generation |396| Downstream | `02-requirements-engineering/waterfall/05-feature-decomposition` | Feeds functional requirements |397| Downstream | `02-requirements-engineering/agile/01-user-story-generation` | Feeds user-facing requirements |398399## Standards Compliance400401| Standard | Governs |402|----------|---------|403| IEEE 29148-2018 Section 6.3 | Requirements elicitation process and techniques |404| Laplante Ch.4 | Elicitation technique selection and execution |405| Wiegers Practice 4 | Interview and workshop facilitation |406| Wiegers Practice 5 | Observation and contextual inquiry (Techniques D and F) |407| Wiegers Practice 6 | Survey and questionnaire design |408| Adzic (2012) — Impact Mapping | Contextual Inquiry apprentice model; discovering tacit requirements |409| IEEE Std 610.12-1990 | Terminology definitions |410411## Resources412413- `references/interview-guide.md` -- Structured interview protocol414- `references/jad-workshop.md` -- JAD workshop facilitation guide415- `references/prototyping-for-elicitation.md` -- Low-fi prototyping workflow416- `references/observation-ethnography.md` -- Contextual inquiry and observation checklist (Techniques D and F)417- `references/questionnaires-surveys.md` -- Survey design templates418- `references/domain-checklists.md` -- Domain-specific elicitation checklists419- `references/benchmarking-template.md` -- Benchmark comparison table and gap classification guide (Technique G)420- `references/artifact-analysis-checklist.md` -- Artifact inventory, business rule extraction, and migration gap checklist (Technique H)421- [Java enterprise requirements overlay](../../../references/java-enterprise-requirements-overlay.md) -- elicit version, transaction, failure, migration, production, and support evidence for Java/JVM estates