25

Playing with icescrum, I realised that I do not understand the difference between user stories and user features.

Can someone explain the difference?

BЈовић
  • 14,049

4 Answers4

25

A feature is a distinct element of functionality which can provide capabilities to the business.

A story is a small aspect of a feature which you can use to get feedback from your stakeholders and find out if you're doing anything wrong.

For instance, a feature might be "allow users to comment on articles". The stories associated with that feature might then be:

  • save comments
  • filter comments for rude words
  • limit comments to 400 characters and feed back to users
  • add captchas to stop bots spamming the site
  • allow users to log in via Google id

etc.

At each stage we can then get feedback as to whether the direction we're taking is useful.

Some teams don't bother splitting features into stories. That's OK.

Lunivore
  • 4,242
17

Features == User Stories.

The verbiage is dictated by the given Agile methodology being employed.

The different methodologies use different terminology to refer to features. It is up to the team to decide which methodology or terminology to use. Extreme Programming (XP) uses the terms User Stories or Stories to represent features; Scrum uses Product Backlog to describe a feature list; Feature-Driven Development uses Feature; and DSDM uses Requirement. Similarly, there are various lightweight versions of the Unified Process, or Agile UP, that use Requirement and/or Use Case to define incrementally deliverable functionality. Ultimately, the goal is the same - to deliver business value regularly in small increments, and sooner rather than later.

Aaron McIver
  • 3,262
7

A User Story is an informal statement in the language of the customer which captures the intent of something that the customer wishes to achieve. You can think of a User Story as an Informal Requirement Statement.

A Software Feature is a distinct characteristic of the software that contributes to the overall design and functionality of the software.

A couple of key considerations:

  • A Story may describe a Feature, but a feature never describes a Story.
  • A Story might not directly describe a Feature.
  • A Story may imply the inclusion of a number of Features.
  • A Feature - either singly or as a member of a collection of Features - may capture the intent of a Story.

With all of this in mind, I tend to think of Stories as descriptions. Basically informal requirements which tell me what the customer wants. Features on the other hand I tend to think of more as a specification which tells me how a system should work in order to meet the customers requirements.

S.Robins
  • 11,505
4

The two terms are closely related, but there are some differences.

First, they come from different domains. The term "feature" is a fairly general term for some part of the functionality of a software, whereas "user story" was invented for and is really only used in the context of agile software development.

In practice, they very often coincide, in that one user story consists of implementing a certain feature.

However, in some situations they can be different:

  • Often, a feature is too much work for a single user story. User stories should not be too big (generally not more than a few days, max 1-2 weeks of work). Obviously many features are much larger. In that case a feature will be implemented across many user stories. Some people use "epics" to group user stories together, in that case you could say that the feature is an epic.
  • Non-functional requirements (performance, security, compatibility etc.) can also be handled as user-stories (though this is not universally accepted). In that case the result of the user story would not normally be called a feature (unless you call "our application rarely crashes" a feature).
sleske
  • 10,280