Story Splitting – Part 1
Story Splitting – Part 2
Story Splitting – Part 2
In previous post, we explored how a story can be split into
multiple stories using Business approach. In this blog post, we will be deep
diving in to Technology approach.
Technology approach
based story splitting is visualizing stories from technology perspective.
Path 1 (NFRs): A
story might have many NFRs ( non-functional requirements). Team may decide to
focus on few NFRS now while leaving remaining for future. A story might also
have many NFRs, team may decide to choose few and remaining for latter.
Thirdly, team may decide to relax stringent NFRs for now and will come back to
tighten them later. For example:
As a user,
I want to see login page within one second of
clicking submit button,
so it can login
faster.
In this story, you have rightly spotted that NFR is very
stringent which requires optimization across the board in the application.
You may split this story into multiple stories. Each
successive story tightening the NFRs in progressive fashion.
As a user,
I want to see login page within five second
of clicking submit button,
so it can login faster.
.
As a user,
I want to see login page within two second
of clicking submit button,
so it can login faster.
As a user,
I want to see login page within one second
of clicking submit button,
so it can login faster.
Path 2 (CRUD): A
story might be performing all four create, read, update and delete operations.
You can split this type of story into four or less stories focusing on a single
or more operation/s.
As an administrator,
I want to create, read, update, and delete
users of the application,
so I can manage app users.
This story can be split in four stories but for brevity,
here is split into three.
As an administrator,
I want to create app users,
so I can perform a part of user management.
As an administrator,
I want to see read and update app users,
so I can perform a part of user management.
As an administrator,
I want to delete app users,
so I can perform a part of user management.
Path 3 (Data Variation):
Depending on data source or variation in data coming into application, you can
split the story.
As an administrator,
I want to store data coming from facebook and
twitter to create prospects’ profile,
so I can keep my prospects profile up to date.
As an administrator,
I want to store data coming from facebook
to create prospects’ profile,
so I can keep my prospects profile up to
date.
As an administrator,
I want to store data coming from twitter to
create prospects’ profile,
so I can keep my prospects profile up to
date.
Path 4 (Horizontal
and Vertical split): Lot of tech people narrow down on layering of software
which results in horizontal slicing of software along the lines. The common
symptom of these type of story is “noting to demonstrate” by team for lot of
stories as UI is still not developed. This type of stories results in
technology silos. On the other hand, vertical stories cut through the
technologies and focus on functionality.
This technique is really is not for split but writing of
stories along the functionalities.
Path 5 (Test
Scenarios): If team is doing Story Test Driven Development (STDD), you can split the stories as per the tests.
As a customer,
I want to pay my purchases using a credit card,
so I enjoy my purchase.
This story might have tests on the basis of acceptance of
cards from following networks:
a. Visa Card
b. Master Card
c. American Express
Card
d. Discover Card
e. Capital One
f.
JCB
g. China UnionPay
h. RuPay
You may split above story as per the tests of mentioned
credit card networks.
Path 6 (Tech
Challenge): Some stories might be technically difficult to implement. You
may split this story along the challenges thrown by it. Some of the reasons of
this challenge might be lack of skill, new technology; problem in hand is
difficult, etc. Few challenging stories
might turn into spike as well.
As a marketing manager,
I want to find change in probability of
purchasing our product by targeted prospects after running a campaign,
so I can utilize marketing budget effectively.
During the analysis of above story team realized that data
about prospects is in Hadoop file system and one of the step in algorithm is
running Monte Carlo analysis. Team has never performed such kind of work
especially performing Monte Carlo analysis in Hadoop file system. To overcome
the technical challenge, team may decide to split above story into two stories
and one spike.
As a marketing manager,
I want to find change in probability of
purchasing our product by targeted prospects after running a campaign (exclude
Monte Carlo analysis from the algorithm),
so I can utilize marketing budget effectively.
Spike: Run Monte Carlo analysis in Hadoop
file system
As a marketing manager,
I want to find change in probability of
purchasing our product by targeted prospects after running a campaign (include
Monte Carlo analysis in the algorithm),
so I can utilize marketing budget
effectively.
Path 7 (Browser
Compatibility): In some cases you may find that one of the requirement of
your story is making it compatible to various browsers as well as various
version of same browser. You may split a story on the basis of different
browsers and/or versions of same browser.
Path 8 (Build vs. Buy):
In some cases you may find that within a story you might have to make a build
vs buy decision or help someone to make the decision. You may like to split the story on the lines
of build vs buy line.
In this post I discussed how to split a story keeping the
technological aspects in the fore front. In the next post I will be discussing
some miscellaneous cases of story split as well as some thumb rules.
No comments:
Post a Comment