3 — You know the answer — fire. But before, I think two things are important:
1) Sit with this dev and very carefully write down everything he's working on. Those devs usually forget to keep books in order. You'll need it after you fire him.
2) Make it very transparent. The team might love this dev, but up to the point until they see for a few iterations that he doesn't deliver. Then it's safe to remove him from the equation.
Through transparency. It's a sketchy subject though... If there is such a problem, that a person is the soul of the team (that everybody will be really pissed of to see him gone) but doesn't deliver, there is an algorithm that I hope you'll never have to execute.
Create an environment, where each developer self-assigns tasks for the iteration, starting from the non-delivering guy.
By the end of the iteration, everybody should demo what they've done. He probably won't achieve anything.
Soon everybody will see that he doesn't deliver anything.
Even if this person was a very funny and pleasant guy, everybody will see how he performs and let him go.
It's better to act quickly. Last time I saw it, it was 6 months later than it should be done. :-( Very important update was postponed and paused because of it.
I normally like to foster a team environment, but yea there aren't a lot of options available to you when someone is struggling. I do think transparency is best, as you mention. And if you can give the troubled person a heads up that you're concerned for them, that probably helps to make the whole thing easier for everyone. I find that when I speak to someone and let them know that I care about what they're going through, I can often figure out why their performance is low and work with that person. On a few occasions I've been lucky enough to learn that their low performance was related to a process that was really bugging them (so we changed it), or a life issue (so we gave them time), or a lack of excitement (so we gave them stretch goals). But sometimes, yea... it's just someone who might be happier at another job.
But wow. What a tough subject. This is probably the hardest thing someone can deal with. It's not easy on the team, the manager, or the person in question.
It’s like breaking up. First, you try to fix your relationships (as you described above). But if it doesn’t help — you have to make the thought decision. :-(
The only difference is that firing somebody from the team is like breaking up in a polyamory group — so many interests should be balanced.
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
3 — You know the answer — fire. But before, I think two things are important:
1) Sit with this dev and very carefully write down everything he's working on. Those devs usually forget to keep books in order. You'll need it after you fire him.
2) Make it very transparent. The team might love this dev, but up to the point until they see for a few iterations that he doesn't deliver. Then it's safe to remove him from the equation.
Can you clarify how the other team mates will realize “that he doesn’t deliver?”
Through transparency. It's a sketchy subject though... If there is such a problem, that a person is the soul of the team (that everybody will be really pissed of to see him gone) but doesn't deliver, there is an algorithm that I hope you'll never have to execute.
It's better to act quickly. Last time I saw it, it was 6 months later than it should be done. :-( Very important update was postponed and paused because of it.
I normally like to foster a team environment, but yea there aren't a lot of options available to you when someone is struggling. I do think transparency is best, as you mention. And if you can give the troubled person a heads up that you're concerned for them, that probably helps to make the whole thing easier for everyone. I find that when I speak to someone and let them know that I care about what they're going through, I can often figure out why their performance is low and work with that person. On a few occasions I've been lucky enough to learn that their low performance was related to a process that was really bugging them (so we changed it), or a life issue (so we gave them time), or a lack of excitement (so we gave them stretch goals). But sometimes, yea... it's just someone who might be happier at another job.
But wow. What a tough subject. This is probably the hardest thing someone can deal with. It's not easy on the team, the manager, or the person in question.
Thank you for responding.
It’s like breaking up. First, you try to fix your relationships (as you described above). But if it doesn’t help — you have to make the thought decision. :-(
The only difference is that firing somebody from the team is like breaking up in a polyamory group — so many interests should be balanced.