Every single team I've managed, I've given the lowest performers a huge benefit of the doubt, and a long timeline for improvement. In some cases, it wound up being a PIP->firing. But more often than not, I wind up trying one thing after another with the lowest performers, because I so much want to believe in them. They're always nice people, but they don't deliver. They say "I'm working on X... I'm still working on X... Will have something ready in 2 weeks... I hit a blocker, it'll be another 2 weeks." And I try to help them, unblock them, mentor them, reassign them to some other task that might be better suited. But the harsh reality is that many many people are just not good developers, no matter how much you both want them to be.
So on every team I've ever managed, if I'd been forced to put the lowest performer on a PIP, it would have been good for the whole team. And I think I'm probably not alone in this.
(Of course, this applies only to a limit. At some point, you've eliminated the actual low-performers, and shouldn't ever manufacture a PIP just to meet a numbrs threshold.)
As a one-time thing, sure, stack rank is likely to be fairly effective. But what would have happened on your team if you had to get rid of your lowest performer every year?
In fact, for a couple of quarters, I was asked to name the lowest performer on my team, and then that person got ranked as one of the lowest performers across my manager's org, and it put me in a shitty situation as a manager because the engineer wasn't actually at PIP stage yet (and we didn't ever go to PIP) but it basically soiled their chance of being promoted for however long the other managers will remember seeing that name on the "low performer" list.
Every single team I've managed, I've given the lowest performers a huge benefit of the doubt, and a long timeline for improvement. In some cases, it wound up being a PIP->firing. But more often than not, I wind up trying one thing after another with the lowest performers, because I so much want to believe in them. They're always nice people, but they don't deliver. They say "I'm working on X... I'm still working on X... Will have something ready in 2 weeks... I hit a blocker, it'll be another 2 weeks." And I try to help them, unblock them, mentor them, reassign them to some other task that might be better suited. But the harsh reality is that many many people are just not good developers, no matter how much you both want them to be.
So on every team I've ever managed, if I'd been forced to put the lowest performer on a PIP, it would have been good for the whole team. And I think I'm probably not alone in this.
(Of course, this applies only to a limit. At some point, you've eliminated the actual low-performers, and shouldn't ever manufacture a PIP just to meet a numbrs threshold.)