The Magic of User Stories in Agile Software Development

Anup MarwadiSoftwareLeave a Comment

“As a User, I want to search for Blog Articles on the blog from a quick Search Textbox on the top navigation so that I can get to the articles I want faster.

Given that I am logged in as a User, I should see a Search Text box prominently placed in the Top Navigation.

Upon entering Search Criteria, an auto-complete box should show me entries that match the text I entered. It should show me up to 10 results at a time continuously filtering my results as I type further.

When I find the entry I want, I should click on it and it should redirect me to the page that shows me the post I clicked on.”

User stories play an important part in building amazing Software Requirements. While User Stories are mostly built for Agile Software Development, we see tremendous benefits of using these in traditional software development methods as well.

We at HyperTrends have focused our attention to focusing on writing User Stories as opposed to lengthy requirements documents because we think it helps benefit both the Customers we are trying to service, as well as the developers working on these requests.

Eliminates the Language Barrier

We at HyperTrends strongly believe that User Stories resonate with Business as well as Developers.

Business Users can explain anticipated scenarios in plain English and do not have to learn the Developer’s jargon to accomplish tasks.

Developers on the other hand get clear scenarios to work on.

Narrow Focus Yields Better Outcomes

By not spending upfront time specifying requirements in lengthy business requirement documents, Businesses can focus on the task that needs to be accomplished in a given story. By narrowing down the focus to the story and nothing else, the developers also get to review the story in its entirety and deliver (in many cases overdeliver) on the given requirements.

Narrowing focus also helps test the product better by building more achievable Acceptance scenarios.

Better Decision Making

By building User stories, development velocity (i.e. number of stories finished) can be tracked on a near daily basis and business decisions and prioritization of features can be made based on the progress of the overall development team.

Instead of making big promises and awaiting weeks/months for results, Businesses can track progress as stories are accomplished thereby improving the communication between the business and the development team.

Build Better User Archetypes

Th whole premise behind user stories revolves around establishing personas/archetypes that use your product. The more you understand the persona using the product, the better your product.

By focusing User Stories on the actor of the story, we narrow down focus further.

Here are some examples of User Stories specific for different Archetypes:

Example 1:

  • As a guest, I should be able to book flights on the site.
  • As a ‘Frequent Flyer’, I should be able to rebook a previously booked trip again by entering new dates.

Example 2:

  • As a User, I should be able to cancel the Reservation and pay a 10% penalty.
  • As a ‘Gold Star Member’, I should be able to cancel my reservation at no cost.

In the above 2 examples, we have developed User Archetypes viz a Frequent Flyer, or a Gold Star Member from a regular User.

As Developers, it is easier to understand these stories as well as build Tests and User Acceptance Tests.

Allows Building Better Test/Acceptance Criteria

Studies have shown that building smaller functions improve software reliability.
The same is true for products that revolve around specific stories.

By focusing on the success criteria on smaller stories, we can easily identify the conditions (both negative and positive) that satisfy the story. These stories form the Test criteria and eventually become the Acceptance criteria that will allow business to accept the story and incorporate the feature in the product.

Manageable Releases

As developers and businesses become attuned to Agile Development standards, release schedules become more manageable. Project planning becomes an iterative and collaborative process as opposed to an isolated process involving management imposing unrealistic constraints on engineering teams.

Homework/Recommended Reading

For those who want to earn some extra brownie points, here are some great resources to continue your learning path:

  1. Agile User Stories – A must watch video by Mike Cohn for all Agile beginners and enthusiasts alike.
  2. How to split up large Agile Stories? Here’s a PDF that will help.
  3. Now that you know a little bit about Agile, here are the 7 Deadly Sins of Project Management you should know about.

Would you consider Agile Development?

We have developed amazing large-scale applications using the Agile approach. With careful planning, we have repeatedly delivered highly functional products that our customers love.

Connect with Us

Leave a Reply

Your email address will not be published.