For any changes, the following must always be done, in sequence:
-
Requirements specification for each software component: create with unique IDs for each requirement. Changes or new documents need approval from user before continuing to the next step. Version must match the software specification (requirements.md).
-
Design specification for each software component: create based on the requirements document. Changes or new documents need approval from user before continuing to the next step. Version must match the software specification (requirements.md).
-
Implementation of software according to specifications. The writing of the code.
-
Testing of each software component against its requirements document. Output:
- Test reports (Pass / Fail / Cannot be tested)
- Test coverage statistics to requirements
-
Write documentation (README.md guides as specified in requirements.md).
The following requirement types are excluded from testing:
- Process requirements
- Design and architecture requirements
- Documentation requirements