= Backlogs in Agilo =
[[PageOutline]]

A backlog is basically a prioritized list of tickets (e.g. user stories and tasks). There are different backlog types which can show different information.
The default installation pre-configures two different backlogs for you: The [agilo-help:scrum/SprintBacklog sprint backlog] and the [agilo-help:scrum/ProductBacklog product backlog].

The backlog sorting helps you to focus on the most important thing at any time because the most important thing is displayed at the top.


== Working with Backlogs ==

While there are different backlogs and therefore there are different actions you can perform on each backlog, there are some things all backlogs have in common.

The tickets in a backlog are sorted according to the criteria configured for  the backlog. If you changed the sorting criteria in the [agilo-help:admin/BacklogAdmin admin interface] or the  backlog is not sorted for some other reason, the [agilo-help:scrum/ScrumMaster Scrum Master] for [agilo-help:scrum/SprintBacklog Sprint Backlog] or the [agilo-help:scrum/ProductOwner Product Owner] for the [agilo-help:scrum/ProductBacklog Product Backlog] (or any other user with AGILO_BACKLOG_EDIT privileges) can push the '''Default Sorting''' button.
After that the tickets in the backlog will be sorted again using the configured criteria.

If the default sorting does not work (please note that you can change the default sorting settings in the [agilo-help:admin/BacklogAdmin admin page]), you can change the sorting using Drag and Drop. To do that place your cursor somewhere in the ticket's row until the cursor changes into the ''move cursor'' (an hand or a for direction star normally). Then just drag the row to the final position. After that you need to save that change by pushing the  '''Save Order & Changes''' button.

You can edit some ticket properties directly in the backlog page (without going to the ticket edit page of every ticket). After you changed the values, just push the '''Save Order & Changes''' button.

Sometimes you find useless or duplicate tickets. If you really want to get rid of these (and you don't like closing them as 'duplicate', 'invalid' or  something similar), click on the checkbox in the ticket's row and push the '''Delete Selected''' button. This will remove the selected tickets permanently from the database. There is no way to undo these changes therefore by default only the administrator is granted the permission (TICKET_DELETE) to do so.


== The Sprint Backlog ==

The sprint backlog is used by the team to collect and manage all the tasks planned to fulfill the sprint goal (see [agilo-help:scrum/SprintBacklog Sprint Backlog]). On top of the sprint backlog you can see the [agilo-help:scrum/BurndownChart Burndown Chart] which displays the team's capacity (available working hours), the ideal burndown (line from the initial commitment on the first day which will decrease proportionally with the capacity until it touches the x-axis at the last sprint day), the actual burndown (sum of all remaining hours or days for all tasks planned in this sprint) and the trend line which is a moving average over the last three days of the actual burndown.

The sprint backlog shows user stories and tasks. The type of every ticket (user story, task) and its status is shown by different font colors and backgrounds (please refer to the legend on the Backlog page for more details). 
The stories are sorted by priority and the tasks for a story by remaining time so that the most important story is on top. By default the sprint backlog displays some information for every ticket:
 * '''ID''' of the ticket
 * '''summary'''
 * the '''remaining time''' (in ideal hours or ideal days) for tasks and for total remaining time for stories (the sum of the remaining times for all tasks belonging to this story).
 * the '''owner'''
 * the '''resources''' (other team members which work together with the owner to complete this task)

The scrum master can edit the remaining time, the owner field and the resources field. If you enabled the [TracTickets#Assign-toasDrop-DownList restrict_owner option in trac.ini] the owner field will be a drop down list instead of a plain text field. Team members can edit the properties of their own tasks and tasks which don't have an owner yet. Be aware that in Agilo the list of owner available will be restricted to the team members of the team assigned to the sprint.

Because the sprint backlog is not configured as 'strict' (see the [agilo-help:admin/BacklogAdmin backlog admin guide] for more explanation on this topic), it may display tickets which are not explicitly planned for this sprint but are referenced by a ticket in this sprint. For example a story will be shown (regardless of its sprint value) if a task of this story is planned for this sprint.


= Calculate the User Story Points/Remaining Time ratio =

In Scrum it is normally not suggested to estimate everything from the beginning. You start with the highest prioritized User Stories, break them down into tasks and than you estimate these tasks.

The only problem is that the remaining time for this sprint is not accurate if there are missing tasks and the burndown chart may result not to be meaningful. Remember that all stories are estimated based on complexity and probably a high complexity will equal a big amount of work to do. Agilo makes use of the idea of ''User Story Points/Remaining Time ratio'' that can be calculated from some selected stories which are very well broken down and detailed. Agilo uses than the ration to calculate the ''estimated remaining time'' for all stories which don't have any tasks.

At the end of the [agilo-help:scrum/SprintPlanningMeeting Sprint Planning Meeting] the scrum master takes some well estimated stories by clicking in the checkbox for the stories he selected and pushes the 'Calculate Story Points/Time' button.
Then the ratio will be calculated based on the selected stories. Afterwards all stories will have an additional property ''estimated remaining time'' (this is a [agilo-help:admin/TypeAdmin#CalculatedProperties calculated property], won't be stored into the ticket, but computed at runtime).

When the remaining time for the sprint is calculated (e.g. for the burndown chart), the estimated remaining time will be used for all stories which do not have any tasks.


=== Confirm the initial commitment ===

At the end of the [agilo-help:scrum/SprintPlanningMeeting Sprint Planning Meeting] the scrum master clicks the 'Confirm Commitment' button. This will store the remaining time for the current sprint (initial commitment) and the estimated velocity (committed user story points) in the database for later process evaluation. The initial commitment in the database will not be changed even if you remove or add some tickets to this sprint later. 

The confirm button is only enabled on the first day of the sprint. Please note that you should calculate the User Story Points/Remaining Time ratio to get a better approximation of the commitment.


=== Removing tickets from the Sprint backlog ===

If the team decides (after talking to the [agilo-help:scrum/ProductOwner Product Owner]!) to remove some stories or tasks from the sprint, the [agilo-help:scrum/ScrumMaster Scrum Master] clicks in the checkbox for the tickets he/she wants to remove from the backlog and clicks on the 'Remove Selected' button. This will not delete the tickets permanently but just deletes the sprint property of the selected tickets.


== Product Backlog ==

The product backlog is used by the product owner to plan future development (see [agilo-help:scrum/ProductBacklog Product Backlog]). It contains all requirements and user stories which are not yet planned. A requirement is planned if there is a milestone set. Stories are considered as planned if they are assigned to a specific sprint.

Items in the product backlog are sorted first by business value so the most valuable requirements will appear at the top. The stories below the requirements are sorted by story priority (mandatory, linear, exciter) and (as a secondary criteria) by user story points.

By default the product owner can modify the [agilo-help:scrum/BusinessValue business value] of requirements and the story priority/story points in the backlog view so he can update the properties quickly when talking to other stakeholders.

You can not remove tickets (requirements/user stories) from the product backlog, the only way to do this is to delete them permanently from the database. Because the product owner it not responsible for the sprint planning, all buttons in the planning group are disabled too.


== Custom Backlogs ==

All backlogs (including the backlogs which are configured by default) can be configured to match your needs. You can add additional backlogs for specific  needs. To configure the backlog, you need to be TRAC_ADMIN (see the admin documentation for detailed information on how to configure backlogs).
