The value of a software company is in its developers. The best developers are almost always intrinsically motivated. And the best developers are the ones who typically end up being the heart of the company, they're the ones who keep the whole system working through the thousands upon thousands of little things they do that aren't mandatory but are necessary in order to ship any quality software.
Mayer's efforts here are to treat the developers as spoiled children, and it will serve only to further alienate and demoralize the best developers who have just been too lazy to leave and find better work elsewhere. It doesn't even matter if the developers actually are acting like petulant children, if you drive them away they still go away. And then once they evaporate you're left with the dregs, and then shockingly somehow it becomes orders of magnitude to ship anything of any quality on time. The worst part of this is that I'm sure this cycle has already played out multiple times at yahoo.
You can't treat creative knowledge workers like factory drones, even when they're misbehaving.
The only thing that will actually help Yahoo is tackling projects and creating a work environment that encourages intrinsically motivated devs to work, everything else will follow naturally. If they want to continue on their long slide into the dust bin of history then by all means they should create a workplace that is optimized for mediocre devs and mediocre projects.