[almighty] tl;dr of msdn article on stack rank sparsification

Thomas Mäder tmader at redhat.com
Thu Nov 10 10:27:15 UTC 2016


tl;dr of 
https://blogs.msdn.microsoft.com/visualstudioalm/2014/05/14/behind-the-scenes-the-backlog-priority-or-stack-rank-field/ 
and comments. This is a bit of background on our "backlog ordering" 
discussions.

Please correct mistakes & omissions.

/Thomas


Background: TFS has a "stack rank" field to order the project backlog 
that used to be user-editable and stable. They changed that to use 
"sparsification" to create gaps in the ordering so they don't have to 
change large amounts of work items when reordering a single item (O(1) 
instead of O(#work items in backlog) in the worst case)

User complained about that for a couple of reasons.

They used manual stack rank assignment to move items over large 
distances or to specific places. For example moving an item from #200 to 
#15 by D&D requires scrolling, which sucks. Also, the user loses the 
position in the UI (#200). Commands like "move to top of backlog" help, 
but don't cover all cases ("move to #100"). Sparsification uses large 
ranges, making it hard to move things.

They used rank as priority. The "stack rank" must be different for every 
work item in the backlog. Users used the same values for stack rank when 
two work items had the same priority for them. You can argue that you 
should always have an opinion about which among two items is more 
important, but users chose to have a different opinion. Priority is also 
used to sort items into "classes" of importance.

Some people assigned meaning to the stack rank values: for example, 
"777" would have a specific meaning to the product owner. Sparsification 
would change those values and lose the meaning.

Team-local vs project-global stack rank. When reordering items on a team 
backlog, the items would get reordered on the global backlog in 
non-intuitive ways. A related issue is what happens when reordering 
items in a hierarchical view (think stories and child-tasks of them). 
Would task be reordered together with their stories?

Some people complained that anyone on the project could reorder the 
backlog. They wanted to restrict permissions to only some team members.




More information about the almighty-public mailing list