This is non-negotiable in many corporate environments because of higher ups needing assurances that things are going according to plan. Not because taking this approach builds good software. Where I work, the higher ups are always asking for requirement specs and design documents and I sink so much god damn time writing these while the implementation is already being written. By the time I finish a draft of a doc, the implementation is out of sync with the spec and it needs to be updated creating more useless work. The higher ups truly believe that specs are driving the implementation while all the devs laugh (and cry) knowing our code drives the spec. And this isn't just a me problem. Even our most senior engineers know this and are constantly updating the specs and hate doing it. Because they know its not possible to think of every little thing before starting to code.
This is a garbage take by the kind of people who probably also believe having doctors, engineers, lawyers pass an exam and are certified means something. Its all performative, we're all hairless monkeys figuring it out.
> doctors, engineers, lawyers pass an exam and are certified means something.
Chances are most of these people (who are employed) are retarded. Especially the lawyers part.