Prioritizing the Backlog

Complete Developer Podcast - A podcast by BJ Burns and Will Gant - Thursdays

Categories:

“Priority is a matter of imminence whereas need is a matter of prominence.” Your product backlog is the list of tasks, features, or items for your team to complete on a particular project or product. This could be on a new application you are building, one in which you are actively improving and adding new features, or even a maintenance backlog of tickets that need to be completed. You may have one large backlog for the entire organization or multiple backlogs, one for each product you support or are building. However your organization is set up you will need to know what items to work on next from your list. Prioritization allows you to place items in a ranked order in your backlog so you know which ones are the most important that you need to do next. There are several different systems for prioritization from flat out ranking (1, 2, 3…) to placing items in categories, to complex scoring systems. Choosing the right system for you and your team can be daunting, you want to make sure you are getting the best results so that you put your effort on the right tasks to suit your customer’s needs. Planning, refinement, and prioritization are not the most fun parts of being a developer. However they are crucial to being an effective one when it comes to working on larger projects for customers other than ourselves. When a backlog is well prioritized it is easy to step into a team and know what needs to be done next as well as where the project is headed. Understanding the process behind prioritization of a backlog gives insight into the workings of product owners and stakeholders. By knowing what they value, you as a developer can influence them to get the tasks that are important to you moved up in priority. Episode Breakdown Why prioritize What is prioritizing? An ideal product backlog is a list of all the product-related tasks that need to be completed. This includes only the tasks needed to be done to complete a project or product and nothing else. Unfortunately, in the real world product backlogs are rarely so well defined as to know exactly what needs to be done to complete a project. Project goals may shift, other products may come on the market, the customer may want something not originally discussed. Prioritization is a way of cutting the bloat from the backlog and helping a team focus on the important tasks. It involved identifying the important features to make the product work. On top of identifying and ranking the core features to get a product working, prioritization also identifies those features that may not be necessary but are desired by the customer. Benefits of prioritizing. Prioritizing helps the team understand what is important to the client. If the client isn’t involved in prioritizing the backlog then features that are not important or not needed may get built before those that are critical to the client’s success. It also helps the team to see where a project is headed and know what to expect in upcoming sprints. When the backlog is not prioritized each sprint’s tasks are at the whim of the scrum master or product owner or worse, the lead developers. Prioritized backlogs allow the team to manage dependencies so that they are built in order and remove obstacles before they impede work. Time is saved in planning meetings because the next sprint is based on the top priorities, or filling in space based on the capacity of the team. Having a prioritized backlog means you know what stories will be coming next and if there is extra capacity in a sprint know which stories to pull into it. More likely there will be reduced capacity, knowing the importance of each story means you know which ones that you can remove from a sprint if the capacity is reduced. Pitfalls to avoid when prioritizing. The prioritization methods do not make sense to the t...

Visit the podcast's native language site