Skip to content

The Art of Bug Advocacy

Author: Rahul Parwal

Last updated: October 1, 2024

bug advocacy
Table of Contents
Schedule

With the rapid growth of software development, faster release cycles, and the boom of software-based businesses, there is a greater need for high-quality software solutions. This quest for quality will only grow in the future. For all testing professionals, upskilling is a must. Bug Advocacy is a useful skill that can help you be highly effective and valuable.

I have condensed my thoughts on Bug Advocacy in this article. I will discuss bug advocacy using the 5W1H (What, Where, Who, Why, When, and How) approach.

 

What is Bug Advocacy?

 

what is bug advocacy?

From a learner’s perspective, Bug Advocacy is the persuasive art of advocating for bug fixes. However, for bug advocacy practitioners, this skill often extends beyond advocating for bug fixes. It also involves advocacy for:

  • Quality: Jerry Weinberg defines quality as value to someone. Bug advocacy involves emphasizing the potential value loss from bugs.
  • Customers: Different stakeholders often have different perceptions of value. An external customer may not appreciate what is valuable to an internal customer. Bug Advocacy involves looking at the issue from all perspectives.
  • Product Success: You can experience momentary success in certain situations. However, long-term product success comes from the rigor of engineering discipline, conscious decisions, and judgments. Advocacy will help you present information to allow your stakeholders to make well-informed decisions.

Now that you know what Bug Advocacy is, it is equally important to understand what it is NOT. There are a few things that are often misunderstood as Bug Advocacy:

  • Embarrassing programmers
  • Advocating for any random issue.
  • Showcasing a wrong picture to the stakeholders by misleading compelling stories.

“The best tester isn’t the one who finds the most bugs or embarrasses the most programmers. The best tester is the one who gets the most bugs fixed.”

Dr. Cem Kaner

 

Where to Use Bug Advocacy?

where to use bug advocacy?

Bug Advocacy skills can be used during verbal communication during triage calls or during Mention In Passings (MIPs). However, verbal communication is often limited to an audience who is present at that time.

As testers, one of the primary work products is the Bug/Issue Reports, which most testers use to build an influential report. In addition, using it for communication via email or chat can be helpful.

“If we want to be serious about quality, it is time to get tired of finding bugs and start preventing their happening in the first place.”

Alan Page

 

Who Uses Bug Advocacy?

who uses bug advocacy?

Often, Bug Advocacy is used by responsible testers whose main responsibility is testing. In addition, it can also assist supporting testers/developers with building good case studies around bugs that matter and influence decision-making.

“Testing is a skill. While this may come as a surprise to some people, it is a simple fact.”

Fewster and Graham

 

Why Do We Use Bug Advocacy?

why do we use bug advocacy?

Hopefully, you have already understood why bug advocacy is important. Here are some more reasons why you should consider learning this skill:

  • Get the RIGHT bugs fixed 
  • Overcome objections
  • Hedge against potential future loss
  • Promote quality consciousness
  • Prevent technical communication failure 
  • Building credibility
  • Enabling efficient decision-making

“The quality of your reports is probably the single most important factor determining your credibility as a tester.”

James Bach & Michael Bolton

 

When Do We Use Bug Advocacy?

when do we use bug advocacy?

Your Bug Advocacy Skills will be helpful throughout the Project Life Cycle. However, there are specific considerations based on the stage of your project that may help you be more effective as a tester.

  • Early to mid-stage of the project: Identifying different bugs in the early stages will give you an advantage when advocating. It is easy to advocate for the following areas at an early stage:
    • Design issues
    • UI / UX issues
    • Usability issues
    • Accessibility issues
    • Any other impacting issue
  • Late / End Stage of the project: This is the time to focus on major and critical bugs. Don’t wait to advocate such issue(s) in the final stages:
    • Design issues
    • Minor Low Impact issues

“Testers start thinking of themselves as ‘Quality Police.’ But, even if they were police, they are certainly NOT the Judges, Juries, or Legislators.”

James Bach

 

How Do We Use Bug Advocacy?

how do we use bug advocacy?

Once you understand the What, Where, Who, Why, and When, the most important question is HOW to start with Bug Advocacy?

I will list some of the top tips to help you get started with Bug Advocacy:

  • Add Information Beyond Test Results: You will always gain an edge by adding information that isn’t directly visible. Here are a few areas to look for such information:
    • Competitor Comparison: Everyone wants to perform better than their competitors. Are we aligned with the state-of-the-art?
    • Concerns of Stakeholders: Quality is valuable to someone. Look for the concerns of that someone!
    • Predicted Criticism: Are there some past incidents where similar issues have brought criticism?
    • Usability Weakness: Is it too hard to use? Will we lose out on potential customers because of this?
    • Expert Opinion: What do the experts and important authorities say about such issues?
    • Legal Issues: Can we end up in legal trouble that no one has considered?
    • Credible Sources: What do credible sources say about such issues?
    • Support Costs: Can this inflate our support/marketing costs?
  • Motivate the Programmer: Programmers are usually the first line of defense for any proposed bug fix. However, in certain cases, they would want to fix the bugs immediately:
    • The bug looks really “BAD.”
    • The bug will affect “LOTS” of people.
    • Getting to the bug is “TRIVIALLY” easy.
    • Bug “BREACHES” the contract or “EMBARRASSES” the Company.
  • Write Quality Technical Reports: The more you simplify, the better people will understand. Here are a few tips to help you write quality technical reports:
    • Write the summary/title clearly.
    • Have a clear and consistent tone.
    • Eliminate grammar/typo Issues; proofread once or twice.
    • Logically group your supporting arguments:
      • Impact
      • Risk
      • Support Costs, etc.
  • Research the Failure Conditions: Don’t rush into reporting the bug if you find a failure. In many cases, what you are experiencing might be a symptom of a larger problem. Here are some tips to help you with researching failures well:
    • Look beyond the symptoms.
    • Do follow-up work to prove that the issue is:
      • More severe than it appears
      • More general than it appears
    • Try to find other follow-up errors by varying:
      • Data
      • Behavior
      • Options & settings
      • Software & hardware environment
  • Conserve your state (& steps)

“While we may understand the problem, it is critical for us to change our thinking, our practices, and continuously evolve to stay ahead of the problems we face.”

Mike Lyles

For all our visual readers, I have summarized this entire article in the form of this mind map

I hope this article helped you learn more about bug advocacy and how to start with your bug advocacy journey. If you want to dive deep into this topic, I have also added a few references for you:

Happy Testing, happy advocating!

 

Rahul Parwal

Rahul Parwal is an expert in software testing. The recipient of the 2021 Jerry Weinberg Testing Excellence Award and Synapse QA’s Super Voice Award, Rahul has collaborated in testing IoT systems such as Unit, API, Web, and Mobile as Senior Software Engineer at ifm. Aside from holding webinars, conferences, and talks, he regularly shares on Twitter, LinkedIn, and his website.