How do you elicit and write non-functional requirements?
What the interviewer wants to hear
- Use categories such as performance, security, availability, usability, accessibility
- Involve technical teams, security and operations
- Make them measurable with targets and conditions
- Base targets on real usage and business impact
- Prioritise and accept trade-offs
- Link them to testing
Model answer
Non-functional requirements are often forgotten because users rarely mention them until something goes wrong. I use a checklist of categories, such as performance, availability, security, privacy, usability, accessibility, scalability and supportability, and go through them with business users, architects, security and operations teams. I always make them measurable. Instead of 'the site must be fast', I write 'search results load within 2 seconds for 95% of requests at 500 concurrent users'. I base targets on real usage and business impact, for example how much a minute of downtime costs, because stricter targets cost more to build and run. Accessibility usually follows a standard such as WCAG 2.2 AA. Since NFRs can conflict, such as security and usability, I make trade-offs visible and let the right owner decide. Finally, I link each one to how it will be tested.
Can you answer it under time pressure?
Take a timed medium round and get scored on every answer.
More medium Business Analyst questions
- How do you work with a stakeholder who does not know what they want?
- How do you help stakeholders prioritise requirements?
- What is your role in user acceptance testing?
- Describe how you would use data to support a business recommendation.
- How does the business analyst role work in an agile team?
- How do you plan and run a requirements workshop?
- Walk me through how you would model a business process using BPMN.
- How do you manage changes to requirements once development has started?
- How do you use SQL or data analysis in your work as a business analyst?