The tests help you discover what needs to be written, too. Honestly, I can’t imagine starting to write code unless I have at least a rough concept of what to write.
Maybe I’m being judgemental (I don’t mean to be) but what I am trying to say is that, in my experience, writing tests as you code has usually lead to the best outcomes and often the fastest delivery times.
That implies forethought and planning on behalf of governments at all three levels. And moreover, for them to do it together.
Canada - it’s a like the US, but with a public health system and worse cronyism