The Difference Between a Bug and a New Feature

The Difference Between a Bug and a New Feature

One of the most common points of friction in client relationships is the question of whether something is a bug (no charge) or a new feature (chargeable). This article clarifies the distinction.

What Is a Bug?

A bug is behaviour that differs from the agreed specification or acceptance criteria. Examples:

  • A button does nothing when clicked, but the spec says it should submit a form
  • A report shows incorrect data because of a calculation error in our code
  • The system crashes when a user performs a specific action
  • A feature works correctly on desktop but not on mobile, and the spec required mobile support

What Is a New Feature (or Change Request)?

A new feature is something that was not in the original specification — even if you feel it should have been, or you assumed it was included. Examples:

  • "Can we add an export to CSV button?" (not in the original spec)
  • "The form works, but can we add validation to prevent duplicate entries?" (not specified)
  • "The dashboard shows sales data, but can we add a comparison with last year?" (new requirement)
  • "The mobile version works but can it look more like the desktop?" (design change beyond spec)

The Key Test

Ask: "Is this in the agreed specification or acceptance criteria?" If yes — it is a bug. If no — it is a change request.

When It Is Unclear

Your Project Manager will assess ambiguous cases. We apply a "reasonable expectations" standard — if a user would reasonably expect the system to behave a certain way and we did not explicitly exclude it, we will discuss and often treat it as a bug. We will always be transparent about our reasoning.

Did you find this article useful?