Nathan Vander Heyden - Canny Blog https://canny.io/blog/author/nathanvanderheyden/ How to build a more informed product Fri, 19 Apr 2024 21:30:51 +0000 en-US hourly 1 https://wordpress.org/?v=6.6.2 https://canny.io/blog/wp-content/uploads/2024/04/cropped-canny-avatar-rounded-32x32.png Nathan Vander Heyden - Canny Blog https://canny.io/blog/author/nathanvanderheyden/ 32 32 Bug vs feature: what’s the difference? (guide + examples) https://canny.io/blog/bug-vs-feature/ https://canny.io/blog/bug-vs-feature/#respond Thu, 14 Sep 2023 10:35:00 +0000 https://canny.io/blog/?p=4937 Understanding the difference between a bug and a feature can be tricky. Sometimes what starts as a bug report can turn into a great new feature. Here's how to spot the difference and get organized.

The post Bug vs feature: what’s the difference? (guide + examples) first appeared on Canny Blog.

The post Bug vs feature: what’s the difference? (guide + examples) appeared first on Canny Blog.

]]>
Understanding the difference between a bug and a feature can be tricky.

But sometimes what starts as a bug report can turn into a great new feature.

Identifying these feature opportunities can help product development and lead to smarter use of resources.

Not to mention they make your customers feel heard!

In this post, we will:

  • Explain the difference between a bug report and a feature request (it’s not as obvious as you might think!)
  • Show how to sort bugs to identify feature requests
  • Share how we at Marker.io use Canny to organize and prioritize these requests

Let’s dive in!

Bug vs feature: what’s the difference?

A bug is an unintended software error. A feature is an intended functionality.

Bugs disrupt the user experience and appear under specific conditions. Features should enhance the user experience.

And at first glance, it’s that simple.

But in real-world scenarios, the lines start to blur:

  1. Design decisions. What your users consider a bug (“Why can’t I do X?”) might actually be a conscious design decision from the product team.
  2. Undocumented features. Developers sometimes add minor product features that new users might perceive as bugs or glitches. This highlights the need for a solid changelog.
  3. User expectation ambiguity. Different users might interpret features differently. This leads to a gap between expectation and actual functionality.
  4. Unintended benefits. What starts as a bug can become a feature if users find value in the unintended behavior.

People who aren’t tech-savvy often label any undesired behavior as a “bug” – even if it’s just a feature they don’t understand. Testing the product with users first can help avoid this confusion.

So, while the terms “bug” and “feature” may sound simple, they can get confusing in practice.

Now, let’s look at how you can clear up these confusions.

How to turn a bug report into a feature request

Let’s look at a real-world example.

Marker.io, our tool, helps development teams collect website feedback from clients and colleagues. This includes bug reports with screenshots, annotations, technical metadata, and more.

A few months back, a customer contacted support. They said: “Hey, my client can’t see bugs that were already logged by our internal QA team. This leads to duplicate reports. What’s going on?”

But our tool is made this way on purpose. We wanted to keep it simple for guest reporters who aren’t tech experts, so they don’t get overwhelmed by lots of complicated bug reports.

Again — a conscious design decision, perceived as a bug!

So, we turned that bug report into a new feature request, in Canny, on behalf of the client.

This turned out to be something other customers wanted, and it gave us:

  • Insight into our customers’ pain points, which we can use when designing the new feature
  • Ideas for other use cases, explanations, and expectations from our end users

This kind of information is invaluable to us.

But there are a few challenges:

1. Figuring out the problem and rephrasing it as a feature request. “My client can’t see feedback from internal QA” – presented as a bug – really means “Allow guest reporters to see feedback from members”. In some cases, we need to discuss this further with the customer.

2. Grouping similar feature requests. Users describe your platform in various ways. This means customer support has to work hard to figure out what features are being asked for. They have to avoid duplicate requests and combine them into existing ones.

Want to easily manage feature requests? Try Canny’s feature request software for free. 

Case study: transforming bugs into features

Sometimes, features and enhancements can be perceived as bugs.

They can:

  • Create performance issues
  • Cause unwanted behavior (e.g., autoplaying videos…)
  • Introduce security flaws
  • Make the product more complicated from a user experience perspective

But with smart product design, you can also flip the script, and turn limitations into advantages.

That’s exactly what happened with Gmail.

They had a built-in delay of about five seconds when processing an email message.

Some might have viewed this as a performance issue or minor bug. But the Gmail team turned it into the “undo send” feature.

Now you can even customize how long you have to cancel an email, from five to thirty seconds.

If your product makes users wait for a bit, consider implementing a similar hack. You can get an easy win that elevates your product’s user experience.

This proves once again that sometimes the line between a bug and a feature is more about perspective and creativity than anything else.

Bug vs feature: how to prioritize

Managing a backlog full of customer issues while juggling a feedback board loaded with feature requests can be tough.

Some teams choose to “fix all bugs before working on new features”.

However, developers often find working on new features more exciting.

For a novice project manager, deciding what to prioritize can be tricky.

But there’s a simple solution to this issue. Despite their differences, bugs and features share one thing: missing functionality.

Simply put, “bug” or “feature”, as shown above, is just a label.

Yes, understanding the nature of each issue aids in task prioritization, but:

  • Can you confidently say that all your bug fixes are more crucial than new features?
  • …and are these new features truly going to affect your bottom-line more than this app-breaking bug?

(Extreme examples, but the point stands)

What brings the biggest value for the customer?

Whether it’s a bug or feature request — rearrange your bug tracker’s labels. For instance:

  • Paying (this bug/lack of feature is impacting paying customers)
  • Breaking/deal-breaker (we will lose customers due to this missing feature/bug)
  • and so on

With proper organization, the item with the highest customer value tops the list, whether it’s a bug or a feature request.

Another good way to gauge feature request value is with Canny’s upvote feature (and you can even sort by MRR impact!).

Remember these two points during this process:

  • Don’t assume that creating a new feature is quick. It often ends up introducing more bugs.
  • Your developers are likely to advocate for new features over bug fixes. Yes — working on a new feature is more fun than fixing bugs. No surprise there!

Maximizing product development: the bug vs. feature equation

Turns out that the difference between a “bug” and a “feature” is pretty nuanced.

Design choices and how customers see things can make a bug become a feature, or vice versa.

But the main principle stays the same: focus on customer value. Evaluate the impact of the bug or feature on the user experience, improve your product, and prioritize tasks effectively.

Nathan Vander Heyden

Nathan is Head of Content & SEO at Marker.io, a visual feedback tool to collect bug reports and feedback during website development.

All Posts

The post Bug vs feature: what’s the difference? (guide + examples) first appeared on Canny Blog.

The post Bug vs feature: what’s the difference? (guide + examples) appeared first on Canny Blog.

]]>
https://canny.io/blog/bug-vs-feature/feed/ 0