Skip to content

Instantly share code, notes, and snippets.

@artem-bez
Last active March 16, 2021 16:11
Show Gist options
  • Save artem-bez/f7415de7450bc04f0a37 to your computer and use it in GitHub Desktop.
Save artem-bez/f7415de7450bc04f0a37 to your computer and use it in GitHub Desktop.
requirements

Functional requirements

General

  • 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?

Data

  • Input/Output format?
  • Must any data be retained? For what period?

Design constraints

Environment

  • What browser, OS version will the users be using?
  • What type of connection will they have?
  • OS version, Tech stack, Platform

Users

  • 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)?

Process Constraints

Resources

  • What materials, personnel, or other resources are needed to build the system? Available servers.
  • What skills must the developers have?

Docs

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?

Quality Reqirements

  • How easy should it be to add features to the system?

Performance

  • 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?

Security

  • 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.

Reliability and Availability

  • Backup, HA (failover)
  • In case of an emergency, what timewindow do we have to get things back up?

Written with StackEdit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment