Process diagram
This process is heavily inspired by agile software development with a twist to accommodate space-related software. For each version of the software, a number of requirements are chosen are these are worked until the next version is released.
The overall quality assurance process can be broken down into these procedures. Click on the relevant sections in the table of contents to read the detail of each procedure. Note that a dotted line means it's an asynchronous process, freeing engineers to work on another task.
graph TD
A[[Requirements & <br/> test plans]] --> B[[Detailed design, <br/>incl. API & ICD]] --> C[[TDD: Tests and code <br/>development]] -->D[[Final review & release]]
D --> |Select requirements <br/> for next version| A
click A "/process/requirements/"
click B "/process/design/"
click C "/process/development/"
click D "/process/release/"
The full process diagram is below.
graph TD
RN("Receive stakeholder needs"):::sh --> GR("Gather requirements"):::lead
GR --> TP("Test plan development"):::engr
TP --> ReqApproval{"Lead approval"}:::lead
ReqApproval --> |Revision<br/>required| GR
ReqApproval --> |Approved| AlgDemo("Algorithm demo"):::engr
AlgDemo --> ApiIcd("API & ICD definition"):::engr
ApiIcd --> PR1{"Peer review"}:::lead
PR1 --> |Revision<br/>required| ApiIcd
PR1 --> |Approved| DD(Detailed design):::engr
DD --> PR2{"Peer review"}:::engr
PR2 --> |Revision<br/>required| DD
PR2 --> |Approved| LR1{"Lead Design<br/>Approval"}:::lead
LR1 -.-> |Algorithm revision<br/>required| AlgDemo
LR1 --> |API/ICD revision<br/>required| ApiIcd
LR1 --> |Design revision<br/>required| DD
LR1 --> |Approved| TDD("Tests development<br/>(TDD)"):::engr
TDD --> PR3{"Peer review<br/> of tests"}:::engr
PR3 --> |Revision<br/>required| TDD
PR3 --> |Approved| CD(Code development):::engr
CD --> PR4{"Code, unit, integr. <br/>review"}:::engr
PR4 --> |Revision<br/>required| CD
PR4 -.-> |Approved| LR2{"Lead review &<br/> Chief engr.<br/> sign-off"}:::lead
PR4 -.-> |Requirement<br/>or design defect| LR3{"Defect<br/>identification"}:::lead
LR3 -.-> |Design defect| AlgDemo
LR3 --> |Requirement<br/>defect| GR
LR2 -.-> |Revision<br/>required| TDD
LR2 -.-> |Approved| C[[Release]]
classDef lead fill:green,opacity:0.6,stroke:darkgreen,stroke-width:2px,color:black
classDef engr fill:dodgerblue,opacity:0.6,stroke:navy,stroke-width:2px,color:black
classDef sh fill:orange,opacity:0.6,stroke:darkorange,stroke-width:2px,color:black
Last update:
2022-10-03