You are here

Jon Lebkowsky's picture

Agile Web Planning and Estimation with User Stories

User Story Structure

In website development, it's important to understand the perspective of the person who will be using the site.

Use Cases

An early way of establishing this perspective in software development was the use case. In planning software development, we would organize the universe of potential users according to their roles. Then we would define the interactions between a role and the system to achieve a goal - these were use cases.

“A use case is a written description of how users will perform tasks on your website.  It outlines, from a user’s point of view, a system’s behavior as it responds to a request. Each use case is represented as a sequence of simple steps, beginning with a user's goal and ending when that goal is fulfilled,” according to Usability.gov.

User Stories

More recently, web developers and consultants began writing user stories instead of use cases. These user stories define how users will interact with the site to achieve goals. It is very similar to the intent of use cases, but structurally it is slightly different.

User stories are much smaller than other website requirement artifacts such as use cases or scenarios.

A user story usually has this (or very similar) structure:
As a <role>, I want <goal/desire> so that <benefit>.

Here is an example...

  • As a customer, I want to  purchase monthly membership subscriptions online.
  • As a member, I want to pay for membership via credit cards.
  • As a member, I want to pay for membership via PayPal.
  • As a customer, I can change my membership level at any time.
  • As a member, I can request to have  membership automatically charged to my account every 30 days.

User Story Flow

Website Discovery Process

During the discovery process of web design and development, we often define the user stories for the site we will build. This is a way of defining the required functionality for the site. For each user story, we can determine a set of development tasks that will fulfill the requirement.

User stories are written by any of the stakeholders (the business owner or key staff members) in a web project because they are the domain experts. The stakeholders know their customers / users better than a web developer can. We typically gather the stakeholders in a collaborative discovery session to generate their user stories.

However, we don't always use this method to define requirements. It's not necessarily the best method (e.g. smaller web projects), but it can be very helpful for the larger, complex projects. This approach is especially useful for retaining a user-centric perspective.

Agile Estimation

To help estimate the effort required for a project, we can assign "story points" to user stories. Story points are a way to rate the relative effort of work in somewhat Fibonacci style format: 0, 0.5, 1, 2, 3, 5, 8. Rather than calculating the total hours, this abstract approach pushes the Polycot team to make those tough decisions about the level of difficulty the work requires.

Here is how we may rate an individual task associated with a user story:

  • 1 Point = I understand exactly what needs to be done and exactly how to do it.
  • 3 Points = I understand exactly what needs to be done, but I’m going to do some thinking or experimentation to figure out how to do it.
  • 5 Points = I mostly understand what needs to be done. I kind of understand how I would do it.

This is a more agile approach to estimation, and it allows us to provide better estimates for your web project. Throughout the the project timeline, our project managers meet with the engineering team to get updates on estimates for new or revised user stories. Our clients can access this information in real-time through our shared portal. We do this because transparency and open communication are key to the success of each project.

Summary

User stories are a widely accepted tool for understanding the perspective of each person who visits your website. Each user story is created by the person’s role, goal, and the benefit or outcome. These are created with the key stakeholders of the company during a discovery process meeting with the Polycot Associates team. One of the big advantages of user stories is the use of story points to create a more agile estimation of both cost and time.