Any web software project MUST start with a Requirements Document. They will be the source of truth to come to, drive engineering decisions and generate tickets for the early development stages (namely 0. Plan and 1. Create). See post: https://www.coderecipes.org/blog/5b1652519f815c069e50e1af for more details. If this is not done, forget about Agile methodologies and all of that. Based on: https://ocw.mit.edu/courses/aeronautics-and-astronautics/16-355j-software-engineering-concepts-fall-2005/lecture-notes/cnotes3.pdf
Requirements Specification
Anybody needs to understand the document It does NOT state how the system will do the tasks, only what the tasks are.
-
Introduction Describe the need for the system, place it in context and describe it's functionality with a rationale for the software.
-
System Model Relationship between system components and it's environment (high level diagram)
-
Functional/NF Requirements (all must be testable -> explicit -> zero ambiguity)
- Experienced users shall be able to use all the system functions after a total of two hours training. After this training, the average number of errors made by experienced users shall not exceed two per day.
Created on 3/4/2019