Dealing with Technical Issues in Scrum

Apr 3rd 2023 (updated Apr 3rd 2023)

agilescrum

In Scrum, how should the Product Owner deal with technical issues that have been identified? We'll explore the answer to this question and provide insight into how the Product Owner should deal with such issues, including impromptu technical priorities deemed urgent.

What are Technical Issues?

"Technical Issues" and "Technical Priorities" are not Scrum defined terms, but for the purposes of discussion, technical issues are items that are driven from a technical perspective and are generally not items that represent work for a requirement from business stakeholders (such as the customer).

Sometimes a technical issue would be identified as important and/or urgent, making them a "technical priority".

Examples of typical "Technical Priority",

  • A security vulnerability
  • A system issue that risks breaching legal or contractual requirements
  • A critical bug (e.g. that prevents the system performing its core purpose)
  • System stability failings or outages

Examples of other "Technical Issues":

  • General software updates (system, software dependencies, etc)
  • Improving CI/CD system
  • Repaying of legacy technical debt - dealing with the cost of not dealing with technical issues
  • A technical action from a Sprint Retrospective (e.g. where the developers identify a troublesome area of code that needs dealing with)
  • Improving performance of the software

For clarity, technical issues, in this context, don't mean the technical work completed in order to deliver a Product Backlog Item.

Are Technical Issues for the Product Owner?

If "technical issues" are not from the main business stakeholders then why should the Product Owner care about them?

According to the 2020 Scrum Guide, the Product Owner is "accountable" for "Ordering Product Backlog items", however it also states that:

The Scrum Team is responsible for all product-related activities from stakeholder collaboration, verification, maintenance, operation, experimentation, research and development, and anything else that might be required.

Since prioritising backlog items is a product related activity then although the Product Owner is "accountable" for prioritising the product backlog, the Development Team is also responsible for it.

In addition to this, the Scrum guide also states that:

"The Product Owner is accountable for maximizing the value of the product resulting from the work of the Scrum Team.".

Since technical issues affect the value of the product, the Product Owner must take them seriously and work with the Development Team to address them appropriately.

If the Product Owner doesn't take technical issues seriously or isn't considering the Development Team's input, they risk preventing the Development Team from executing their responsibilities in delivering high-quality work and reducing the value of the product.

Technical Issues and the Product Backlog?

If the Product Owner has already planned out the Product Backlog order based on business priorities, then there's no room for any technical issues that the are subsequently discovered or identified?

The Scrum guide states that:

The Product Backlog is an emergent, ordered list of what is needed to improve the product. It is the single source of work undertaken by the Scrum Team.

As technical issues come under things that are "needed to improve the product" they should be included in the Product Backlog. When it comes to order, the Product Owner should work with the Development Team and other technical stakeholders to establish the priority of the issue. For instance, if an urgent security issues had been identified then this will likely go close to the top of the backlog.

The Product Owner should not be approaching the team with a fixed Product Backlog that is purely based on the input of other stakeholders, but should be changing it to consider and include technical issues that are identified. The Development Team are the ones that have the expertise relevant to understand the technical issues so it is essential that the Product Owner works closely with them when determining the order of product backlog items.

Conclusion

The Product Owner is responsible for optimizing the value of the work that the Development Team performs, including technical work. This means that the Product Owner must take technical issues seriously, collaborate closely with the Development Team, and respect their expertise and input.

Ultimately, f the Development Team says that a backlog item is important and/or urgent, the Product Owner should listen and react appropriately such as by adjusting the Product Backlog to reflect the feedback.


References


This article was written with assistance from ChatGPT.