Aviation isn't about unions though, it's a safety feature. There were a bunch of different roles at the company I worked for:
- High-level requirements author
- Low-level requirements author
- Coder
- Test author
- Test runner
and then each of those had a reviewer, for high-level requirements, low-level requirements, code review, test case review, test process and results review.
The FAA technically only requires that the author and reviewer for each step in the process are different, but the company tried to avoid having the same person write the requirements, code, and tests as well.
- High-level requirements author
- Low-level requirements author
- Coder
- Test author
- Test runner
and then each of those had a reviewer, for high-level requirements, low-level requirements, code review, test case review, test process and results review.
The FAA technically only requires that the author and reviewer for each step in the process are different, but the company tried to avoid having the same person write the requirements, code, and tests as well.