User Needs
Definition
User needs are the underlying goals, problems, and expectations that real end-users have — the reasons they want the software in the first place — as distinct from formally stated "requirements."
User Needs vs. Requirements
| User Needs | Requirements |
|---|---|
| Informal, often vague expressed goals | Formal, precise, documented statements |
| Expressed in the user's own language | Expressed in technical/structured language |
| May be incomplete, contradictory, or assumed | Analyzed, refined, verified, testable |
| "I want to track my expenses easily" | "The system shall allow users to categorize expenses and generate monthly reports" |
Requirement Analysis exists precisely to translate user needs into requirements.
Why User Needs Are Hard to Capture
- Users often don't know exactly what they want until they see something
- Users describe needs in terms of the current/old process, not the new system's possibilities
- Different stakeholders may have conflicting needs
- Users may omit "obvious" needs they assume don't need stating
- Communication gap between technical analysts and non-technical users
Techniques to Uncover True User Needs
- Interviews and questionnaires
- Observation of current workflows (contextual inquiry)
- Prototyping — show something concrete to get accurate feedback
- Use cases / user stories — describe needs from the user's perspective
- Focus groups and workshops (JAD — Joint Application Development)
Importance
Correctly understanding user needs is the first and most critical step of Requirement Elicitation — get this wrong, and even a perfectly engineered system will fail to satisfy the customer.
Exam tip: Emphasize the distinction — "needs" are the problem the user has, "requirements" are the documented, agreed specification of how the system will address that problem.