INVEST in a New Perspective on Agile User Stories
If you’re familiar with agile software development, then it’s likely you are familiar with the “INVEST” mnemonic. INVEST criteria provide a systematic way of evaluating if your user stories are well-formed. Using some sort of ranking or sliding scale to quantitatively measure how well your stories adhere to these principles can be a useful exercise. Unfortunately, I’ve often found myself in sort of a rut when going through this process. Like all things scrum, I think it’s worthwhile to evaluate how we use these tools, and find ways to improve them if necessary. Today we are going to talk about two of the six INVEST principles, independence and value, and how they can be measured from a different perspective.
Independence and Value
At first, it seems like independence is one of the easier to judge qualities of a user story. When first learning the INVEST principles as a developer, This interpretation is common and an important consideration. But, it is centered around the needs of the developer and doesn’t tell the whole story. However, we should consider that user stories exist to serve both the team and the product owner. Therefore, we should include the views of the product owner and users as we determine the independence of a user story. For this purpose, I like to consider independence in combination with the next principle in our discussion: value. While evaluating a user story, I like to ask myself, “Is this user story independently valuable to the product owner / users?” Asking that question increases the likelihood of creating a potentially releasable product at the end of each iteration. If user story “A” doesn’t make much sense from a business perspective unless user story “B” is also complete, then failing to complete both user stories in an iteration reduces the likelihood of having a releasable product. Alternatively, if the user stories are independently valuable, then failing to complete one has less negative impact on the product’s iteration.
INVEST in questions
Like many concepts in scrum, this approach is no silver bullet. There will almost certainly be many scenarios where you have a story that is not as “independently valuable” as you would like it to be, but it is still a valid and needed user story. However, thinking about these criteria in relation to each other, as well as consciously considering the criteria from viewpoints other than your own can yield interesting results. Asking questions like, “Is this independently valuable?” or “How would the product owner test this story for acceptance?” might provide additional insight into your user stories. Maybe your stories aren’t valuable because they are too small, or maybe there aren’t clear enough acceptance criteria for your stories to be tested. Perhaps you’ll find that your stories are not vertically-sliced. Try asking yourself these types of questions when evaluating user stories, as it’s so easy to go through the motions and blurt out numbers when ranking stories based on INVEST criteria.