I've tried working at agencies who were middle men as you described and faced economic problem of the OP article -- if the client couldn't provide real specs and communicate effectively, who cares -- we just have to bill and make payroll.
I've tried working inside organizations to build things, but they're in a sadder economic situation generally -- they get forced to have built a team because outsourcing failed due to working with agencies like the above, but they aren't a software company and don't have the budget or skills required to build and manage a complete software team.