I'm a lead software developer for a team of 4 (including myself). Part of my job is to occasionally delegate development tasks to team members.
One of my team members is ineffective and requires a lot of "handholding" for many tasks, meaning I typically spend a lot more time with him than I do with the others. This is frustrating and unfair, as it takes too much of my time away from my own tasks and from the rest of the team. This has been an ongoing struggle for months, and I've brought it up with management. They've committed to reassigning this individual to another role, but this will not happen overnight. Also, I'm not sure if management has talked to him about this yet.
My question is, what should I do with in-process tasks that I've already delegated to this team member where he's just not getting it? I could continue to coach him to complete each task (a frustrating and time-consuming activity with no long-term benefit). But ideally I would like to "undelegate" some tasks from him and do them myself. If I do undelegate, is there a graceful way to do this without embarrassing my coworker?