User Story. The term user story was first coined by Alistair Cockburn in 1998 and adapted in the Agile framework by Mike Cohn in 2004. In a Project, a user story is a way of describing the features of the system, in an informal natural language that is understood by the layman. These are generally written from the angle of the end-user of the system. It may be written by different end-users of the system so that the entire user’s requirements are captured for all functions. The User Story has various templates such as the role, the capability, and the benefit or the 5Ws: who, when, what, why, where. These templates facilitate the making sense of a problem without the problem of undue structuring.
INVEST. The Acronym INVEST was first used by Bill Wake to define the characteristics of a good Product Backlog Item that is used in the User Story.
Independent. The User Story should be independent. By independence, we mean that the User Stories could be taken up for work in any sequence. By doing this each User Story could be prioritized independently of other User Stories. If the User Stories are dependent and a more valuable story follows an invaluable story, it would not be possible to prioritize the more valuable story above the invaluable story. User Stories may be combined to make them independent.
Negotiable. A User Story is used to begin a conversation and is not set in stone. The User Story gives the main essence of what is required. The final requirements are them worked out between the customer and the designer through negotiation and collaboration. The aim of the User Story is a starting point to understand the needs of the customer.
Valuable. If the User Story does not have sufficient value, it is not prioritized and not done. At times a User Story may not create value for the end-user, but would be some non-functional requirement that is necessary thus creating some value to the business process. The value/benefit clause in the User Story Template would indicate the value that the User Story is desiring to deliver.
Estimable. In order to prioritize the User Story, it is important to be able to accurately estimate its size in terms of resource requirements. At times User Stories that take a lot of time are given lower priority. In such cases, the User Story may be split into small parts to be able to estimate them more accurately and increase the priority. In case you are unable to estimate the User Story, it may be necessary to redefine the User Story. Stories that cannot be estimated, cannot be used as they cannot be made part of any iteration.
Small. User stories should generally take between a few person-days to a few person-weeks. In general, a single-story should not consume more than 50% of the time. It should be small enough to be done in a sprint.
Testable. In order to do a story, it has to be testable. To do this the story should have laid down and acceptance criteria for testing.
Challenging Guideline to follow. Even though each of the guidelines may pose its own challenges, the guidelines of an “Independent” and “Small” User Story could be contrary to each other. Smaller User Stories may have to be merged together to create an Independent User Story thus a balance between the two would be a challenge.
Conclusion. Firstly, successful implementation of the Agile framework requires a change in the organizational culture. Secondly, the more time spent on INVEST User Stories, the better will be your understanding of the user’s requirements which inevitably leads to cohesion amongst team members, and a shorter time to complete the project.
References
https://en.wikipedia.org/wiki/User_story
https://en.wikipedia.org/wiki/INVEST_(mnemonic)
https://agileforall.com/new-to-agile-invest-in-good-user-stories/
https://capgemini.github.io/agile/invest-in-user-stories/