It won't change until people learn how to write better requirements, which means it will probably never change.
Software development in practice is rarely about how to build a thing, but very much about what to build.
And I have yet to see an outsourced shop that's good at solving that problem. (Sadly)