Slicing heuristics are explicit policies that help teams "slice" work Just-In-Time for consistency, a shared language and better predictability.
Acceptance tests help us develop software incrementally and collaboratively to meet customer needs. By using acceptance tests as a basis for slicing, we can replace deterministic estimation rituals with valuable conversations about the software we are building, ensure every increment we deliver is complete and bug free, and use empirical measurement of actual cycle times to help product owners make forecasts and teams to improve their throughput of value.
This talk will equip teams and organisations who are established on their Agile journey with a robust, clear and repeatable method for improving the quality and time-to-market of their software development efforts.
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Building in quality using #NoEstimates acceptance test slicing heuristics
1. Neil Killick, Lead Agile Coach
neilkillick.com neil2killick@gmail.com @neil_killick
Building in quality
using #NoEstimates
Acceptance Test slicing heuristics
Copyright Neil Killick, 2015
2.
3.
4. SPEED
Shinkansen trains can reach speeds of up to 320km/h
PREDICTABILITY
❏ 13 trains per hour between Tokyo & Osaka (every 3-5 mins)
❏ In 2014, avg delay was 54 seconds, including uncontrollable
causes such as natural disasters
RELIABILITY
5 billion passengers, 150 million per year
COMFORT & SAFETY
❏ No accident-related deaths in whole 50 years of operation
❏ Trains run smoothly & are kept very clean
5. How did they do it?
❏ Built dedicated lines for high speed rail, so
not slowed down by slower trains
❏ No road crossings
❏ Specially designed tracks
❏ Dedicated drivers and support staff
6. You can’t just make a train faster
or more reliable.
You must create a network for
fast, reliable trains.
7.
8. So, What is a Slicing
Heuristic?
❏ An explicit policy that describes how to "slice"
work to help us achieve:
❏ Faster time to market
❏ Better predictability
❏ Higher quality
❏ How?
❏ Define work with a consistent & shared language
❏ Replace deterministic estimation rituals with:
❏ Slicing rituals
❏ Empirical measurement of actual cycle times for
all work types
9. slicing
…[creating] relatively thin, broad piece[s] cut from an object
having some bulk or volume…
[ref: yourdictionary.com]
heuristic
...any approach to problem solving, learning, or discovery that
employs a practical methodology not guaranteed to be optimal
or perfect, but sufficient for the immediate goals.
[ref: Wikipedia]
10. How To: 5-step cycle
1. Define & agree work types
2. Agree slicing policy for each
work type
3. Slice work, Just-In-Time
4. Do work + measure
cycle times
5. Inspect & adapt policies
Initiative
Capability
Feature
Story
Build
Slice
Measure
Learn
11. Initiative
Capability 1 Capability 2 Capability 3
Feature
1
Feature
2
Feature
1
Feature
2
Feature
1
Feature
2
Story
1
Story
2
Story
3
Story
4
Story
1
Story
2
Story
1
Story
3
Story
2
Story
2
Story
1
Story
1
Story
3
Story
2
Story
4
Story
1
Story
3
Story
2
12. Online Loans
Customer can
apply for a
loan online
Customer can
manage their
loan online
Customer can
split their
loan online
Loan
application
wizard
Acc
Test
Acc
Test
Acc
Test
Acc
Test
Loan portal
Customer
identification &
authentication
Acc
Test
Acc
Test
Acc
Test
Acc
Test
Acc
Test
Acc
Test
Acc
Test
Acc
Test
13. Customer can apply for a holiday loan during a credit crunch
https://mysoftwarequality.wordpress.com/2012/12/14/how-to-transform-bad-acceptance-tests-into-awesome-
ones/
by Augusto Evangelisti
1 Acceptance test
heuristic
14. To Do Doing Done
= 1 elapsed day
Easy to add a dot
at daily standup,
or just update
the data daily in
a spreadsheet
Story 1 Story 2 Story 3 Story 4 Story 5
Elapsed days 2 3 1 1 2
Days
Stories
We need
this data!
Do work + measure
cycle times
15. Benefits
❏ Explicitly building in quality
❏ Empirical
❏ Small batches
❏ Optimised for conversations
❏ Collaboration “up the chain”
❏ Build the right thing
(right solution for right
problem)
❏ Control risk
(cost/schedule)
Initiative
Capability
Feature
Story
❏ Max 3 Capabilities
❏ Cycle time < 6
months
❏ Std dev < 3 weeks
❏ Max 2 Features
❏ Cycle time < 2
months
❏ Std dev < 6 days
❏ Max 4 Stories
❏ Cycle time < 2 weeks
❏ Std dev < 3.5 days
❏ 1 Acceptance Test
❏ Cycle time < 3 days
❏ Std dev < 0.5 days