9.1 Requirements Gathering Approaches
Key Takeaways
- Requirements can be classified as business, stakeholder, solution (functional and non-functional), and transition requirements
- Requirements elicitation techniques include interviews, workshops, brainstorming, document analysis, prototyping, observation, surveys, and benchmarking
- Good requirements are clear, complete, consistent, testable, traceable, feasible, and unambiguous
- The requirements management plan defines how requirements will be elicited, analyzed, documented, and managed throughout the project
- Requirements must be prioritized to ensure the most valuable and critical ones are addressed first
Requirements Gathering Approaches
Requirements gathering (elicitation) is the process of discovering, documenting, and managing the requirements that the project must satisfy. This is one of the most important business analysis activities and is tested in Domain 4, Task 3.
Types of Requirements
| Type | Definition | Example |
|---|---|---|
| Business Requirements | High-level needs of the organization | "Increase online sales by 25%" |
| Stakeholder Requirements | Needs of specific stakeholder groups | "Customers need to checkout in under 3 clicks" |
| Solution Requirements | Features the solution must have | Divided into functional and non-functional |
| ↳ Functional Requirements | What the system must DO | "System must send email confirmation after purchase" |
| ↳ Non-Functional Requirements | How the system must PERFORM | "Page load time must be under 2 seconds" |
| Transition Requirements | Temporary capabilities needed to move from current to future state | "Data migration from old system to new system" |
Requirements Elicitation Techniques
| Technique | Description | Best For |
|---|---|---|
| Interviews | One-on-one or small group discussions | Detailed exploration of complex topics |
| Workshops | Facilitated group sessions | Cross-functional requirements, consensus |
| Brainstorming | Free-form idea generation | Generating creative solutions |
| Document Analysis | Review existing documentation | Understanding current state |
| Prototyping | Creating mock-ups of the solution | Visual requirements, user interface design |
| Observation | Watching stakeholders perform work | Understanding real workflows |
| Surveys/Questionnaires | Written questions distributed widely | Large stakeholder groups |
| Benchmarking | Comparing with industry best practices | Setting performance targets |
| Interface Analysis | Examining interactions between systems | System integration requirements |
| Mind Mapping | Visual diagram of connected ideas | Exploring complex requirement relationships |
| Affinity Diagrams | Grouping similar ideas | Organizing large amounts of requirements |
| Context Diagrams | Visual showing system boundaries | Defining system scope |
Requirements Quality Criteria
Well-written requirements should meet these criteria (often remembered as the acronym SMART or by individual qualities):
| Criterion | Description | Bad Example | Good Example |
|---|---|---|---|
| Clear | Unambiguous, single interpretation | "The system should be fast" | "The system shall load within 2 seconds" |
| Complete | Contains all necessary information | "Users can log in" | "Users can log in using email/password or SSO" |
| Consistent | Does not conflict with other requirements | Two requirements specify different login methods as mandatory | All requirements align |
| Testable | Can be verified through testing | "The system is user-friendly" | "95% of users can complete checkout in under 60 seconds" |
| Traceable | Can be linked to a business need and test | Orphan requirement with no business justification | Linked to business objective B3.1 |
| Feasible | Can be implemented within constraints | "The system must predict the future" | "The system must forecast sales using historical data" |
| Modifiable | Can be changed without extensive rework | Requirements buried in prose paragraphs | Structured, numbered requirements in a management tool |
Requirements Documentation Formats
| Format | Best For | Methodology |
|---|---|---|
| Software Requirements Specification (SRS) | Detailed technical requirements | Predictive |
| User Stories | Lightweight, user-focused requirements | Agile |
| Use Cases | Actor-system interaction scenarios | Predictive or Hybrid |
| Business Requirements Document (BRD) | High-level business needs | Predictive |
| Product Backlog | Prioritized list of all requirements | Agile |
| Functional Requirements Document (FRD) | Detailed functional specifications | Predictive |
Requirements Analysis Techniques
Requirements Modeling
| Model | Purpose | Shows |
|---|---|---|
| Process Models | How work flows through the organization | Steps, decisions, inputs, outputs |
| Data Models | How data entities relate to each other | Entities, attributes, relationships |
| Use Case Models | How actors interact with the system | Actors, use cases, system boundaries |
| State Diagrams | How objects change state | States, transitions, triggers |
| Decision Tables | How different conditions lead to outcomes | Conditions, actions, rules |
| User Story Maps | How user stories relate to the user journey | Activities, tasks, stories by priority |
Gap Analysis
Gap analysis compares the current state (as-is) with the desired future state (to-be) to identify gaps that the project must address:
- Document current state — How things work today
- Define future state — How things should work after the project
- Identify gaps — Differences between current and future states
- Prioritize gaps — Which gaps are most critical to address
- Define requirements — What is needed to close each gap
Which type of requirement describes HOW a system must perform rather than WHAT it must do?
"The system shall load pages within 2 seconds" is an example of what kind of requirement?
Which requirements elicitation technique involves creating visual mock-ups of the solution to help stakeholders visualize requirements?
Which of the following are qualities of well-written requirements? (Select THREE)
Select all that apply