VNFRQTS-23 requires the VNFRQTS project to agree on a "standard" format for requirements for the ONAP Amsterdam release. This task is assigned for resolution in Sprint 2. There are a number of aspects top this task - Key words, processes and tooling
RFC 2119 provides definitions for keywords to signify requirements:
- MUST NOT
- SHOULD NOT
The Seed documents from ECOMP use the MUST / SHOULD keywords. Some of the other seed documents do not use any Keywords.
Some task is required to ensure consistent use of keywords in the source material
From the Project Charter, the Subject of the Requirements is the VNF and not the platform or its components.
One way to enforce this scope is to structure the requirement such that they are written as complete sentences with VNF as the subject e.g.The VNF MUST xxxx.
To allow for conditional requirements, the following is also allowed: If <condition> the VNF MUST|SHOULD|MAY ..."
Some of the requirements in the seed documents are not structured as stand alone complete sentences. Some task would be required to align the requirements to a consistent structure.
User Story Syntax
The requirements from the seed document are not in this form, and so some task would be required to structure them appropriately
Use Cases for Requirements
- Requirements as text in a .hmtl formatted VNF Requirements deliverable for use in RFPs - EPIC - VNFRQTS-6
- Requirements as table for conformance mapping - User Story - VNFRQTS-27
- Correlate VNF Requirements and VNF test cases for validation - EPIC - VNFRQTS-8
- Subsets of the requirements apply for particular conformance mapping activities beyond complete VNFS e.g.
Attributes may be required to support subsetting the list of requirements.
Once identified, VNF Requirements are not expected to be very dynamic, but there may be some changes required between ONAP releases.
A VNF Requirement version attribute may be required to accommodate this.
Some VNF Requirements may be forward looking ie anticipated to apply in future releases.
Some VNF Requirements may be optional
The VNF Requirements "master" in the .rst files in the vnfrqts/requirements repo.
The documentation projects Jenkins job builds the .html onto the http://onap.readthedocs.io website
Tooling is needed to extract just the requirements sentence from the table format. This is expected to require the VNF requirements to be tagged appropriately in the ,rst source files
Requirements should be uniquely identified. Once assigned requirements identified should remain across releases and revisions. New requirments may be added in a release. numbers may be retired.
Currently structured as single sentences starting with R-XXXXX (allows for searching, extraction from narrative text).
Numbering semantics: Yes/No
no semantics: implies a random number/ string as an identifier. Requires a tool of some sort to generate these random numbers. Requires some process for contributors/ editors to aquire and use these random numbers
yes semantics: e.g. sequential, chapter sequential, sequential with spaces etc.
How many digits:
Currently ~300 numbered requirements in the seed documents, but some seed material did not have requirements explicitly numbered.
suggest 5 digits allows plently of room for expansion/ revision / retirement.
Number of digits could be changed in a future release if needed.
Application for Amsterdam.
M4 is originally 9/14, now 9/28, so tool chain changes at this stage might be problematic.
could manually apply numbers for this release and consider other mechanisms in future?
could investigate sequential numbering mechanisms in Sphinx etc.