i hope the title is relevant; I find it hard to put to words so concisely.
We have 3 teams each with their own backlog and focus (think systems team, web team, mobile team). The 3 teams have 1 of 2 partially overlapping sprint schedules, each of which is 2 weeks long. Also, each team has its own planning meeting.
For a while each team was operating independently just fine, but now we're coming to a point where delivering stories depends on other teams implementing functionality.
Also, there is not enough work for some developers to focus on only one team.
I'm thinking we need to add an additional team for internal APIs so that features needs by other teams can be worked on without hopping teams mid-sprint. MY main reason for thinking this is good is so that velocity can be more accurately measured and represent the progress of the focused topic for each team. For example, the mobile team's velocity should only represent work done on mobile products, not server side APIs.
That's where I leave it. I'm hoping to get some actionable advice from what others have found effective with similar team setups.