upvote
> I strongly suspect that a lot of folks, these days, only do the middle one.

Ain't no one willing to pay for all of that. The clear separation is something you only see remaining in academia and industries where code quality issues have legal consequences (i.e. aerospace, marine, automotive and medical), and even there, pressure is high to relax rules viewed as "arcane".

Writing good specifications, documentations, implementation code and tests each is an art form in itself

reply