One of the vital parts of any Agile or
Scrum project is the User Story. A user story represents a piece of product
functionality that needs to be built by the team. There was an article a few
weeks back about “How to Write a Good User Story”. One of the
questions new scrum teams have is about the relationship stories are supposed
to have. In an ideal world every user story is independent but in the real
world that's rarely the case. The purpose of this article is to help you
understand if you need a complicated Story Hierarchy for your backlog.
Story Hierarchy? What do I mean by that?
Let me give you an example. Let us say you
are building an online banking product. This product would have many major
functionalities like login, view statements & balances, fund transfers, pay
bills and so on. If you right a single user story for something like Fund
Transfers, your story is going to humongous and not to mention take multiple
iterations to finish. So, you would probably split Fund Transfers into multiple
smaller parts like – Transfer to own accounts, Transfer to 3rd
parties within the bank, Transfer to external parties. Now, transfer to
external parties isn’t a small story either. You might have multiple fund
transfer options like for ex: India has 2 inter-bank fund transfer options –
NEFT and RTGS. So, you may break down the transfer to external parties into
transfer by NEFT and transfer by RTGS.
Get the picture?
This is what I mean by Story Hierarchy.
Do We Need a Complicated Story Hierarchy?
Complicated Story Hierarchy – No.
Story Hierarchy – Yes.
You may be confused by my answer above. I
have said Yes for having a Story Hierarchy but have said No for a Complicated
Hierarchy. What exactly do I mean?
I mean that, firstly we shouldn't have too
many levels in the story hierarchy because too many levels introduces unwanted
complexity. Secondly, we should do-away with complex names for the different
levels. In one of my neighboring scrum projects, they had so many different
levels like – Feature à Super Epic à Epic à Headline à Story à Child Story and so on. Much of the teams time and effort goes into
segregating user stories into one of these named categories and trying to
cross-reference what comes from where.
If you ask me, I would prefer if we have at
most 3 levels: Feature -> Epic -> User Story. The product backlog could consist of multiple Features.
Each Feature could have multiple Epics and each Epic could be split into one or
more User Stories. This keeps things simple and much more manageable. Doesn't
it?
Does Having a Story Hierarchy have any Benefits?
Of course it does. Otherwise, why would I
say Yes in the first place?
Remember the article on Lead Product Owner
and hierarchical ownership of a Product? Categorizing Stories into hierarchy
kind of gives us more flexibility in terms of tracking progress. Both Scrum
Master and Product Owner can find out the % completion of the teams backlog on
not just an overall level but also at a Feature or Epic level.
Team could target one Epic or one Feature
at a time and finish them instead of working on user stories spanning across
multiple different Epics or Features.
Not to mention, stories being finished in a
single iteration instead of carrying over for 3 or 4.
What is your experience with Story
Hierarchies? Do share them in the comments section.
No comments:
Post a Comment