Requirements Gathering
Master the art of extracting clear, actionable requirements from stakeholders using structured interview techniques and AI-assisted analysis. Learn to transform vague business needs into specific, testable requirements that drive successful software development.
Learning Objectives
By the end of this module, you will be able to:
✅ Conduct Effective Stakeholder Interviews - Extract meaningful requirements through structured conversations
✅ Document Requirements Systematically - Create clear, testable requirement specifications
✅ Identify Hidden Requirements - Uncover implicit needs and edge cases
✅ Validate Requirements Quality - Ensure completeness, consistency, and feasibility
✅ Use AI for Requirements Analysis - Leverage AI tools to improve requirement gathering efficiency
The Requirements Challenge
Most software projects fail due to poor requirements understanding:
GISE Requirements Process
Phase 1: Stakeholder Identification
Step 1: Create Stakeholder Map
Stakeholder Analysis Template:
# Stakeholder: [Name/Role]
## Background
- **Role**: [Job title and responsibilities]
- **Experience**: [Relevant experience and expertise]
- **Influence**: [Level of decision-making authority]
- **Availability**: [Time constraints and availability]
## Objectives
- **Primary Goals**: [What they want to achieve]
- **Success Metrics**: [How they measure success]
- **Pain Points**: [Current challenges and frustrations]
- **Constraints**: [Limitations and restrictions they face]
## Interview Strategy
- **Best Communication Style**: [Preferred communication method]
- **Key Questions**: [Specific questions to ask this stakeholder]
- **Preparation Needed**: [Background research required]
- **Follow-up Plan**: [How to maintain ongoing communication]
Phase 2: Structured Interviews
Interview Framework: The GISE 5W Method
- Who - Users, roles, personas
- What - Features, functions, data
- When - Timing, triggers, workflows
- Where - Context, environment, constraints
- Why - Business value, motivations, success criteria
Interview Script Template:
# Requirements Interview Script
## Opening (5 minutes)
- Introductions and role clarification
- Project overview and objectives
- Interview structure and duration
- Permission to record/take notes
## Background Questions (10 minutes)
- Tell me about your role and responsibilities
- What are your biggest challenges today?
- How do you currently handle [specific process]?
- What tools and systems do you use?
## Needs Assessment (15 minutes)
- What would an ideal solution look like?
- What must this system do to be successful?
- What would happen if we don't build this?
- Who else would benefit from this system?
## Feature Exploration (15 minutes)
- Walk me through a typical [workflow/process]
- What information do you need at each step?
- What decisions do you make along the way?
- Where do things typically go wrong?
## Constraints and Context (10 minutes)
- What limitations should we be aware of?
- Are there compliance or regulatory requirements?
- What integration requirements exist?
- What's your timeline and budget expectations?
## Closing (5 minutes)
- Summary of key points
- Next steps and follow-up
- Additional stakeholders to interview
- Permission for follow-up questions
Phase 3: AI-Assisted Analysis
Using AI to Extract Requirements
// Example AI prompt for requirements analysis
const requirementsPrompt = `
Analyze this stakeholder interview transcript and extract:
1. FUNCTIONAL REQUIREMENTS
- Core features and capabilities
- User interactions and workflows
- Data processing needs
2. NON-FUNCTIONAL REQUIREMENTS
- Performance expectations
- Security and compliance needs
- Scalability requirements
3. BUSINESS RULES
- Validation rules and constraints
- Process flow requirements
- Decision logic
4. ASSUMPTIONS AND CONSTRAINTS
- Technical limitations
- Resource constraints
- Timeline expectations
Interview Transcript:
[TRANSCRIPT_CONTENT]
Please format the output as structured requirements with unique IDs, priorities, and acceptance criteria.
`;
Requirements Documentation Template:
# Project Requirements Document
## Document Information
- **Project**: [Project Name]
- **Version**: [Version Number]
- **Date**: [Creation Date]
- **Author**: [Requirements Analyst]
- **Reviewers**: [Stakeholder List]
## Executive Summary
Brief overview of project scope, objectives, and key requirements.
## Functional Requirements
### FR-001: User Authentication
- **Description**: System must authenticate users before granting access
- **Priority**: High
- **Source**: IT Administrator, Security Team
- **Acceptance Criteria**:
- [ ] Users can log in with username and password
- [ ] Failed login attempts are logged and limited
- [ ] Session timeout after 30 minutes of inactivity
- [ ] Password complexity requirements enforced
### FR-002: Data Management
[Continue with additional requirements...]
## Non-Functional Requirements
### NFR-001: Performance
- **Requirement**: Page load times must be under 3 seconds
- **Measurement**: 95th percentile response time
- **Priority**: High
- **Rationale**: User experience expectations
### NFR-002: Security
[Continue with additional NFRs...]
## Business Rules
1. Only authorized users can access sensitive data
2. All transactions must be logged for audit purposes
3. Data retention period is 7 years for compliance
## Assumptions
- Users have basic computer literacy
- System will integrate with existing Active Directory
- Internet connectivity is reliable
## Constraints
- Must comply with GDPR regulations
- Budget limited to $100,000
- Must be operational within 6 months
Phase 4: Requirements Validation
Validation Checklist:
- Complete: All necessary requirements identified
- Consistent: No conflicting requirements
- Clear: Unambiguous and specific language
- Correct: Accurately reflects stakeholder needs
- Feasible: Technically and financially viable
- Necessary: Directly supports business objectives
- Prioritized: Importance levels clearly defined
- Testable: Can be verified through testing
- Traceable: Linked to business objectives
Requirements Review Meeting Structure:
Advanced Requirements Techniques
User Story Mapping
Transform requirements into user stories with story mapping:
Requirements Traceability
Maintain traceability throughout the project:
Common Requirements Patterns
Authentication & Authorization
**Pattern**: User Access Control
- User registration and login
- Role-based permissions
- Session management
- Password security policies
Data Management
**Pattern**: CRUD Operations
- Create new records
- Read/retrieve data with search/filter
- Update existing records
- Delete/archive old data
Integration Requirements
**Pattern**: External System Integration
- API connectivity requirements
- Data synchronization needs
- Error handling and retry logic
- Performance and reliability expectations
Reporting and Analytics
**Pattern**: Business Intelligence
- Data collection requirements
- Report generation capabilities
- Dashboard and visualization needs
- Export and sharing functionality
Tools and Templates
Requirements Management Tools
- Jira: For requirement tracking and user story management
- Confluence: For collaborative documentation
- Lucidchart: For process flow and system diagrams
- Figma: For UI/UX requirement documentation
AI-Powered Analysis
- ChatGPT/Claude: For interview analysis and requirement extraction
- Notion AI: For requirements documentation and formatting
- Miro AI: For visual requirements mapping and organization
Quality Assurance Templates
- Interview scripts and question banks
- Requirements documentation templates
- Review and validation checklists
- Stakeholder sign-off forms
Success Metrics
Track the effectiveness of your requirements gathering:
- Requirements Stability: % of requirements that remain unchanged
- Stakeholder Satisfaction: Feedback scores from requirement reviews
- Development Efficiency: Reduced rework due to clear requirements
- Project Success: On-time, on-budget delivery rates
Next Steps
After mastering requirements gathering:
- Process Mapping - Document current and future state workflows
- User Story Creation - Transform requirements into actionable development tasks
- Technical Research - Validate feasibility and technology choices
- Stakeholder Sign-off - Get formal approval before moving to design
Remember: Great requirements are the foundation of successful software projects. Invest time in getting them right, and everything else becomes much easier.