Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I have an epic which involves creating a mobile application which retrieves a user's data they have previously created in a web application and act on it locally. It seems logical to split the epic as follows;

  1. Mobile app which acts on local, mocked up data

  2. Mobile app which downloads data from the web app's api but with no authentication

  3. Mobile app which downloads data from the web app's api with authentication

I'm struggling to word these stories. 1 is a scenario which would never happen for the end user, he wouldn't have any local data if it hadn't already been retrieved previously. How would I word this?

If 2 is 'As a user I want my mobile device to act on the [entities] which I previously created via the web interface' then what would 3 be? 'As a user I want my mobile device to act on the [entities] which I previously created via the web interface trusting they have been retrieved securely'??

share|improve this question

1 Answer 1

up vote 0 down vote accepted

In story 1, I would just state what operations the user can/wants to do on data already present on the device, and add an explicit note that the origin of the data is out of scope for the story (possibly with a reference to the story that handles retrieving/updating the data)

Your own suggestion for story 2 looks reasonable, and story 3 could be something like ", but I don't want Joe Random User to be able to access those [entities]". That should give you the incentive to add the authentication feature, so the real user can prove he/she is not Joe Random User.


@thecapsaicinkid wrote in a comment:

If I'm splitting my stories in a way which requires me to fake data, is this an indication I'm not splitting in a helpful way?

Not necessarily. If the story that needs the fake data and the story that replaces the fake data with the real data are in the same sprint, it is not a problem at all. At the demo it should not even be noticeable that half-way down the sprint fake data was used. If the two stories get scheduled for adjacent sprints, it would at most be a minor annoyance that the result of the first sprint can't be meaningfully deployed to the end-users. It might become a problem if the story to provide the real data gets pushed further down backlog, but that is not very likely.

A 'thin slice' which relies on fake data has value to the business; they can see the application working. But it has practically no benefit to the end-user. Should I try and simplify my slice even further (maybe a simpler UI) so I can find the time to get some real data into the system and have an app which does at least something useful to the end user?

It depends and should really be discussed with the customer representative. Sometimes it would be better to slice an epic in vertical slices (several stories, where each story contains both data retrieval, manipulation and UI). And sometimes you just have to accept that it is impossible to split an epic in multiple stories that are all on their own relevant to the end-user.

If that is the case, don't worry too much. The customer representative will most likely understand the situation and try to prioritize the stories such that the entire epic gets completed in as few sprints as possible (it is in their interest as well).

share|improve this answer
    
How would you word 1? It's difficult to find the wording for a smaller story when you are faking part of the process. –  SeeNoWeevil Apr 22 '13 at 13:14
1  
@thecapsaicinkid: I can't really answer that, as I don't know what either the story or the epic entails, but it would probably something along the lines of "As a user I want my mobile device to perform [actions] on [entities]*." (*: How [entities] become available on the mobile device is out of scope of this story) –  Bart van Ingen Schenau Apr 22 '13 at 13:42
    
If I'm splitting my stories in a way which requires me to fake data, is this an indication I'm not splitting in a helpful way? A 'thin slice' which relies on fake data has value to the business; they can see the application working. But it has practically no benefit to the end-user. Should I try and simplify my slice even further (maybe a simpler UI) so I can find the time to get some real data into the system and have an app which does at least something useful to the end user? –  SeeNoWeevil Apr 23 '13 at 9:09

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.