The TMD Agile Product and Sprint Backlogs
There are two Agile Methodology repositories that manage the task items required for successful development: The Agile Product Backlog and the Sprint Backlog.
They are similar in nature but very different in their Agile Methodology purpose.
The TMD Agile User Story Process
The Business Team creates User Stories with Acceptance Criteria defined by the Agile Story Points format.
The Product Owner places the User Stories in the Agile Product Backlog.
The Architect Team is notified of the New User Stories are available for Technology Behavior Driven Design (BDD) processing.
The Architect Team transforms the Business User Stories into BDD Feature Stories with mapping of the Business User Stories Acceptance Criteria to BDD Development Scenarios.
The Acceptance Test Driven Development Technology User Stories, now defined as BDD Feature Stories, are placed in the Agile Product Backlog along with their “Parent User Stories”.
The Agile Product Backlog and the Sprint Backlog
The below chart defines the responsibility differences between the Agile Product Backlog and the Sprint Backlog:
Backlog Item |
Agile Product Backlog |
Sprint Backlog |
Level of Detail | Less detailed | Very detailed |
Estimation Units | Story Points | Hours |
Document Ownership | Product Owner | Sprint Team |
Revised | Weekly | Daily |
Duration Scope | Project | Sprint |
The TMD Agile Sprint Planning Process
The Sprint Planning Team meets on the Wednesday before the next Sprint Iteration receives the recommended Sprint Product Backlog items from the Product Owner.
These items are discussed by the Sprint Planning Team and the items are chosen based on the team’s belief that they can be developed successfully with the resources and information currently available.
Other Sprint Backlog items that are required but not on the Product Owners list are discussed for completion as well.
All of the selected Agile Product items and non-product Backlog items are moved to the Sprint Backlog and become the Sprint Development items.
The Sprint Planning Team transforms the selected Sprint Backlog items from Agile Story Point Format into Development Task Hours Format for Sprint iteration development by the Development Team.
The Agile Backlogs Roles and Responsibilities
What are the responsibilities of the various Agile team members regarding the Product and Sprint backlogs and what roles do they play?
Below are detailed answers to these questions.
What is the Agile Product Backlog?
The Agile Product Backlog consists of collections of items that add value to the Business Domain.
These items have been defined by the Business Team as Business User Stories with Acceptance Criteria.
The list below contains the most popular types of Agile Product Backlog items but anything that can be documented that could add value to the engagement is a candidate for a Backlog Item.
A List of Common Agile Backlog Items:
Business Team Application Features – Business User Stories with Acceptance Criteria that have been created and prioritized by the Business Team.
These Product Feature Requests are delivered to the Architect Team by the Product Owner after being added to the Agile Product Backlog.
Architecture Team Feature Scenarios – Business User Stories with Acceptance Criteria received by the Product Owner are transformed into Behavior Driven Design (BDD) Development Feature Stories with Acceptance Criteria Scenarios for Domain Model development during an upcoming Sprint iteration.
They are a Technology representation of their “Parent User Story”.
New Product Features – The Business Team request for a new application feature.
There is really very little difference between a Business Team Application Feature and a New Feature.
The main distinction is that a New Feature may have a relationship to a developed and delivered Application Feature that is already deployed to Production.
This relationship must be known as the New Feature may have Responsibilities and Dependencies on the existing feature.
Production Bugs – Application issues that are reported after an application has been deployed to production are “Bug Fixes”.
These issues are primarily reported by the User community.
These Bug Fixes are referred to as Production Bugs.
In the eyes of the User Community there is very little difference between a New Feature and a Production Bug Fix.
These items are treated as New Features by the Product Owner and scheduled in an upcoming Sprint in the same fashion as any other Sprint task.
Production Bugs are processed the same as QA Bugs.
A separate QA Bug Tracking and Management System are generally employed to manage QA Analysts discovered issues that do not meet the QA Objectives defined by the Acceptance Criteria Test Suite by the QA Team.
Production Bugs sometimes are managed in this tool but it is not recommended as the paradigms of the two are quite different.
Technical Requested Work – These Backlog Items are assigned to the Network Infrastructure Team as support items for the engagement.
These items include Development Tools, Upgrades and Updates, Service packs, Operation System updates and New Applications.
They can also be required Performance Enhancements and New Application and Database Servers required for the development and management of the Agile Sprints.
Proof of Concept Technical Work – On User Stories were the Risk Factor of “x5” has been applied are added to the Backlog as “POC Work”.
These items require a Proof of Concept before they are available for a Sprint iteration.
Proof of Concept work requires that validation of the design concept is completed and the User Story Points are updated with the knowledge gained.
The updated Acceptance Criteria Scenarios are then treated as any other Backlog item for development.
Technical Debt Code – When it becomes necessary to “Borrow on the Technical Debt Credit Card” these items are placed in the Backlog for prominent discovery.
These items are not prioritized upon entry.
Technical Debt is a metaphor that is based on the financial concept of using credit cards to buy items that you cannot really afford to pay for with resources you have already earned.
In the course of Sprint development, when Technical Debt is discovered, and cannot be paid off at that time, add a Task Assignment to the Backlog as Technical Debt.
By “Running it up the Flagpole” you remove Technical Debt from the deep dark corners of development and bring it into the “Light of the Development Process”.
By creating a Sprint Development Task assignment process that assigns Sprint Tasks only to the Wednesday of the last iteration week you create a development environment that supports two days per developer to pay down the Technical Debt.
This process also creates headroom for a higher degree of Sprint Task completion success.
The Scrum Master, with the Product Owner, can assign the “Low Laying Fruit” of Technical Debt.
This creates a dynamic in the development community that supports Technical Debt, when required, and prevents the cost of Technical Debt from becoming out of control.
Research Knowledge Acquisition Projects – These items are entered for studies required for gaining Technology knowledge.
These studies support gaining knowledge on the latest Best Practices, Technologies and available new products that could support the current engagement.
These activities are prerequisites for Proof of Concept initiatives.
The Christmas List – These backlog items are “Would Be Nice to Have” development items.
These items are not prioritized upon entry.
The Christmas List items relative value can change at any time during the engagement.
These Backlog items act as reminders of ideas that more than likely surfaced during Technology or Business meetings discussion and were by the Product Owner for Backlog archiving.
The Backlog Archive – These backlog items are “Not Require Now” development items.
These items are not prioritized upon entry.
The Backlog Archive items are similar to the Christmas List items except they generally become prioritized sooner due to requirement changes within Business Cases.
Who sets the Agile Product Backlog item priorities?
The Product Owner enters the prioritized item into the Agile Backlog.
There are some Agile Backlog item types that are not prioritized upon entry.
The item types not prioritized are:
- Technical Debt Code
- Christmas List Items
- Archived Items
Who Manages the Agile Product Backlog?
All of the items need to be reviewed on a regular basis, generally weekly, and assessed for their current relevance for the engagement.
What is the Sprint Backlog?
The team determines which items they can successfully complete during the upcoming Sprint iteration.
The selected Agile Backlog items are moved from the Agile Product Backlog to the Sprint Backlog for development consideration.
The Sprint Planning team, generally the Scrum Master, Product Owner, the Architects and Designers along with the Development Leads detail each Product Backlog item into one or more Sprint backlog tasks so they can more effectively share development work during the new Sprint.
Generally the team begins at the top of the prioritized Sprint Backlog and selects the high-priority items they feel they can complete.
In practice, it’s not unusual to see a team select, for example, the select the top five items and then two low laying fruit items, from lower priorities on the list, that are related with the selected five.
This process creates a methodology that can improve the documented success of a completed Sprint by choosing items that have little risk of failure.
Who selects items from the Agile Backlog?
The Product Owner selects the items for upcoming Sprint.
The selected items are delivered to the Sprint Planning meeting for consideration in the upcoming Sprint.
Who selects items for the Sprint Backlog?
The Sprint Planning team selects the items for upcoming Sprint from the delivered Agile Backlog items delivered by the Product Owner.
The selected items are delivered to the Sprint Planning meeting for consideration in the upcoming Sprint.
The Sprint task assignment process determines which items, delivered by the Product Owner, can be successfully completed.
Estimates the development time of each selected item is completed and a Developer is assigned.
The estimated tasks are accepted and signed off on by the assigned Developers for the upcoming Sprint iteration activities.
Who manages the Sprint Backlog?
The Agile Backlog items are moved to the Sprint Backlog during the Sprint Planning session of an upcoming Sprint.
The Scrum Master owns the Sprint items with the Product Owner.
The Architect Team is responsible for the Designs and assignments of the selected items for Sprint development.
The Scrum Master, with the Product Owner, is responsible for returning an item to the Agile Backlog in the case of a Block due to insignificant knowledge about a particular Backlog item.
These items should be addressed at the next Sprint Planning session and placed back into development if the block can be resolved.
In Conclusion
The TMD Backlog Management Process is just one way of managing the complexities of software Sprint development.
It is not the only way.
Each engagement must customize this process to their culture and development environment.
All of the issues, items and processes in this post are important for ensuring a successful Agile Methodology implementation.
How you implement these concepts
will define your success percentage
for your engagement
Wisdom Pearl # 122 – Open Your Mind to Possibilities
There are Generally a Hundred Ways to Accomplish some Task
… But Only a Handful of Good Ways
…… Have an Open Mind to other Possibilities
Latest posts by Brad Huett (see all)
- DevOps: A Bridge to Your DevOps Culture - March 25, 2016
- Embracing Test Driven Development (TDD) - March 25, 2016
- DevOps: Delivering Agile Projects - March 25, 2016