Project Management Stack Exchange is a question and answer site for project managers. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have some user stories that have little tasks on basic design with highest priority. This tasks will lead to a conversation about the basic design of the user story and will generate other tasks for the user story. So, how would you handle this?

I have been told that the design should be done in the sprint for each user story but this would change the sprint backlog because it will generate new tasks derived from the created design what is not good.

One option would be just to add a full iteration where just design (just the necessary not the whole) is done and will generate tasks for the next iteration. But I guess this is not the right way to do it.

Could you comment how you solve this?

share|improve this question

migrated from stackoverflow.com May 9 '14 at 14:58

This question came from our site for professional and enthusiast programmers.

    
I have seen a lot of questions like this here on stack overflow. Anyway if there is a better place to ask this I could move it without any problem. – Notbad May 8 '14 at 9:29
    
Google: "Sprint Scrum Spikes" – Andrew Clear May 19 '14 at 21:45

I have been told that the design should be done in the sprint for each user story

Correct. Implementing a story as part of a sprint includes doing whatever design activities the team considers are required to accomplish the sprint goal (assuming that it's conducive to delivering working software; i.e. don't just do design, also work on implementation.)

but this would change the sprint backlog because it will generate new tasks derived from the created design what is not good.

The development team is in full control of the sprint backlog, and they can add or remove tasks as they see fit, at any time. What Scrum doesn't allow is for people outside the technical team (Product Owner, stakeholders, etc.) to change the composition of the sprint backlog once the sprint is underway.

That being said, the team should keep an eye on how much work they are adding to the sprint backlog, and whether that will still allow them to reach the sprint goal and keep their initial commitment. They should also be careful not to introduce completely new stories in the sprint backlog: adding new tasks that clarify the original intent, or new work that is discovered as part of doing the committed work is fine, but adding completely new stories is not.

One option would be just to add a full iteration where just design (just the necesary not a whole) is done and will generate taks for the next iteration.

Normally, you should try hard to avoid having "just design" iterations. Try simplifying the story scope, building something smaller, less sophisticated, but that gives a tangible result (in the form of real, running software.) Use that as an opportunity for learning, to identify new items for the backlog to be scheduled for future iterations.

share|improve this answer

Sprint Backlog is created and managed by the development team. According to the Scrum framework, generally nothing goes from the product backlog into the sprint backlog once a sprint has started. The whole concept of sprint estimation and team velocity depends on this rule. If the sprint backlog keeps on changing and is a moving target then the team may not be able to meet the sprint goal and may not get a measure of team's velocity. However, as the stories are being worked on during a sprint, the team may get more clarity/information on the stories. In this case, the team may decide to add/remove tasks from the sprint backlog if it helps them in completing the sprint goal. For example, a minor UI validation task for an existing sprint story can be added to the sprint but adding a task to change whole UI flow may jeopardize sprint delivery. If the Product Owner thinks that, after discovering this new task, there is no point in continuing with the sprint then he/she may terminate the current sprint and start a new sprint with the top priority items from the product backlog.

Feedback and conversations may generate new stories. By default all new stories go into the product backlog. The product owner is responsible to regularly prioritize the backlog. From which a sprint backlog is populated.

You are correct that design should be part of the user story and should be done in the same sprint. However, its not such that once designed can never change. During sprint review/demo there can be feedback/changes on the existing design, add that to the product backlog and handle it based on the priority set by the PO.

share|improve this answer
1  
Your initial statement is completely false. The team may choose to add new tasks discovered during the sprint to the backlog, and they may also renegotiate the backlog with the product owner if it is clear that the initial backlog is no longer feasible. – Andrew Clear May 19 '14 at 21:44
    
@AndrewClear thanks for the input. I have edited the answer to clarify my point. – Aziz Shaikh May 20 '14 at 6:23

One path that can be followed is to do a research spike for the story where the team can do a research and discuss the design in brief. As a result of the spike the team will have more clarity on the design and will have an idea of the user story that will be generated in the design process for the user story. So when they take up actual design and development of that user story they should already have an idea of the related story and will have their time allotted accordingly so that the team is not swamped in the sprint.

share|improve this answer

The practice that works good enough is to have (UX)Designer and Product Owner working together on designs one sprint ahead of the sprint in which those designs would be implemented.

There are some risks connected with this approach. By knowing them you can act up-front to mitigate them:

  1. Design-Driven development. Designers like to create beautiful designs which might be hard to implement. To manage this risk have the Development Team review what they are working on before the Sprint Planning session.
  2. Team erosion. Designer might feel he is not part of the team. To manage this risk make it clear that Development team would like to commit to 'stable' User Stories, which makes them more predictable and increases the chances that sprint will be completed. For terminology - everyone involved in the project is a part of the project team. At the same time there might be sub-team(s) that focus on one aspect of the project, ie. designs or development.
  3. Pixel Perfection Trap. By accepting User Stories with high fidelity designs the Development Team might strive to have pixel perfect implementation of those. To avoid this risk make sure that developers don't focus on tiny details by sacrificing working software. Details can be implemented later, in following Sprints.
share|improve this answer

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.