Backlog is a typical expression used in Scrum. A Backlog is nothing more than a prioritized list of items. In Scrum there are two main Backlogs:

  • Product Backlog: Is the list of prioritized features that need to be implemented into the product. The prioritization of these features is generically done by Business Value, that is the importance to the company customers/clients. In Agilo for Scrum the Business Value? is schematized into the relative estimated business value of a feature compared to another one, and represented as Business Value Points. These points are associated to a Requirement?.
  • Sprint Backlog: Is the list of prioritized Task?s that a team sets down in order to implement, test, document and integrate a set of chosen features into a Product, and make it potentially shippable at the end of each Sprint? (iteration). The Sprint Backlog lasts for the duration of a Sprint?, in case some Task?s will be left to complete, the team with the Product Owner? will have to decide if bringing it into the next iteration or not.

In some cases a team may want to create a Bug Backlog, a Team Backlog or whatever else, and is not an uncommon practice for a Scrum Master? to setup an Impediment Backlog to track Impediment?s and their resolutions.

Development of a Backlog in Agilo for Scrum

It seems reasonable to think about implementing a generic Backlog object that can manage a list of AgiloTicket and filter and sort according to specific properties. Given the fact that most of the driver used for prioritization are not unique, it may often happen that sorting for one of these properties will not return deterministic results (in the meaning that many ticket can be clustered around a specific value, and in the cluster there will be no defined order). According to the concept of the Backlog though, the order in which items are laid down matters, therefore the Backlog should keep track of the position of each item in it.

A user of a Backlog, may decide to move the items into it, and change the order, because the order is a characteristic of the Backlog, should be persisted with the Backlog, and be restored at every new instantiation of the same Backlog.

The idea to create a generic Backlog is to allow every instance of an Agilo for Scrum project, to be able to configure any number of Backlog, providing by default already configured the two main Backlogs (Product Backlog, Sprint Backlog). A Backlog may be referred to a Specific Sprint? (like the Sprint Backlog), or also be a timeless Backlog (like the Product Backlog that lists all the features that have not been assigned to any Sprint?).

Given this fact, it will be needed to have the possibility to specify if a Backlog as a Sprint, or not, in both cases the Backlog will allow one or more related (for example Requirement?s and Storie?s if linked to one another) types of AgiloTicket.

It is reasonable to think about allowing a TRAC_ADMIN to create a new Backlog via Admin interface, and building a generic visualization of a Backlog that allows:

1) To add new item to the Backlog, of the allowed type (this should be specified during the Backlog creation, and the Backlog should store the information) 2) To remove items from the Backlog 3) To move the items from one position to another 4) To save the Backlog status

Every new AgiloTicket, matching a Backlog will appear at the end of the listed ones, and according to the driver for default sorting (the Product Backlog has the Business Value as a driver). When the Backlog is saved the position of the new items is persisted, even if the user didn't change anything.

As exciting feature, there may be the following:

  • Allowing full web 2.0 (with full compatibility with non javascript enabled browsers) editing, drag & drop for resorting, and inline creation of new items
  • Alerting the user in case he is moving an item in a position which doesn't belong to its current driver based ranking (for example raise a warning if a Product Owner? will move a Requirement? with 3000 Business Value? Points below the 3000 cluster, in between items of lower value)

Ideas about improving backlog functionality

Sibby: Here are some ideas about new features for backlogs:

  • As a user I want to drag & drop the whole hierarchy tree of a ticket. Example: As a Developer, if I drag a User Story in the Sprint Backlog, the related Tasks should follow.
  • As a user I want to set the same property of several tickets in the backlog with a single bulk operation. Example: As a Product Owner I want to select several User Stories and set their priority/business value/... with one operation.
  • As a user I want new tickets that are related to a parent ticket to appear directly under the parent. Yet every new ticket shows at the end of the backlog by default. Example: As a Developer I want to see immediately which tasks belong to which story.
  • As a user I want to see at a glance which tickets are not related to a parent ticket. Yet unrelated tickets are just appended to the end without any boundary. They appear as related to the last parent. Example: As a Developer I want to see at a glance whether Tasks relate to the User Story displayed above or not (at least after auto sort). Maybe it is a good idea to introduce separator lines for this purpose.
Last modified 12 years ago Last modified on 12/11/2008 06:45:12 PM

1.3.15 © 2008-2016 Agilo Software all rights reserved (this page was served in: 0.121565 sec.)