Skip to content

Latest commit

 

History

History
35 lines (26 loc) · 2.13 KB

README.md

File metadata and controls

35 lines (26 loc) · 2.13 KB

Non-functional requirements (Front-end)

Introduction

This document serves as a guide for lead engineers and developers embarking on a new project. It outlines the non-functional requirements (NFRs) that may be applicable to a project.

How to Use This Document

  1. Review Categories: Begin by reviewing all the non-functional requirement categories provided in this document to determine their relevance to your project.

  2. Forking and Renaming: If relevant, fork this repository, rename it to match your project's name, and indicate that it is a NFRs document.

  3. Disabling Unneeded Requirements: Instead of removing non-essential requirements, disable them (e.g., make them gray) to maintain a comprehensive list for future reference.

  4. Defining Requirements: Break down the requirements into three categories:

    • Required: Must-have requirements for the project.
    • Nice to Have: Desirable requirements that could enhance the project but are not essential.
    • Unneeded: Requirements that are not applicable to the current project.
  5. Attach to Project's Notion File: Link the cloned repository to the project's Notion file or any other project management tool being used.

  6. Ensure Understanding: Verify that all developers and a PM have a clear understanding of the requirements and their priorities as listed in the repository.

Non-functional requirements categories

  • Performance
  • Security
  • Code quality (linting, testing, naming, dependencies management)
  • Accessibility
  • SEO
  • Repository formalization and figuration, deploy (zero-downtime), CI/CD, semver etc.
  • Documentation for developers
  • Documentation for business owner or/and non-tech employees on business owner side
  • App usability (forms behavior, error handling etc.)
  • Errors tracking (how does business owner get information about app errors)
  • Technologies that are used (?) - e.g. we use JS/TS, but not High Valyrian programming language, React, Vue, Svelte, but not esoteric frameworks and libraries etc. - discuss this point
  • Mimimal supported browser versions: Safari 13, Chrome 70, Firefox 60, Edge 79 (first Chromium-based version).