- What will the system do?
- When will the system do it?
- Are there several modes of operation? May be you need as admin panel or separate interface for different kinds of users?
- Input/Output format?
- Must any data be retained? For what period?
- What browser, OS version will the users be using?
- What type of connection will they have?
- OS version, Tech stack, Platform
- How will use the system?
- Will there be several types of users? What groups users can be divided in?
- What is the skill level of each user?
- What kind of training will be required for each type of user?
- How easy should it be for a user to understand and use the system?
- How difficult should it be for a user to misuse the system(break things)?
- What materials, personnel, or other resources are needed to build the system? Available servers.
- What skills must the developers have?
Treat like separate project, run through functional questions.
- How much docs?
- Format (Online, book, in code)?
- For which users it must be written?
- Standards compliance?
- How easy should it be to add features to the system?
- Are there constraints on execution speed, response time, or throughput? How many will the application be handling? How much ? What kind of growth rate do you expect?
- Must access to the system or information be controlled? Not only form the front end perspective, think about tiers of access for developers or administrators.
- Should user’s data be isolated from others?
- Should precautions be taken against theft or vandalism? Spam, captcha, moderation, etc.
- Backup, HA (failover)
- In case of an emergency, what timewindow do we have to get things back up?
Written with StackEdit.