English 中文(简体)
What is the difference between a User Story and a Feature in Agile terminology? [closed]
原标题:
Closed. This question is off-topic. It is not currently accepting answers.

Want to improve this question? Update the question so it s on-topic for Stack Overflow.

Closed 10 years ago.

I guess a feature could be something like "credit card authorization", while a user story may be "authorize credit card for paypal".

So, is a user story a subset of a feature?

最佳回答

Yes, something like a subset. This article is a good read:
Features vs Stories

Excerpt:

I realized today that I hadn t made explicit the difference in my mind between features and stories and it s an important difference. Essentially, a feature is a group of stories that are related and deliver a package of functionality that end users would generally expect to get all at once. For instance, inline table resizing is a feature (note: this is the ability to drag to resize tables, rows and columns – try it in Word). In the first pass, you d probably have a single story for inline resizing of tables, but it would be too big to estimate. So you break it down into three stories, resize columns, resize rows and resize the table itself.

问题回答

According to Kent Beck and Martin Fowler stories and features are synonyms:

A user story is a chunk of functionality (some people use the word feature) that is of value to the customer.

What you call a feature is usually referred to as theme or epic. Themes and epics are used to group user stories to bigger feature sets, that make sense on their own.

From a more semantic point of view: feature is a part of the system you are trying to build, user story is a way to describe that part.


Correction:

As Pascal has pointed out - I maybe missed the real meaning of "feature" in that citation ("feature" obviously refers to functionality) Apart of this, I still think that one can use these words (feature and user story) as synonyms in a lot of contexts ("I m working on this story" vs. "I m working on this feature"), since, as Pascal said, a user story is a way to capture a feature. Which means there is a 1:1 relationship between those two. And, as can be seen from my remark about the semantics, this is how I really understand it.

Not at all..

A user story represents small parts of business value. So it is really difficult to say when an user story is a subset of a feature or a feature is a subset of a user story (also keep in mind that the user stories are usually written by the stakeholders, which tend not to know exactly what they want ... :) )

So, if you follow the recommendation of agile to keep the stories short you would fall on the "best" scenario that is the user story being a subset of the feature.

However if your stakeholder write long stories, each story would have a couple of features ( if there is a good communication between the team and the stakeholders this won t happen since the team will break the stories into small ones)

Features are what a system is doing. User stories are just one way amongst others to capture features.

I just came across this topic when i was searching for different ideas on "using multiple roles for similar requirements".

I think that, a feature as a container for related stories helps in prioritizing the requirements because stakeholders usually tell their needs as dependent stories. In a recent project, the customer told me as follows

A member can send messages to the admin Admin can send messages to all members Members can send messages to each other

When i see these requirements, i know that, we should implement a system to enable people to send a message and we should add checks to allow whom to do what.

And also i know that these requirements may have some other implicit requirements such as reading the messages that came, arranging them , may be setting as spam and etc.

So i try to rephrase these requirements as

As a member or admin, i can send messages to other people. As a member or admin, i can read messages that were sent to me.

And as the acceptance criteria, i state in detail who can send to who.

Then i call all these things as "Private Messaging" feature, so that, at some time later, if the client decides that it is an extra cost, he can say "Just drop the private messaging thing" and i can remove all of them from the backlog.





相关问题
Kanban/Scrum Boards [closed]

I m curious as to what other people use for physical Kanban/Scrum boards in their companies. I appreciate that because of sensitive business information you may not be able to provide a photo of the ...

How do you estimate an agile project up front? [closed]

When working on fixed price software development projects, I frequently find myself having to estimate the total number of hours a project will take after the price is set, but before the work is ...

How would you use AGILE here? [closed]

I am a big proponent of agile, but a friend of mine (who doesn t know agile yet - hes a managerial type ^^) asked me how I would go about planning and developing a complex distributed project, with a ...

What is Object-Oriented Methodology? [closed]

I have been looking at different programming methodologies: Scrum, waterfall, spiral but someone told about one called Object-Oriented. Now as far as I know that s a paradigm and not a methodology. ...

Scrum and Project estimated time [closed]

IF the client asks me for a estimated time for completion for the whole project can this be given using Scrum? Using for instance the (dreaded) waterfall methodology I will have a technical spec to ...

热门标签