Requirements gathering
Is a 6 steps process of defining a problem to be solved and documenting how to go about solving that problem.
- Identifying stakeholders
- Decision-makers, End users, System administrators, Engineering, Marketing, Sales, Customer support.
- Establishing goals and objectives
- Goals: A broad, long-term achievable outcomes.
- Objectives: more specific than goals (actionable, measurable) Actions that achieve the goal.
- Eliciting requirements from stakeholders
- This could be iteratively
- Elicit by Survey, Questionnaires, Interviews.
- Documenting the requirements
- Align with goals and objectives
- Easily understood by stakeholders and the product team.
- Analysing and confirming the requirements
- To confirm the requirements it should have:
- Consistency
- Clarity
- Completeness
- Prioritising
- Must-have
- Highly-desires
- Nice to have
Requirements documentation:
- Software Requirements Specification (SRS)
- User Requirements Specification (URS)
- System Requirements Specification (SysRS)
SRS
Software requirements specifications is the process of collecting and documenting the set of requirements that the software needs to adhere to.
It may include a set of use cases that describe the business needs and user flows that the software must implement.
Captures functionalities that software should perform.
- Purpose and scope.
- Who has access to SRS, How it should be used.
- Software benefits, Goals, and Objectives
- Constraints, assumptions, dependencies.
- How the product must operate under given conditions.
- Required OS or hardware
- Dependencies on other software to function.
SRS are 4 Requirement categories:
- Functional: Functions of the software
- External & user interface: Users and interactions with other hardware or software.
- System features: Functions of the system
- Nonfunctional: performance, safety, security, quality.
URS
User Requirements Specification is describe business need and end-user expectations.
User requirements are written as User stories or use cases that answer 3 questions:
- Who is the user ?
- What is the function that needs to be performed ?
- Why does the user want this functionality ?
User acceptance testing determines if these requirements have been met.
Often the URS is combined into the SRS.
SysRS
System Requirement Specification it is broader in the scope of SRS. Many software application develop SRS rather than SysRS.
It contains:
- System capabilities
- Interface and user characteristics.
- Policy
- Regulations.
- Personnel requirements
- Performance requirements
- Security requirements.
- System acceptance criteria.
- Hardware expectations.