| ▲ | rzzzt 2 hours ago | |
The DoD's 2167 standard from the late '80s mentions the following documentation that should be produced as part of the development process (section 6.2 and Appendix D): - System/Segment Specification - Software Development Plan - Software Configuration Management Plan - Software Quality Evaluation Plan - Software Requirements Specification - Interface Requirements Specification - Software Standards and Procedures Manual - Software Top Level Design Document - Software Detailed Design Document - Interface Design Document - Data Base Design Document - Software Product Specification - Version Description Document - Software Test Plan - Software Test Description - Software Test Procedure - Software Test Report - Computer Sytem Operator's Manual - Software User's Manual - Computer System Diagnostic Manual - Software Programmer's Manual - Firmware Support Manual - Operational Concept Document - Computer Resources Integrated Support Document - Configuration Management Plan - Engineering Change Proposal - Specification Change Notice | ||
| ▲ | ebiester 2 hours ago | parent | next [-] | |
This is a particular artifact of the government system process. These are contracted pieces of work that Company A would deliver, Company B would administer, and Company C would be contracted out for additional work. Further, all specifications were created ahead of time because changes would cost extra. (Anyone who has done government contracting can talk to the shenanigans involved with it - I have not lived in this world for a long time.) That said, we still do ad-hoc versions of many of these. For example, a system/segment specification today is an OpenAPI document between microservices. Most larger SaaS companies have the equivalent of a Software Configuration Management plan - Who can change terraform or a GHA, what are the standards that they conform to (linter, peer review standards). | ||
| ▲ | bdangubic 28 minutes ago | parent | prev [-] | |
at one point or another in my career (gov contracting) I had to write or co-write or review every one of these. and without fail, within 6-12 months they would be stale/inaccurate/obsolete/… the truth is, even on projects where sufficient time is allocated to write these, there is never (literally) time allocated to keep them up-to-date | ||