Requirements gathering and elicitation techniques for business analysis. Use when conducting stakeholder interviews, gathering functional/non-functional requirements, or identifying gaps in requirements.
Content & Writing
85 Stars
2 Forks
Updated Jan 19, 2026, 04:39 AM
Why Use This
This skill provides specialized capabilities for aiskillstore's codebase.
Use Cases
Developing new features in the aiskillstore repository
Refactoring existing code to follow aiskillstore standards
Understanding and working with aiskillstore's codebase structure
---
name: requirements-elicitation
description: Requirements gathering and elicitation techniques for business analysis. Use when conducting stakeholder interviews, gathering functional/non-functional requirements, or identifying gaps in requirements.
allowed-tools: Read, Grep, Glob, AskUserQuestion, Write
---
# Requirements Elicitation Skill
## Overview
This skill provides structured techniques for gathering, analyzing, and documenting software requirements from stakeholders and existing systems.
## Elicitation Techniques
### 1. Structured Interviews
Use predefined question sets organized by category:
- Start with open-ended questions to understand context
- Follow with specific questions to gather details
- End with validation questions to confirm understanding
### 2. Adaptive Questioning
Dynamically adjust questions based on:
- Previous answers provided
- Domain context discovered
- Gaps identified in requirements
- Stakeholder role and expertise level
### 3. Document Analysis
Extract requirements from existing:
- Business process documents
- User manuals
- Training materials
- Support tickets and feedback
### 4. Observation
Understand requirements by observing:
- Current system usage
- User workflows
- Pain points and workarounds
## Requirement Categories
### Functional Requirements (FR)
What the system must DO:
- Features and capabilities
- Business rules and logic
- Data processing requirements
- User interactions
### Non-Functional Requirements (NFR)
How the system must BEHAVE:
#### FURPS+ Model
- **Functionality**: Security, compliance
- **Usability**: Accessibility, learnability
- **Reliability**: Availability, fault tolerance
- **Performance**: Response time, throughput
- **Supportability**: Maintainability, testability
- **+Constraints**: Design, implementation, interface
### Constraints
Limitations on the solution:
- Budget constraints
- Timeline constraints
- Technology constraints
- Regulatory constraints
- Resource constraints
### Assumptions
Conditions assumed to be true:
- User capabilities
- Infrastructure availability
- Third-party dependencies
- Business conditions
## Prioritization Methods
### MoSCoW Method
- **Must Have**: Critical for success, non-negotiable
- **Should Have**: Important but not critical
- **Could Have**: Nice to have, low impact if absent
- **Won't Have**: Out of scope for current release
### Value vs Effort Matrix
```
High Value + Low Effort = Do First (Quick Wins)
High Value + High Effort = Do Second (Major Projects)
Low Value + Low Effort = Do Later (Fill-ins)
Low Value + High Effort = Don't Do (Time Wasters)
```
## Gap Analysis Process
1. **Document As-Is State**: Current capabilities
2. **Define To-Be State**: Desired capabilities
3. **Identify Gaps**: Missing capabilities
4. **Prioritize Gaps**: By business value
5. **Create Requirements**: To close gaps
## Validation Techniques
### Requirement Quality Checks
Each requirement should be:
- **Complete**: All necessary information included
- **Consistent**: No conflicts with other requirements
- **Unambiguous**: Single clear interpretation
- **Verifiable**: Can be tested/measured
- **Traceable**: Linked to business objective
### SMART Criteria
- **S**pecific: Clear and precise
- **M**easurable: Quantifiable success criteria
- **A**chievable: Technically feasible
- **R**elevant: Aligned with business goals
- **T**ime-bound: Has timeline context
### INVEST Criteria (for User Stories)
- **I**ndependent: Can be developed separately
- **N**egotiable: Open to discussion
- **V**aluable: Delivers user/business value
- **E**stimable: Can be sized
- **S**mall: Fits in a sprint
- **T**estable: Has clear acceptance criteria
## Stakeholder Analysis
### Stakeholder Categories
1. **End Users**: Direct system users
2. **Business Owners**: Decision makers
3. **Technical Team**: Developers, architects
4. **Operations**: Support, maintenance
5. **External**: Regulators, partners, customers
### Stakeholder Mapping
For each stakeholder identify:
- Role and responsibilities
- Interest level (High/Medium/Low)
- Influence level (High/Medium/Low)
- Key concerns and priorities
- Communication preferences
## Output Artifacts
### Requirements List
```markdown
| ID | Category | Description | Priority | Status |
|----|----------|-------------|----------|--------|
| FR-001 | Functional | User can login with email | Must | Confirmed |
| NFR-001 | Performance | Page load < 3 seconds | Should | Pending |
```
### User Story Format
```
As a [role]
I want [capability]
So that [business value]
Acceptance Criteria:
- Given [context]
- When [action]
- Then [outcome]
```
### Requirement Traceability
```
Business Objective -> Requirement -> User Story -> Test Case
```
See [question-templates.md](question-templates.md) for structured interview questions.