views:

327

answers:

6

We use Scrum. We are experiencing problems during sprints when we find the user stories are not sufficiently granular to capture the effort required to complete the sprint.

In particular, we find that we are supplied with UI wireframes that contain much more complexity than the original stories would have implied (e.g. functionality duplicated for usability reasons). This leads to the burndown chart looking like everything is completed on the final day of the sprint.

We spend the Monday at the start of each 2-week sprint going over the stories as created by the project team, during which time we typically refine the stories a little and break them down into tasks, estimating the hours for each to create the burndown chart. During this day it doesn't feel like we have time to meaningfully improve the quality of the stories.

How best to break the cycle of incomplete / insufficient stories for our sprints?

Is this a failure of the project team to nail down the stories sufficiently at the outset, or should we (i.e. the dev team) take some of the responsibility?

+2  A: 

We had (and continue to in some respects) this same problem. I think this problem is a lacking of upfront analysis and a lack of devs spending enough time estimating a user story.

You might start with a story like:

As an administrative user I can create a new widget.

OK, what does that mean? After some analysis, it might mean:

As an administrative user I can create a new widget in created status with complex data validation errors.

So after that a listing of fields, how big, and what the required fields are for saving to the database. A basic UI mock up would be nice as well.

Another user story for the next sprint might be:

As an administrative user I can edit a created widget and correct the complex data validation issue to move the widget to completed status.

Then list of the complex validation rules.

Jay
+4  A: 

So are you saying that:

  1. Customers/users talk to project team
  2. Project team writes stories and creates wireframes
  3. Development team breaks down stories into tasks and estimates

Is there a possibility of the development team actually talking to the customers/users? User stories are sometimes seen as a way to kick off a conversation, as opposed to requirement documents/specifications.

EDIT: Some links:

EDIT: Martin Fowler made a blog post yesterday on ConversationalStories that covers this far better than I did.

TrueWill
+1: "UI wireframes that contain much more complexity than the original stories" sounds like a conversation is not happening and someone is surprised. The point of an Agile method is to prevent surprises.
S.Lott
+2  A: 

We spend the Monday at the start of each 2-week sprint going over the stories as created by the project team, during which time we typically refine the stories a little.

At the start of the sprint, the stories should be READY. If you need to refine them a bit, I think that you (the dev team, the ScrumMaster, the project team) should do that a bit ahead, during the previous sprint.

How best to break the cycle of incomplete / insufficient stories for our sprints?

You are maybe underestimating stories or they are too big and too vague. In both case, this sounds like an estimation problem and a good way to improve is to reduce the size of stories. To work on this issue, you could dedicate some time (e.g. 5% of every sprint) to Product Backlog Grooming in order to prepare the most important stories and reduce their size by putting them on diet if required before the next sprint. And this will actually make the sprint planning meeting smoother.

Is this a failure of the project team to nail down the stories sufficiently at the outset, or should we (i.e. the dev team) take some of the responsibility?

The responsibility isn't that important IMHO (except for political reasons maybe but they do not produce much value anyway), both the dev team and the project team are working together and "failing" together. What is important here is to inspect and adapt to remove the obstacle. So, it's the dev team responsibility to make this problem visible (it is an impediment). And it's the ScrumMaster responsibility to work on this impediment. The failure would be to not work on it. Backlog Grooming sessions are one way to do it. And at the end, I'm sure the project team will improve and get a better understanding of what the dev team is expecting. And you will both produce better results.

Pascal Thivent
+4  A: 

Are you running sprint retrospectives? At the end of the retrospective you should have high priority actionable items to improve on what happened in the previous sprint. The same things shouldnt be going wrong repeatedly.

Is your product owner accessible during a sprint? If not you may need to add extra to any estimation as the detail of a user story is incomplete.

@Pascal suggestion to dedicate 5% of your sprint to product backlog grooming is a good one. This should enable the user stories to be in a more detailed place before the start of your sprint.

We spend the Monday at the start of each 2-week sprint going over the stories as created by the project team, during which time we typically refine the stories a little and break them down into tasks, estimating the hours for each to create the burndown chart. During this day it doesn't feel like we have time to meaningfully improve the quality of the stories.

It sounds like this is your sprint planning session, do you have control over what user stories you are commiting to complete during the sprint? How can you commit if you dont have sufficient detail?

This takes you back to having a good retrospective and solving the issues raised.

How best to break the cycle of incomplete / insufficient stories for our sprints?

Retrospectives, planning, backlog grooming.

Is this a failure of the project team to nail down the stories sufficiently at the outset, or should we (i.e. the dev team) take some of the responsibility?

Its the responsibility of the team as a whole. Finding blame isnt going to give value, but everyone taking responsibility will give everyone a chance of completing the project succesfully.

Maybe during those Monday morning planning sessions you can involve whoever is writing the user stories / wireframes and work together to find out what detail is missing from them, what detail would make your estimations easier and more accurate. Maybe a template of what they should include could be drawn up.

Paul Rowland
+1 Very close to what I think.
Pascal Thivent
+1  A: 

Lots of good ideas here already on the scrum aspects of your problem. Based on your comment:

particular, we find that we are supplied with UI wireframes that contain much more complexity than the original stories would have implied (e.g. functionality duplicated for usability reasons).

I also have a concern that you might need to work on you development process as well though. Accessing functionality from multiple locations in a UI should be a simple addition that consumes almost no time at all. If you are finding this to be a common problem then your functionality is too tightly coupled to particular UI elements. Your team might need to improve their design skills (eg: pattern usage).

DancesWithBamboo
+1  A: 
Clive Skipper