Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Neil Killick, 2019, All Rights Reserved
neil_killick neilkillick.com
Beyond I-N-V-E-S-T
How to use Story Slicing to improv...
Neil Killick, 2019, All Rights Reserved
neil_killick neilkillick.com
What you will learn tonight
⍟ What is a user story, a...
Neil Killick, 2019, All Rights Reserved
neil_killick neilkillick.com
The story a user or potential user of your product
or...
Neil Killick, 2019, All Rights Reserved
neil_killick neilkillick.com
Which is these is a valid story by the definition I
j...
Neil Killick, 2019, All Rights Reserved
neil_killick neilkillick.com
• “Add friends” is a feature which Facebook built to ...
Neil Killick, 2019, All Rights Reserved
neil_killick neilkillick.com
I-N-V-E-S-T is an excellent,
useful model for user st...
Neil Killick, 2019, All Rights Reserved
neil_killick neilkillick.com
Estimable
Small
Testable
Independent
Negotiable
Valua...
Neil Killick, 2019, All Rights Reserved
neil_killick neilkillick.com
Narrowing or splitting a broader story into a
less ge...
Neil Killick, 2019, All Rights Reserved
neil_killick neilkillick.com
Why slice stories?
Neil Killick, 2019, All Rights Reserved
neil_killick neilkillick.com
• Enables early and often delivery of value 

— Each ...
Neil Killick, 2019, All Rights Reserved
neil_killick neilkillick.com
CAPABILITY
What does the CUSTOMER want to be able to ...
Neil Killick, 2019, All Rights Reserved
neil_killick neilkillick.com
Capability Slicing
• Exploring our options in terms
o...
Neil Killick, 2019, All Rights Reserved
neil_killick neilkillick.com
“As a Facebook user, I can share stuff I find
interes...
Neil Killick, 2019, All Rights Reserved
neil_killick neilkillick.com
Slice this story into at least 100 narrower stories:
...
Neil Killick, 2019, All Rights Reserved
neil_killick neilkillick.com
Enable Acme Bank [customers] to bank with us online
E...
Neil Killick, 2019, All Rights Reserved
neil_killick neilkillick.com
Enable Acme Bank customers to [bank with us] online
E...
Neil Killick, 2019, All Rights Reserved
neil_killick neilkillick.com
Enable Acme Bank customers to bank with us [online]
E...
Neil Killick, 2019, All Rights Reserved
neil_killick neilkillick.com
Enable Acme Bank customers to bank with us online
Exa...
Neil Killick, 2019, All Rights Reserved
neil_killick neilkillick.com
We want to stay in the capability space as
close to i...
Neil Killick, 2019, All Rights Reserved
neil_killick neilkillick.com
- Keeps our options open

- Enables us to focus on th...
Neil Killick, 2019, All Rights Reserved
neil_killick neilkillick.com
Implementation
— Functional Slicing
• Identify simple...
Neil Killick, 2019, All Rights Reserved
neil_killick neilkillick.com
Step 1
GOAL
Step X
Most basic
Option
Most basic Most ...
Neil Killick, 2019, All Rights Reserved
neil_killick neilkillick.com
Enable Acme Bank customers to pay their bills with BP...
Neil Killick, 2019, All Rights Reserved
neil_killick neilkillick.com
Enable Acme Bank customers to pay their bills with BP...
Neil Killick, 2019, All Rights Reserved
neil_killick neilkillick.com
• Identify simplest, quickest way we can
implement th...
Neil Killick, 2018, All Rights Reserved neil_killick neilkillick.com
Collaborative implementation slicing with the
“Hambur...
Neil Killick, 2019, All Rights Reserved
neil_killick neilkillick.com
Do A
Do B
Do C
Do D
Do G
Do E
Do F
Most basic ?
Do H
...
Neil Killick, 2019, All Rights Reserved
neil_killick neilkillick.com
Get user accounts
Get billers
Validate entered biller...
Neil Killick, 2019, All Rights Reserved
neil_killick neilkillick.com
Story slicing at all levels enables agility
•Stay in ...
Neil Killick, 2019, All Rights Reserved
neil_killick neilkillick.com
• Splitting User Stories — the Hamburger Method by Go...
Neil Killick, 2019, All Rights Reserved
neil_killick neilkillick.com
Thank you!
Questions and
discussion
Upcoming SlideShare
Loading in …5
×

Beyond INVEST - How to use story slicing to improve team and organisational agility

398 views

Published on

Presented at Agile BA & PO meetup on May 15th 2019

Published in: Technology
  • Be the first to comment

Beyond INVEST - How to use story slicing to improve team and organisational agility

  1. 1. Neil Killick, 2019, All Rights Reserved neil_killick neilkillick.com Beyond I-N-V-E-S-T How to use Story Slicing to improve team and organisational agility Neil Killick ⍟ Product development practitioner ⍟ Business, customer and user experience (UX) analyst ⍟ Lean-agile coach and trainer
  2. 2. Neil Killick, 2019, All Rights Reserved neil_killick neilkillick.com What you will learn tonight ⍟ What is a user story, and what makes a good one? — Look beyond "As a... I want... So that..." and the I-N-V-E-S-T model ⍟ The 3 levels of story slicing — Capability ⍟ Functional Implementation ⍟ Technical Implementation
  3. 3. Neil Killick, 2019, All Rights Reserved neil_killick neilkillick.com The story a user or potential user of your product or service might tell you — about something they want to achieve but currently cannot
 •Told from that user’s perspective, not yours
 •The “what” and “why”, NOT the “how"
 — We might implement something which provides the capability, but the story itself is in the problem space, not the solution space What is a user story?
  4. 4. Neil Killick, 2019, All Rights Reserved neil_killick neilkillick.com Which is these is a valid story by the definition I just gave? 1, 2 or both. Why? Consider these stories from a hypothetical first Facebook backlog: 1/ Jane wants to share photos and other stuff with the important people in her life
 2/ Jane wants to be able to add friends
  5. 5. Neil Killick, 2019, All Rights Reserved neil_killick neilkillick.com • “Add friends” is a feature which Facebook built to enable users to share photos and other content with people in their life, but this could be achieved in other ways, e.g. importing automatically from contacts
 • Even if Jane was already a Facebook user and requested an “add friends” feature, there is still an underlying need to explore; what does Jane want to achieve by “adding friends”? Beware of “features”
  6. 6. Neil Killick, 2019, All Rights Reserved neil_killick neilkillick.com I-N-V-E-S-T is an excellent, useful model for user story implementation, invented by Bill Wake BUT… given what you’ve just heard, what is wrong with it? Independent Negotiable Valuable Estimable Small Testable What makes a good user story?
  7. 7. Neil Killick, 2019, All Rights Reserved neil_killick neilkillick.com Estimable Small Testable Independent Negotiable Valuable Solution space Problem space What makes a good user story?
  8. 8. Neil Killick, 2019, All Rights Reserved neil_killick neilkillick.com Narrowing or splitting a broader story into a less general, more precise story or set of stories, each of which independently satisfies the broader story’s intent. What is story slicing?
  9. 9. Neil Killick, 2019, All Rights Reserved neil_killick neilkillick.com Why slice stories?
  10. 10. Neil Killick, 2019, All Rights Reserved neil_killick neilkillick.com • Enables early and often delivery of value 
 — Each slice (option) is independently implementable and valuable (if we ship)
 • Enables incremental/iterative delivery
 — Deliver incremental value while iterating toward a broader objective
 — Show demonstrable and measurable progress
 • De-risks “we want it all”
 • Enables focus
 — Expose valuable options —> simplicity —> focus —> “maximise the amount of work not done” —> efficient and effective
 • Keeps focus on the outcome
 — Work driven by narrowing the scope of a statement
 — Smaller chance of additional scope appearing and working on “the wrong things” • Necessarily “smaller”
 — Narrows scope, thus quicker to implement and release to customers
 • Enables flexibility
 — Allows needs and solutions to change
 • Enables shared understanding
 — of problem and/or solution
 • Exposes risk
 — schedule, technical and other
 • Creates consistency
 — in “size” of work, and how we work Why slice stories?
  11. 11. Neil Killick, 2019, All Rights Reserved neil_killick neilkillick.com CAPABILITY What does the CUSTOMER want to be able to do? FUNCTIONAL What tasks or steps will the CUSTOMER need to take to achieve the capability? TECHNICAL What tasks or steps will WE need to take to implement the functionality? 3 levels of story slicing
  12. 12. Neil Killick, 2019, All Rights Reserved neil_killick neilkillick.com Capability Slicing • Exploring our options in terms of what capabilities we might provide to satisfy a broader capability or value proposition • Do this up front and frequently
 • Responsibility of product managers/owners
 • Slice as far as possible for stories you would like to address next (or soon)
  13. 13. Neil Killick, 2019, All Rights Reserved neil_killick neilkillick.com “As a Facebook user, I can share stuff I find interesting with other people in my life…” Slice “Facebook user”, “share”, “stuff I find interesting” and “other people in my life” (the”seams” in the story):
 “Socialisers” can tell close friends about their Friday night plans “Town criers” can promote articles to all of their acquaintances Students can exchange homework tips with their school friends Family members can share photos with each other Capability Slicing
  14. 14. Neil Killick, 2019, All Rights Reserved neil_killick neilkillick.com Slice this story into at least 100 narrower stories: TIP: Identify the 3 “seams” in the story Capability Slicing Exercise — 5 minutes Enable Acme Bank customers to bank with us online
  15. 15. Neil Killick, 2019, All Rights Reserved neil_killick neilkillick.com Enable Acme Bank [customers] to bank with us online Example slices: • [Small business customers] can bank with us online • [Large business customers] can bank with us online • [New customers] can bank with us online • [Mortgage customers] can bank with us online • [School kids] can bank with us online 5 stories
  16. 16. Neil Killick, 2019, All Rights Reserved neil_killick neilkillick.com Enable Acme Bank customers to [bank with us] online Example slices: • Customers can [pay their bills with BPAY] online • Customers can [transfer money between accounts] online • Customers can [request an overdraft] online • Customers can [apply for a new account] online • Customers can [apply for credit cards] online 25 stories
  17. 17. Neil Killick, 2019, All Rights Reserved neil_killick neilkillick.com Enable Acme Bank customers to bank with us [online] Example slices: • Customers can bank with us [from their mobile phone] • Customers can bank with us [from their desktop computer] • Customers can bank with us [from their laptop] • Customers can bank with us [from their iPad] • Customers can bank with us [from their Android tablet] 125 stories
  18. 18. Neil Killick, 2019, All Rights Reserved neil_killick neilkillick.com Enable Acme Bank customers to bank with us online Example slices: • Small business customers can pay their bills with BPAY from their mobile phone • Large business customers can transfer money between accounts from their desktop computer • New customers can request an overdraft from their laptop • Mortgage customers can apply for a 2nd mortgage from their iPad • School kids can transfer money between accounts from their Android tablet • Personal customers can pay their bills with direct deposit from Chrome (latest version) • Gold credit card holders can upgrade to platinum from their Apple Watch • etc….. etc….
  19. 19. Neil Killick, 2019, All Rights Reserved neil_killick neilkillick.com We want to stay in the capability space as close to implementation time as possible BUT WHY?
  20. 20. Neil Killick, 2019, All Rights Reserved neil_killick neilkillick.com - Keeps our options open
 - Enables us to focus on the highest impact things to work on now (i.e. that which will bring value to the customer and/or us), and defer the rest
 - Enables the development* team to be the ones solving the problems, rather than having someone defining the solutions for them
 
 *In Scrum and other agile software development approaches, the development team includes design thinkers/specialists, and we all iterate over the problem domain with the customer, no hand-offs Because it…
  21. 21. Neil Killick, 2019, All Rights Reserved neil_killick neilkillick.com Implementation — Functional Slicing • Identify simplest customer journey we can implement, and options for incrementally improving it
 • Get core functionality working (vertical slices / walking skeleton)
 • Get early feedback on user experience
 • Show demonstrable progress
 • Do this Just-In-Time (JIT)
 — Maximum information about value and solution options
 — Reduce waste of premature analysis and solution design
  22. 22. Neil Killick, 2019, All Rights Reserved neil_killick neilkillick.com Step 1 GOAL Step X Most basic Option Most basic Most basic Most basic Most basicMost basicMost basic Most basic Step 2 Step 3 Step 4 Step 5 Step 6 Step 7 Option Option Option OptionOption Option Option Option Functional slicing = Simplest customer experience
  23. 23. Neil Killick, 2019, All Rights Reserved neil_killick neilkillick.com Enable Acme Bank customers to pay their bills with BPAY on our website Slice this story functionally TIP: Identify the simplest customer workflow we can implement, and incremental options for making it shippable Functional Slicing Exercise — 10 minutes
  24. 24. Neil Killick, 2019, All Rights Reserved neil_killick neilkillick.com Enable Acme Bank customers to pay their bills with BPAY on our website Select account Select biller Enter amount Enter transaction reference BILL PAID Submit payment info Receive verification code Enter verification code Confirm payment Receive confirmation Enter code manually Select from a dropdown Search based on input Select from most/ recently used Enter amount manually Enter reference manually No 2FA No 2FA Receive code by email Receive code by SMS Enter code manually Code entered automatically See message on screen Receive email See transaction details Select from a dropdown Click submit button Click submit button
  25. 25. Neil Killick, 2019, All Rights Reserved neil_killick neilkillick.com • Identify simplest, quickest way we can implement the functional slice, and options for incrementally improving the solution
 • Avoid over-engineering
 • Expose and reduce technical/schedule risk
 • Show demonstrable progress
 • Do this Just-In-Time (JIT)
 — Maximum information about solution options
 — Reduce waste of premature analysis and solution design Implementation — Technical Slicing
  26. 26. Neil Killick, 2018, All Rights Reserved neil_killick neilkillick.com Collaborative implementation slicing with the “Hamburger Method”
  27. 27. Neil Killick, 2019, All Rights Reserved neil_killick neilkillick.com Do A Do B Do C Do D Do G Do E Do F Most basic ? Do H ? ? Most sophisticated Most basic ? ? ? Most sophisticated Most basic ? ? ? Most sophisticated Most basic ? ? ? Most sophisticated Most basic ? ? ? Most sophisticated Most basic ? ? ? Most sophisticated Most basic ? ? ? Most sophisticated Most basic ? ? ? Most sophisticated Technical tasks • Identify 7 or 8 technical tasks we need to do to achieve the workflow above
 • Identify options for achieving them from most basic to most sophisticated Select account Select biller Enter amount Enter transaction reference Submit payment info Confirm payment Receive confirmation BILL PAID Enable Acme Bank customers to pay their bills with BPAY on our website
  28. 28. Neil Killick, 2019, All Rights Reserved neil_killick neilkillick.com Get user accounts Get billers Validate entered biller code Validate entered amount Validate payment 2FA - Send verification code 2FA - Validate verification code SQL query to DB Optimised stored proc No billers Hardcode billers Billers in txt file All billers from DB User’s billers from DB No validation Validate code Validation with errors No validation Validate funds available No verification Email code SMS code No validation Manual check Auto check Dummy API Sandbox API Production API Validate daily limit Confirm payment No confirmation On screen message Msg and log Email and log Select account Select biller Enter amount Enter transaction reference Submit payment info Confirm payment Receive confirmation BILL PAID Enable Acme Bank customers to pay their bills with BPAY on our website
  29. 29. Neil Killick, 2019, All Rights Reserved neil_killick neilkillick.com Story slicing at all levels enables agility •Stay in the problem space and keep your options open
 — We tend to jump away from capability way too early, and lock ourselves into both functional and technical design decisions that are hard to change; DON’T DO THIS!
 •Slices are options, not things we “must do”
 — Slicing is an activity which helps us choose the highest value capabilities, functional and technical options in an incremental and iterative way
 •Stay flexible with design and architecture
 The trick with agile software development is to be guided by the capability space, and always have a high level functional and technical design for delivering those capabilities which is easy to change as we go along
  30. 30. Neil Killick, 2019, All Rights Reserved neil_killick neilkillick.com • Splitting User Stories — the Hamburger Method by Gojko Adzic
 https://gojko.net/2012/01/23/splitting-user-stories-the- hamburger-method/
 • How to Split User Stories by Dan Puckett
 https://www.infoq.com/news/2011/04/how-to-split-user-stories
 • Splitting User Stories by George Dinwiddie
 blog.gdinwiddie.com/2011/05/01/splitting-user-stories/
 • The Essence of Story Slicing in Agile Development by Neil Killick
 https://medium.com/@neil2killick/the-essence-of-story-slicing-in- agile-development-fc16a1226941 Further reading
  31. 31. Neil Killick, 2019, All Rights Reserved neil_killick neilkillick.com Thank you! Questions and discussion

×