Neil Killick Profile picture
Apr 20, 2018 13 tweets 3 min read Twitter logo Read on Twitter
Trying a new angle for teaching story slicing, one of the biggest struggles for teams attempting #agile ways of working and arguably the most important practice to understand, given we are trying to deliver value to customers in very short cycles. Read on if you are interested.
The way I see it, there are 3 levels of story slicing, each of which is beneficial and necessary to be able to deliver shippable increments consistently in 2 wks or less. I am currently calling them Capability Slicing, Functional Slicing and Implementation Slicing. What are they?
Capability Slicing is the narrowing of a broader capability* into more precise ones, each independently valuable and implementable and, by necessity, smaller in potential scope.

*The story of enabling a human being to achieve something they cannot currently achieve
For example, if you start with the broad capability of "Enable Acme Bank customers to bank with us online", you can slice this hundreds of ways by identifying the 3 seams: " customers ", "bank with us" & "online". e.g. Enable business customers to pay their bills on their mobile
Functional Slicing is more of a Just-In-Time activity. While Capability Slicing is about what the customer wants/needs, Functional Slicing is about what they will DO. Identify incremental options for the customer workflow to achieve the capability, starting with most basic.
So if the capability is "Enable our personal customers to pay their bills with BPAY on their tablet", the first functional slice might be "Log in, Go to BPAY payment screen, Enter account, biller code and amount manually, Submit, No validation or 2FA, On screen confirmation".
With Functional Slicing it is important to remember that the most basic customer workflow to implement, and perhaps even the next several increments, are unlikely ones you would go live with, but they give you the quickest working versions to see, test, get feedback on etc.
OK, once we've identified our thinnest Functional Slices (of what the customer will do), we're ready to talk Implementation - the how - what WE need to do to enable the customer functionality we've identified. Now it's time to get technical. Here I'd use the Hamburger Method.
First identify the tasks we need to do to implement the simplest Functional workflow we identified earlier. We need to do things like Get the right user account and display it, Check biller entered, Validate transaction with BPAY and Display confirmation.
Now we identify the technical options for implementing these steps, from most basic to most sophisticated. For example, a simple SQL query might do the job for now of selecting the user account. Later we could write an optimised stored procedure which provides a quicker UX.
So these are the 3 levels of slicing - Capability (what the customer wants/needs)
Functional (what the customer will do)
and
Implementation (what we will do to enable the above)
Most teams jump to Implementation slicing way too early, and thus struggle to deliver in 2 weeks.
By doing rigorous upfront Capability slicing, Just-In-Time Functional slicing, & really focusing on the most basic workflows (from the user's perspective) first, the technical/Implementation slicing becomes far more intuitive and enables demonstrable progress in days, even hours.
I hope you've enjoyed this thread about how I teach story slicing nowadays. Please share it with your friends and colleagues who struggle with this vital #agile practice, and get in touch if you would like further info/help. Until next time, Happy Slicing! #scrum #noestimates

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Neil Killick

Neil Killick Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @neil_killick

Sep 25, 2018
Any imposed process, explicit (e.g. you must do standups) or implicit (e.g. you must do #agile) is likely to result in anything ranging from low performance to dysfunction. 1/
High performance comes from imposing enabling constraints (e.g. ensure we have a shippable product at all times, ensure we have a frequent feedback loop with the customer, ensure you are continuously improving), not process. 2/
Tell the team they can create whatever process they want, and that you will help remove any roadblocks. But take the constraints seriously, and make the team accountable to them. Show me the software! Show me how we're incorporating feedback! Show me how you're improving! 3/
Read 4 tweets
Jul 5, 2018
For questions about practices in #Scrum, there are only ever TWO answers. If the context of the question is about the framework itself, and thus the Scrum Guide explicitly answers it, then there's your answer. For all other questions, the answer is "it depends on the context".
For example, I just saw a question in a #Scrum Master group: "What is the role of the PO in daily standup?" A long thread of opinionated answers ensued. NO! If you're a Scrum Master, & you are using Scrum, the answer is simple - it's the "daily scrum", & it is for the developers.
"But sometimes it is very valuable to have the PO at the standup!", freshly minted CSM's cry. "They can share new bugs with the team, sign off stories and understand progress / get the team back on track". Sigh. NO! IT IS FOR THE DEVELOPERS. READ THE GUIDE!
Read 9 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(