Why User Stories?

Ever wonder why, when working in agile environment, we write stories instead of the requirement document?

The concept of stories came from extreme programming. Requirement documents were being used for a long time for conveying the requirements for a system development, but no matter how detailed they were, many times the end product turns out to be some thing different then what was written in the document, as the direct communication to understand the document was not happening and the development was being done based on the perception of the requirement. The best documents can use words and pictures to help recall conversations that took place while hashing out the requirements, but they don’t replace conversations.

Then came the concept of story. It is simple, write the requirement in form of user story, how user should be interacting with the system, in a few lines and talk to each other to understand the interaction and acceptance criteria etc. Since developers is talking to the person conveying the requirements – product owner or end users, it reduce the chances of miscommunication. User stories encourage collaboration between cross-functional teams, including developers, testers, product owners, and end users. Teams who have effective story conversations when defining, refining, and implementing the stories, they build shared understanding. The conversations are the necessary part of the stories. If we are not having conversation, they are not stories they are crapy documents and if we are not discussing about how can we maximize the value and impact with minimum output, they are not stories, they are only requirements.

User stories convey the “who”, “why” and “what” aspects, which are the essential details that the system developer needs to understand. The “who”,”why” and “what” information plays a vital role in determining “how” to fulfill the objective outlined in the “what” and whether it truly aligns with the “why” and who it is “build” for.

In general when we think about the stories, they are a way to connect people with each other. People connect with characters and situations in stories, making them a powerful tool for conveying feelings, empathy, and understanding. User stories help the developers connect with the users and have empathy for them. They are inspire developers to think of the ways best solve the user problem. User stories should not be very detailed or prescriptive add should leave the “how” part for the developers. It empowers the development teams to make decisions about how to implement the functionality while keeping the user’s needs in mind. This encourages creativity and innovation.

Tayyaba Sharif