"If you specify every possible detail in a design doc, you’ve essentially written the implementation during the design phase. That would defeat the whole purpose of a design doc."
However if you do this as an executeable specification then the job of core functionality is finished with the specification, with significantly beeter quality, potentially.
This sounds a lot harder than it is - most behaviour is state based and it is possible to define such behaviour with an executeable specification.
In the Functional Safety world this is often your best option.
I wrote my own software package to enable such practices and once used to a slightly different way of thinking it works very well.
"If you specify every possible detail in a design doc, you’ve essentially written the implementation during the design phase. That would defeat the whole purpose of a design doc."
However if you do this as an executeable specification then the job of core functionality is finished with the specification, with significantly beeter quality, potentially.
This sounds a lot harder than it is - most behaviour is state based and it is possible to define such behaviour with an executeable specification.
In the Functional Safety world this is often your best option.
I wrote my own software package to enable such practices and once used to a slightly different way of thinking it works very well.