I'm having a hard time reconciling stories that have a concrete user value and that can be estimated when crossing component boundaries. Assume I own a Game application and have the following user story:
As a User I want to know which friends I have invited so that I don't invite the same friend twice to play this game.
Pretty simple with a clear user value. This game already allows you to invite friends but it doesn't track friends you've already invited. This story asks for that. Now this is a mobile app that connects to a server using REST.
So the problem is that the engineering tasks break into two pretty small tasks. The server needs to make a schema change to track which friends of a user have been invited. The mobile app needs to utilize this to ensure the same friend is not invited more than once.
Also, for fun, assume this is a remotely distributed team and two different resources will be doing the tasks. One that does the Objective-C part and another for the Java server code. Also assume that will not be pairing on the entire story.
So my question is how do most people handle this? There are two different estimates and two different tasks to complete but only one logical story. I only want to track the story. But the estimate (I guess) is the greater of both. If I only put the story into something like Pivotal Tracker then each developer cannot mark the work done as it completes. If I break the story into TWO stories then I have engineering work in my backlog and NOT customer value?
This seems so simple but for some reason I am getting stuck on it, dunno why. As a product owner I want to track the features but since two developers need to work to develop the feature I can't figure out the best way to represent this in pivotal tracker.