Reasoning and Why
Norms
There are many different reasons, why you need bidirectional traceability. E.g. in the automotive industry it is the ISO26262 or ASPICE.
As the ASPICE specification is public available let’s what is requested: https://vda-qmc.de/wp-content/uploads/2023/12/Automotive-SPICE-PAM-v40.pdf
Or within is documentation for Version Automotive-SPICE-PAM-v4.1 Figure D.4 — Bidirectional traceability and consistency.
Implemented with Sphinx-Needs
With Sphinx-Needs we get one tool to cover all demands of ASPICE (often you want to use a planning tool for change request management). Everything should be reviewed with github pull-requests or gitlab merge requests as a single point of review tool. You can protect branches with rules, so you can enforce all content is reviewed.
If you want to use sphinx-needs even as your ticket management tool, here are some hints:
You could use https://docs.github.com/en/actions/examples/using-the-github-cli-on-a-runner to create github issues automatically (peter-evans/create-issue-from-file),
You could use https://sphinx-needs.readthedocs.io/en/latest/directives/needgantt.html and a need of a self defined type like ticket to manage work packages.
You can find a Example with all classical ASPICE artifacts in this open source repository:
- GitHub
Repository: https://github.com/PhilipPartsch/ReConf2023-Product-As-Code
GitHub Pipeline: https://github.com/PhilipPartsch/ReConf2023-Product-As-Code/actions
GitHub Pipeline Scripts: https://github.com/PhilipPartsch/ReConf2023-Product-As-Code/blob/main/.github/workflows/builddoc.yml
GitHub hosted documentation: https://philippartsch.github.io/ReConf2023-Product-As-Code/
ReadtheDocs Pipeline: https://readthedocs.org/projects/reconf2023-product-as-code/builds/
ReadtheDocs Pipeline Script: https://github.com/PhilipPartsch/ReConf2023-Product-As-Code/blob/main/.readthedocs.yaml
ReadtheDocs hosted documentation: https://reconf2023-product-as-code.readthedocs.io/en/latest/
- GitLab
Repository: https://gitlab.com/PhilipPartsch/reconf2023-product-as-code
Gitlab Pipeline: https://gitlab.com/PhilipPartsch/reconf2023-product-as-code/-/pipelines
Gitlab Pipeline Script: https://gitlab.com/PhilipPartsch/reconf2023-product-as-code/-/blob/main/.gitlab-ci.yml
GitLab hosted documentation: https://reconf2023-product-as-code-philippartsch-a4d4571b1b7e4136d3bdb6.gitlab.io