Let's define our user stories and features:
Feature | Story | |||
Functionality 1 |
Functionality 2 |
Functionality 3 |
Functionality 4 |
|
List products | As a registered or unregistered customer, when you visit the home page it should show a list of products. | As a registered or unregistered customer in the product list page, when you click on a product it should show the product detail page. | ||
Search and filter products |
As a registered or unregistered customer, you should be able to filter the products as per categories. A product can be associated with multiple categories. So, when you select one or more categories and click on Filter, a filter should be applied until the page changes. | As a registered or unregistered customer, you should be able to filter the products by a price range. Here, there will be a minimum and maximum price and when you select a range this should be applied along with a category filter. | As a registered or unregistered customer, when you write some text in the search textbox, it should filter the product's description and name. | |
Show product details |
As a registered or unregistered customer, you should be able to bookmark each product, which should be displayed with a unique URL. | As a registered or unregistered customer, when you visit a product page, it should show you the product's name, photo, description and price. | ||
Shopping Cart |
As a registered or unregistered customer, you should be able to add or remove products to the shopping cart. | As a registered or unregistered customer, you should be able to utilize the checkout panel to view your current added items. | As a registered or unregistered customer, you should be able to go to checkout page by clicking on the checkout panel. | As a registered customer, you should be able to check out and confirm your cart to convert it to an order. |
Manage Orders |
As a registered customer, you should be able to view your order details. | |||
Login | As a registered customer, you should be able to log into the application. | |||
Logout | As a registered customer, you should be able to log out of the application. |
From the agile point of view, features and stories are not hierarchical. Features are more like tags to the user stories. Still, for simplicity and clarification, it is shown as hierarchical.