I am not totally sure this is the right sub to post in, so please let me know if you have any other recommendations.
I am looking for advice from devs and dev leaders on how to best handle a situation, and gather some clues as to why this may be happening.
I lead a small dev team of 5, in a mostly agile environment.
I have 1 team member who has superb technical skills, but is absolutely terrible at communication and collaboration.
An example is having a 13 point story in Jira that has finally been completed after being pushed to its 3rd sprint (we do 3-week sprints, so it's 6 weeks late). We have had regular 1:1s about this particular story, why it's important, what depends on it, etc. I have requested status updates, progress demos, and discussions on blockers many times throughout. I have also removed all other stories from this developer's sprint goals in order to ensure they are able to focus on completing it, with the exception of a couple of smaller maintenance tasks so that she has a balance of challenging and "quick-win" work.
At the end of the sprint, I was advised of a blocker: a minor portion of our current architecture needs to be refactored to allow this story to be implemented. This did not come up during our sizing or sprint planning sessions – was a total unknown that surfaced after diving deeper.
I am now certain the story should have been sliced, as 13 points were clearly insufficient. I am absolutely fine with there being an unexpected blocker; there is no problem at all in adjusting the story, collaborating as a team on resolving the blocker, etc. However, issues like this example (note, it's one of many), are consistently causing the team to fail to meet our goals, and causing other team members to fall behind while they wait on her work to be completed. It's also starting to cause issues with our stakeholders and users, as features are being shipped much later than estimated, where I am only able to give them last minute negative news that their feature will not be included in the release. I feel this is reflecting poorly on me, as I should know about any issues much earlier, and be supporting in getting them resolved.
It seems very unlikely to me that this blocker would have come up at the end, unless work wasn't started on it until the last minute. Which is a problem in itself given it was already pushed twice. I have had my senior dev comment that this team member is a perfectionist and likes to work autonomously to solve issues without asking for help. This is in friction with our team culture and agreement, and is clearly having knock-on impacts. I want to respect her different working and communication style, however, there are also certain aspects that we need from the whole team in order for us to work as a cohesive unit.
All of that said, how can I help my developer to feel comfortable about giving regular and early updates, and demonstrate the value of great communication and collaboration?
I'd love to hear others who may have experienced this as either a leader, or from devs who have struggled with this, so that I can best empathize and support her in being successful in her role and as a member of our team.