1

I'd like to create a developer task collector where I'd put all issues that I see need some work but are not User Story related (e.g. fix some not visible quirks in startup animation, scan code with lint, enable EasyTracker in application, clean unused resources, etc.).

I don't know when we'll have time to work all those issues, maybe next Sprint we'll do one of them and two Sprints later we'll work one etc.

How to deal with it in Scrum/Sprint planning? Also should Product Owner decide what to do and when?

2
  • 1
    have you asked your internet-searchengine for "non functional requirements scrum"?
    – k3b
    Nov 19, 2014 at 9:33
  • Just create a mock user.
    – JeffO
    Nov 19, 2014 at 11:49

3 Answers 3

6

If you're talking about a single product/project and a single pool of developers, I would strongly recommend having just one product backlog with all the items you mentioned included in it. Having two backlogs will be an admin nightmare, and I'd imagine that you and the product owner will be fighting for resources to work on your respective backlogs.

If your user stories are expressed in terms of their business value, you should have no problems getting them planned into sprints. I am currently scrum master on a project with user stories like:

  • As a developer I want to rename tables and columns to reflect a recent change in business terminology so that it is easy for new developers to understand the system.
  • As a developer I want to implement improved logging of errors so that I can more easily diagnose problems reported to me.
  • As a sysadmin I want the spurious errors filling up the system's logs to be eliminated so that log noise doesn't prevent me from identifying problems.

If your product owner still refuses to include any of these in a sprint even when expressed in non-technical language and in terms of their business benefits, then perhaps you have the wrong product owner.

If you find yourself in that unhappy position but aren't able to change the product owner it might be useful to remind them that every system needs maintenance. I've also found describing the concept of technical debt, and how it always needs to be paid off at some point, a helpful analogy.

Lastly, you may find that some of those finer technical points which aren't currently being done should in fact be part of implementing the features your product owner wants. Building on some of your examples above, I would say that the user story to implement start-up animation wasn't properly completed if it has "quirks", whether visible or not. Likewise if you have standards for static code analysis metrics then a user story should only be considered done if the developer has used Lint to measure those metrics and proven that the code meets your standards. If these are generic standards they should be in your definition of done. If they are user-story-specific points then they can be conditions of acceptance on the user story.

1
  • Nice! I wish I could +2 for business value (and the examples), +1 for technical debt, and then +2 again for the definition of done (and the examples).
    – David
    Nov 20, 2014 at 14:49
0

This depends on the nature of your non-user-story-related tasks. Have you considered tracking impediments in your team.

In Scrum, an impediment is anything that keeps a team from being productive.

The tasks you mentioned could (partially) be considered impediments and you can work on a certain amount of impediments in a sprint. As for who decides what to do, in the case of impediments, it is really up to the team. They (should) know, where it hurts the most.

0

These issues constitute a "technical backlog" of your project, and what I tend to do is to track them in a manner similar to the main product backlog. In many cases this will mean adding them to your ticketing/bug-tracking system like you would a user story. However, they need to be clearly marked as belonging to the technical backlog rather than the product backlog - a separate space on the wall if you have a physical backlog with sticky notes, or a separate tracker if you're using software. Some applications also allow adding tags to issues, so you could use tags, or in extreme case, use a prefix like '[TECH]' in issue title.

However, do note that some tasks you consider technical, may actually represent user stories. Non-functional requirements such as performance or stability are sometimes quite important, so something like improving response times or increasing the system's stability by extending monitoring or better testing can be quite well "sold" as user stories. It is only important that you are open with your Product Owner about the expected results and costs of implementing these changes.

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.