Here is my situation:
I work with two SCRUM teams, iOS and Android
Each of the SCRUM team has its own Product and Sprint backlogs
We have shared Sprint Plannings, Reviews and Retrospectives (both teams attend) so that the products can stay aligned and that a given team can benefit from the knowledge of another team in tackling a specific problem as well as in story point estimation
Because the roadmap and features of both iOS and Android are pretty similar, both products are sharing the same backend engineers as resources. As a result, we create backend subtasks for given user stories in sprints and backend engineers attend Sprint Planning as part of the cross-functional team.
By backend work I mean server side work. We're talking about mobile apps here, so anything related to user management for instance. i.e. let's assume a user wants to delete his profile but he can't yet. A user profile deletion CTA would need to be available on the client, but it would need to work with HTTP requests to the server. So here, as part of the same user story ("as a user, I want to be able to delete my profile), we would have both client and server work together.
Do you include this backend work in your user story estimates for one of the teams (i.e. iOS team), knowing that once the backend work will then also be done for the other client team which might be lagging behind? How do you include backend work in your velocity estimates?