My FeedDiscussionsHeadless CMS
New
Sign in
Log inSign up
Learn more about Hashnode Headless CMSHashnode Headless CMS
Collaborate seamlessly with Hashnode Headless CMS for Enterprise.
Upgrade ✨Learn more
User Stories - The practical way 📝 📈

User Stories - The practical way 📝 📈

Daniel Deutsch's photo
Daniel Deutsch
·Mar 25, 2017

User stories are the connection between users and developers. They close the gap between human understanding and engineering. There are many articles on how to write User Stories, but none of them gave a useable practical guide. Therefore, I try to create my own.

📄 Table of contents

"Art is the elimination of the unnecessary." ― Pablo Picasso

1. What is a User Story?

In short, User Stories are a description of the software functionality from the perspective of a user. In the past User Stories were simple notes written on small cards. Today most people use software with different types of issue system, but the concept remains:

Use small units of tasks and group them in you project.

User Stories consist of acceptance criteria, which are even smaller tasks that can be checked off by the developers.

Yodiz provided an excellent list in their article, that these criteria should contain:

Negative scenarios of the functionality.

The impact of a user story to other features.

UX concerns

Functional and non-functional use cases

Performance concerns and guidelines

What system/feature intend to do

System of feature doesn't do anything, isn't supposed to do

End-to-end user flow

2. Where is it useful?

User Stories are used in an agile project management environment. cPRIME defines it as:

Agile software development refers to a group of software development methodologies based on iterative development, where requirements and solutions evolve through collaboration between self-organizing cross-functional teams. Agile methods or Agile processes generally promote a disciplined project management process that encourages frequent inspection and adaptation, a leadership philosophy that encourages teamwork, self-organization and accountability, a set of engineering best practices intended to allow for rapid delivery of high-quality software, and a business approach that aligns development with customer needs and company goals.

Yodiz's article provides a perfect introduction. They break down an agile scrum process into 12 steps:

  • Step 1,2 - User Stories and their evaluation
  • Step 3,4 - Story prioritization in the backlog
  • Step 5 - Set time frame
  • Step 6,7 - Sprint planning and task creation
  • Step 8,9,10,11,12 - Sprint iteration (cycle of sprint output and reviews)

3. How do I write a good User Story

More People

For writing a good User Story it is an necessity for the writer to see things from the perspective of a actual user. This can be hard when you have already been working on the project and even wrote some code yourself.

Try to get many different people to write User Stories, since each has a different view on the functionality aspect. The more input you have the better your project will be covered and in the end provide a result in the first result that is capable to fit a broad audience.

Keep it simple and stupid (KISS)

Depending from which field you're coming, you tend to use jargon. That can lead to misunderstanding and slows down the processes of the project. The goal is to use as simple language as possible. Depending on the context language is interpreted differently. Be sure to stay neutral and to the point.

The component approach that is used in programming, can be used in this context as well. Try to write the User Story as small as possible. User Stories already fit in the bigger project management context - let them be small. They can be used like a checklist for the development team.

https://unsplash.com/photos/xjSkI_seiZY

4. How all comes together

User Stories are the smallest units that are checked off in a certain timeframe (sprint). The result should be small software components, which can be delivered to the customer.

Epics contain more User Stories and are completed over more sprints. Epics not only contain a small software component, but a collection of components that unify into a software feature.

Versions contain multiple epics and represent a shippable product for the customer.

Conclusion

As we can see, User Stories are a great and necessary tool in a very commonly used project management pattern. The User Story itself is the connection between the human perception the technical implementation. It is the small brick, that is used with other bricks to build a great wall. 🔨

Please leave comments, feedback and suggestions as I am always trying to improve.
Share your thoughts - it's never been easier 😄