What's the best way of writing user stories about "improve this metric" if I'm not sure how much improvement is possible?



  • Say you have a piece of software that you know can be improved on various quantifiable metrics (time to boot, CPU and memory usage, latency for various actions, accuracy of recognition tasks, etc.), but you don't know by how much - how would you write User Stories?

    Is it better to guesstimate an improvement? (ideally with the team) To just write "improve such-and-such metric", without specifying by how much?

    (Our organisation is new to Agile and we're trying out Scrum, and I've found we spend a bit too much time discussing these details and the meta topic of how to formulate them, so I'd like to know how others would cover this; we don't have specific formal requirements from our client on those, but know (from UX testing etc.) that those improvements are needed for a better user experience)



  • Performance improvements are often an exercise in cost-benefit trade-off. The executive who "just wants it to be faster" might find adding one server to boost speed by 50% an acceptable cost, but not two more servers for the next 20% boost. Also, there are usually many possible technical approaches to boost performance -- code refactoring, infrastructure changes, switching out components. So some degree of research and exploration is often required to discover the optimal solution for your current technical and business situation.

    I would suggest you start with a time-boxed spike to brainstorm, research and possibly experiment with some possible approaches. (Sometimes this can even reveal some no-brainer quick fixes.) Then report back to stakeholders about the options, each with rough estimates of cost (in time or money) and expected benefit. Then a decision can be made on which to implement. At that point, the stories can essentially be in the form "do option B." Make sure to benchmark the metric before and after to determine if the expected costs and benefits were on the mark. Then a decision can be made about whether to proceed with additional steps. 




Suggested Topics

  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2