Which has absolutely nothing to do with the need for QAs to test as well.
At the very least there is a completely different psychology required in testing, where the goal is to break things, but when you are the person who has created that thing there is sub conscious resistance to breaking things too much.
Definitely this. I'm primarily a developer, but while I can do a good job of QA on someone else's code, I find it almost impossible to do a thorough job on my own.
1) Testing my own code is boring. I keep thinking about what it should do and then taking shortcuts where I don't test every possible circumstance because I believe I can infer what will happen in one case from another.
2) Testing my own code is time I'm not spending working on the next bit of code in my queue. At a certain point I start feeling like I should just be working on the next thing
Programmers should be required to do enough local testing to not break the build of course, but the same person who wrote the code can't also thoroughly test it, because they'll inevitably only test the "happy path", even if they don't intend to.
Is the cost savings worth it? For Microsoft, I don't know. It depends on how much brand damage they make with this. Apple has its own desktop OS value destruction process, and Google is killing off Cloud Print for its desktop OS, and replacing it with hope and dreams (hope and dreams only available if your chrome device still gets updates, but the windows cloud print server is already gone from windows chrome)