Agile: INVEST in User stories
Bhupesh Kumar Pandey
Project Manager, SAFe Certified PO/PM, SAFe Certified RTE, Certified Scrum Master
Agile: Building User stories using –“INVEST”.
User stories act as primary tool for the Agile methodologies. It provides all essential input to understand the concerns from different user perspective and taking a step to meet the requirements. The user story provides details about the user type, user expectations, reason and behind the expectation.
Let us have a glance at this small conversation between Mr. George, the Agile coach at XYZ inc. and Mr. Berg, a budding Scrum Master.
Berg:?Hey George, as you know, we were working on waterfall model before and now are building our new product in agile way.
The team is delivering what has been committed in the sprint, but still our customer is not happy.?Can you guide us to see what is wrong and how we can improve it.
George: Sure Berg, I am happy to help. Let us start with the basic element of the scrum. “User Story”.
A user story is a small piece of work, which provides some business value to the user, and can be delivered by team during a sprint.
Berg:?Yes, I know, the team takes the user stories and builds product increments accordingly. and each user story should have following format.
As a?<user>
I want?<functionality>
so that<value of the functionality>
E.g. For the following requirement: User needs a download of projects in an excel file.
User story could be something like this.
As a Planner and Reporting Responsible
I want that on click of Download button in the Project Planning screen, an excel with list of Projects (with following columns: Project ID, Project Name, Project created by Sales, Revenue, Profit/Loss, Start date, Completion date) should be downloaded to my desktop.
so that I filter them using excel filters and use Pivot and charts for KPI reporting.
Berg:?So simple, right? , What is so difficult about it?
When it is so simple then why our team is not delivering efficiently. Is there something missing in our user stories?
George:?Well, User story is the foundation of agile development, since it is the primary input to the team for agile development. It is not good enough if it does not follow?INVEST.
Berg:?What?? Invest?? Nooo! not again, don't start your investment jargon again!!
George:?Well, yes, for successful agile development, we must?INVEST?good user stories.?Let us see what is this invest for.
INVEST?here is an acronym for:
1. Independent:?The user stories should be as independent as possible.?i.e. it should be possible to work on the users’ stories in any order.?
领英推荐
Berg:?Why??
George : So that, you can truly prioritize each and every story.?If they are dependent on each other, it will not be possible to complete one high value story without implementing other much low value stories.
2. Negotiable:?A story is not a contract.?A story is an invitation to a conversation.?The story captures the essence of what is desired.?The actual result needs to be the result of collaborative negotiation between the involved parties, like Product Owner, Developer and Tester.
Berg:?Ok!
Why it is needed?
George:?So that, you can work in collaboration and provide real value to the customer.
The goal of team work is to meet customer needs, not just developing without putting the common sense of identifying if it is worth or not!
3. Valuable:?User stories should be valuable, i.e. it should clearly say, what exact value we are trying to deliver by completing the story!
Berg:?Why is this important?
George:?Everything we do in our life should have some purpose and should bring some value. We should not work on something just to waste our efforts without having any value. Similarly if a story does not bring any value (to customer), it should not be done.?When we know the value associated with the user stories, they can be prioritized accordingly in the backlog according to business value, so this should be obvious.?
4. Estimable:?You must always be able to estimate the size of a user story.
Berg: What size do you suggest?
George:?Smaller the better!
5. Small:?User stories should be as small as possible.?So that one can easily plan, prioritize & execute them with some certainty. And remember, don't do gold-plating, do only what is required for that user story and then stop.
This is why I tell you "Stop starting and start stopping (finishing)".
6. Testable:?The user story must provide the necessary information to make it possible to test.
Each story should be testable and to be ready to be integrated to the actual system.
Berg:?Ah!! I got your point; This sounds like a perfect strategy.
Thanks for this great knowledge sharing. Let us INVEST in User Stories.
George:?Just one more thing!?Don’t forget to add acceptance criterion to the user stories.
Berg:?What? Acceptance Criteria? What is it?
George:?I have to go now. Let’s discuss what, how and everything about “Acceptance Criteria” next week over the coffee!
Berg:?Yes, Sure, I owe you one for user stories.?
PMP | CSM
6 年Awesome read....user stories and INVEST are part of my operational dictionary too....thanks
Technical Success Manager
6 年Quite informative article sir. Helped in clearing some of my doubts
12+ years Experienced.Net Professional
6 年Informative article. Nice way of explaining ??