Well put, especially this:
> if the team is already organized in a way that separates devs and qa, artificially forcing them to communicate is just a bandaid over the structural reasons why devs and qa aren't incentivized to collaborate
With the advent of Continuous Integration, Continuous Deployment there seems to be this notion that devs do their own testing, and they do it primarily with automation, and if the tests all pass then the code goes straight to production. This would be a really fun way to operate and I would love to be a part of it. And I'm sure for a lot of new projects this happens effortlessly. But I don't see how it can possibly apply to all projects, and even in the best case any existing project/organization will have to do a lot of restructuring and rearchitecting to make this happen.
So the reality is that in many organizations QA remains separate and probably will continue to remain separate. We work closely with the devs, sure, but we have our testing responsibilities that don't change based on anything the devs do. I would love to be put out of a job by true CI/CD because that would imply that the devs have figured out a way to make the app fully tested and bulletproof, automatically, all on their own, which is the dream isn't it?