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.
She's trying to shift the culture over there and it's going to be hard to do that with a bunch of people outside the main HQ, especially when they aren't actually doing anything.
Another way to look at it might be that employees who work from home, who aren't exactly feeling inspired, feel re-energized being on the main campus again and get a new spark for doing great work. Lot's of spin, lot's of angles.
I'd give her a bit more time before raising the pitchforks.
Let's say you are an allied soldier in the early parts of World War I. You're in your trench in dirty clothes, you can feel your feet rotting away inside your boots as you stand in knee deep water, mud, and filth. Most of the buddies you had a year ago are dead or gone away, having lost limbs or sanity in the war already. You spend your days watching your squad mates shit their guts out from dysentery. You've been over the top before, you've run across hundreds of meters of cratered moonscape filled with mud and barbed wire, all the soldiers around you are getting ripped apart by ferocious machine gun fire. And you know how futile it is to attack enemy trenches head on. You've seen thousands upon thousands of men killed by shelling and machine gun fire before they even got close to the other trench, it's a suicidal strategy and yet it is the only strategy the commanders have come up with. You think about deserting. You think about getting a group of friends together to rise up against the officers. But your friends are dead or gone, and desertion or rebellion are a certain route to execution. You start to think seriously about acquiring some sort of injury that would send you home, maybe if you shot your own foot. But your thoughts are interrupted by the announcement that tomorrow morning there is another attack planned, you're going to go over the top and attack the enemy trenches again.
Your morale, and everyone else's, in this situation is obviously low. The solution the commanders have for this problem is that if you don't do your job you'll be shot. The result of this genius was the destruction of a significant percentage of an entire generation. The problem in this situation wasn't the soldiers. As many historians have detailed many of them "fought like lions", and many of them were intrinsically motivated to fight the enemy to the utter limit of their abilities. But morale was still low and a lot of people deserted and some even rebelled. The problem was the strategy and the commanders. The problem was that the actions being undertaken were hugely wasteful of men and resources without having any reasonable chance of success.
You don't win this sort of war by ordering yet another mass assault backed up with the threat that anyone who doesn't comply with the order will be executed. You fix it by changing your strategy and tactics.
It sucks, but it worked.
You don't win a war by trading human lives for bullets, it's necessary to gain some average net advantage if you lose lives, otherwise you will lose.
Suicide attacks didn't win the war for the Allies, it was patience, attrition (through naval blockades), new tactics, new allies, and new technology which led to victory.
All this to say that while I have read the history books, some in French and never translated into English (apparently some french material isn't suitable for a British audience's taste and sensibilities), I also have some more intimate knowledge that transcends the written page and the maps with arrows and dashed lines.
Note that I don't disagree with you, and as you point out, it was partly new technology that won the war for the allies.
Have you managed a large team before? The single best way I know to demotivate a highly motivated developer is to let them see a coworker at the same pay grade do significantly less work without any good reason. (footnote: individuals going through cancer treatment are the tricky complication here, due to privacy issues)
And I should emphasize that for most of the developers I've managed, it wasn't a fear thing like, "oh, he'll fire me if I don't work" but rather a removal of the sentiment that, "why should I keep working so hard when others here don't pull their weight and are being rewarded for it?"
That's a large part of the reason I like semi-enforced distributions in curve-oriented review systems. Many managers, particularly first-level leads, tend to pull their rewards towards the mean (barely rewarding high performers and still rewarding low performers) instead of focusing on doing the right thing at the tails. Though that's certainly no guarantee of success; I got a decently sized development and test organization (~60 of each) merged into our organization and it took nearly a month of full-time work for myself (and one of my peers) to sort out the years of misrewarded individuals to get neglected high performers promoted and HR action started on people who'd been resting and vesting.
Generally speaking, if one person isn't working all that hard but is contributing a lot (due to greater skill) the other Engineers can recognize and appreciate this. We all understand the tradeoff between ability and effort; The better you are, the less effort is required (but, there are minimum levels for both effort and ability; no matter how awesome you are, you need some minimum level of effort; even if you dedicate your life to the job, you need some level of ability. - but, to some extent, ability can make up for a lack of effort, and effort can make up for a lack of ability.)
I'm still at the point where I tend to see the disadvantages of this approach. It seems to me that, in terms of performance management, that the important pieces are the regular one on ones and an honest effort to work equally with people who are high/normal/low performers to improve. A forced distribution seems to work against that because it puts people in the position of defending themselves rather than being open to a discussion. However, that's my view from a bit further down the food chain from your own experience (as a first level lead for teams between 21 and 37 developers). I also agree with InclinedPlane that ultimately it's about intrinsic motivation and being connected to work that interests you. If you can create that kind of work environment you'll get developers who are engaged and want to work hard because it's something that interests them.