8

Our company is trying to adopt a more rigorous Agile methodology (including Sprints and Scrums and all that fun stuff. We even got a JIRA subscription!), and we've run into a couple issues.

The biggest one (to me, anyway, as I am frequently affected) is that we do not know how to deal with Sprint stories that are partially dependent on an external third party. Consider the following (simplistic, vague, and abstract) story:

Story: Brand Web Page for Acme Inc.

Subtasks (Story Points):

  1. Modify Javascript for custom behavior (0.5)
  2. Create custom build paths for Acme-branded Client (1)
  3. Retrieve logo images and color replacements from Acme (??????)
  4. Add Acme images and colors to build process (0.5) (dependent on/blocked by #3)
  5. ...etc

So here's my question. If we're planning the Sprint:

  • How do I estimate a task that isn't mine to complete (e.g. #3 above)
  • How do I estimate tasks that are mine to complete, but are dependent on tasks that aren't mine (e.g. #4 above)
  • What should we do when external tasks blow their estimates (e.g. #3 above was only supposed to take them 2 days, but ends up taking them a week)? What are our options?

Thanks

2
  • 3
    Welcome to PMSE. Your question is very close to this one: "Agile/Scrum- Tracking external dependency stories". Please take a look at it. Maybe it will help you to find answer to your question. Jul 2, 2015 at 20:02
  • 1
    They are similar, it is true, and I read over it before I posted my question, but I felt that my use case was unique enough to warrant its own question. Perhaps they are more similar than I originally realized.
    – Cody S
    Jul 6, 2015 at 18:16

2 Answers 2

6

Don't create subtasks in your sprint for work done by external third party

How do I estimate a task that isn't mine to complete (e.g. #3 above)

If the work is being done by someone outside the team, it should not be in your sprint. The team can't take credit (velocity) for work done outside the team.

How do I estimate tasks that are mine to complete, but are dependent on tasks that aren't mine (e.g. #4 above)

As the Scrum Master, I push the Product Owner to schedule only stories for which all external dependencies have been delivered at the time of Sprint Planning. However, there are exceptions. Some stories get scheduled with the commitment from the external source (client/vendor/others) that it will be made available in time to complete the sprint. It is the Scrum Master's job to follow this up and get it. Your role as the developer is to plan your work and report in the Scrum standup well in advance that you need the external deliverable by a given day in order to complete your work. If it is not received, then escalate it by reporting it as an impediment to accomplishing the sprint goal.

What should we do when external tasks blow their estimates (e.g. #3 above was only supposed to take them 2 days, but ends up taking them a week)? What are our options?

How long it takes them is not your concern at all. But, when it is delivered is. Discuss it in the retrospective and brainstorm ways to avoid external dependencies from disrupting your sprint.

Also, you should estimate story points only for the stories, not the subtasks. You should estimate subtasks in hours to help team planning.

1
  • Thank you for your answer! As to your comment re: Story points - that's just becoming a misnomer we use, where 1 Story Point = 8 hours. I see your point though.
    – Cody S
    Jul 6, 2015 at 18:23
5

Some possible approaches (in order of preference):

  1. Bring the external third party into the team. This works particularly well if the third part has people who are dedicated to your work. Include them in stand-ups and other Scrum ceremonies.

  2. Only bring stories into the sprint that have the external dependencies already resolved. In other words they are 'ready' for the team.

  3. Bring stories with external dependencies into the sprint, but only start working on them once the external dependency has been resolved and have alternative stories ready as replacements. This is not ideal, but can be made to work.

Only with the first approach would the team estimate on the work done by the third party (as the work is now wholly within the development team).

Remember that there are only three roles in Scrum: The Product Owner, the Scrum Master and the Development Team. This is what the Scrum Guide says about the Development Team:

Cross-functional teams have all competencies needed to accomplish the work without depending on others not part of the team

This is why the first option is preferred as it is closer to the desired Scrum way of working.

2
  • Could not have answered this any different. Great suggestions. Jul 3, 2015 at 15:32
  • Thank you for your answer, it was very informative. If I could have selected 2 correct answers, I would have selected this one as well. Alas, you'll have to settle for a +1
    – Cody S
    Jul 6, 2015 at 18:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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