In teams that are still bit too specialized it can sometimes make sense to do something I call Soft Assign.
Soft Assign (as I have defined it in this context – it has other meanings as well) means that in the first part of Sprint Planning members of the team show what Backlog items they will be able to work efficiently on. For example by putting markers or initials on those items.
This help you re-prioritize a bit so that you can make the most efficient use of the team skills by making sure that everyone has enough items they can work efficiently on.
I completely agree with the ones of you who are now protesting, saying that this will prolong the time it takes to create a truly efficient team that works really well together.
However, I am a fairly pragmatic Agile Coach meaning that I firmly believe that sometimes short-term results are more important than agile doctrines.
Growing a strong cross-functional team with little dependency on key people for certain tasks or areas of the system is certainly a good long term goal.
But sometimes keeping a promised release date or making it possible to bring that new customer on board will be way more important than taking a small step towards that long term goal.
Soft Assign can help a team perform at it’s best short-term.
Just be careful so this does not become the standard way of working. If everything is super-urgent all the time – then you have an issue that needs to be resolved.