Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Benjamin Day
@benday | www.benday.com
Let’s say you’re doing Scrum already.
(Sort of )
It’s ok but the magic has worn off.
How do you re-kindle the magic?
#1: Pay attention.
Scrum Mindfulness
#2: Try some new stuff.
Scrum Tune-up
What does ‘done’ mean?
“Done” vs. “Done Done”
A written definition of done is
as close to a “magic silver bullet” as
you’ll find in software.
Definition of Done (DoD) =
Everything it takes to call a feature
‘done’
Ambiguity and differences of
opinion are poison for software projects.
Your DoD helps eliminate ambiguity.
DoD is a conversation starter.
Have a conversation with the team
about what ‘Done’ means.
Write it down.
Software developers think that
software development begins and ends
with us.
(We’re basically right, too.)
The “software development industry”
is probably misnamed.
“Software delivery industry”.
Software delivery is a lot
bigger than just writing the code.
Software delivery
focuses on the ‘big picture’
of getting software to the point
that it can actually be used.
Code by itself isn’t that useful.
“Well, it works on my box.”
When developing your
written Definition of Done (DoD),
you’ll discuss a lot more than just coding.
Sample Definition of Done (DoD)
Development / Coder Testing, Deployment, Ops
Code is written with unit tests Written QA test plan
Unit tests have a minimum of 75% code Tested with QA test plan by someone other
than the original author
coverage
Deployed and tested in Staging environment
Code has been merged to Main
Automated UI tests are written and pass
Code compiles and unit tests pass when run as No Severity 1 or 2 bugs
part of an automated build
Reviewed by Product Owner
Database schema objects are under source Passes acceptance criteria for the PBI
control
Known deployment & rollback plan
Database upgrade script is under control Deployment plan reviewed by Ops
Code reviewed by someone other than Database changes reviewed by DBAs
the original author Load tested
Deployed to Production
Why a Written DoD?
- Helps your team to…
• …Accurately estimate
• …Understand how much work is left
PBI A
PBI B
PBI C
Product
Tasks
Backlog Items
Scrum Board for the Sprint
TO DO IN PROGRESS DONE
Product
Backlog Item A PBI A
Status
Product
Backlog Item B PBI B
Status
Product
Backlog Item C PBI C
Status
Scrum Board for the Sprint
TO DO IN PROGRESS DONE
PBI A
PBI B
PBI C
Scrum Board for the Sprint
TO DO IN PROGRESS DONE
PBI A
PBI B
PBI C
Scrum Board for the Sprint
TO DO IN PROGRESS DONE
PBI A
PBI B
PBI C
Scrum Board Danger
TO DO IN PROGRESS DONE
PBI A
PBI B
PBI C
Why is that so dangerous?
Too much work in progress.
‘Work In Progress’
commonly abbreviated as
‘WIP’.
Sprint: Day 1 of 15
TO DO IN PROGRESS DONE
PBI A
PBI B
PBI C
Sprint: Day 2 of 15
TO DO IN PROGRESS DONE
PBI A
PBI B
PBI C
Sprint: Day 3 of 15
TO DO IN PROGRESS DONE
PBI A
PBI B
PBI C
Sprint: Day 4 of 15
TO DO IN PROGRESS DONE
PBI A
PBI B
PBI C
Sprint: Day 5 of 15
TO DO IN PROGRESS DONE
PBI A
PBI B
PBI C
Sprint: Day 6 of 15
TO DO IN PROGRESS DONE
PBI A
PBI B
PBI C
Sprint: Day 7 of 15
TO DO IN PROGRESS DONE
PBI A
PBI B
PBI C
Sprint: Day 8 of 15
TO DO IN PROGRESS DONE
PBI A
PBI B
PBI C
Sprint: Day 9 of 15
TO DO IN PROGRESS DONE
PBI A
PBI B
PBI C
Sprint: Day 10 of 15
TO DO IN PROGRESS DONE
PBI A
PBI B
PBI C
Sprint: Day 11 of 15
TO DO IN PROGRESS DONE
PBI A
PBI B
PBI C
Sprint: Day 12 of 15
TO DO IN PROGRESS DONE
PBI A
PBI B
PBI C
Sprint: Day 13 of 15
TO DO IN PROGRESS DONE
PBI A
PBI B
PBI C
Sprint: Day 14 of 15
TO DO IN PROGRESS DONE
PBI A
PBI B
PBI C
Sprint: Day 15 of 15 (in your dreams)
TO DO IN PROGRESS DONE
PBI A
PBI B
PBI C
Sprint: Day 14 of 15
TO DO IN PROGRESS DONE
PBI A
PBI B
PBI C
Sprint: Day 15 of 15 (in reality)
TO DO IN PROGRESS DONE
PBI A
PBI B
PBI C
Plenty left to do
What went wrong?
Too much WIP.
Not enough Done.
Most of the Sprint Looked like This
TO DO IN PROGRESS DONE
PBI A
PBI B
PBI C
PBI A
PBI B
PBI C
Huge Benefit: Risk Management
Sprint: Day 5 of 15
TO DO IN PROGRESS DONE
PBI A
PBI B
PBI C
Sprint: Day 10 of 15
TO DO IN PROGRESS DONE
PBI A
PBI B
PBI C
Sprint: Day 13 of 15
TO DO IN PROGRESS DONE
PBI A
PBI B
PBI C
Sprint: Day 14 of 15
TO DO IN PROGRESS DONE
PBI A
PBI B
PBI C
Sprint: Day 15 of 15
TO DO IN PROGRESS DONE
PBI A
PBI B
PBI C
Where’s the good news in that?
Sprint: Day 15 of 15 At least you got
one PBI done.
TO DO IN PROGRESS DONE
PBI A
PBI B
PBI C
Do less at once
Decreased risk of delivering
nothing in this Sprint
Doing less at once !=
Doing less overall
Same pile of work.
Different way of delivering it.
Whole team is going to
work on one PBI as a team.
Helps team to focus.
Team’s focus is on details of
a single PBI rather than
details of a bunch of PBIs.
Summary
Do less at once
5 + 3 + 13 = 21 Velocity = 21
The velocity for Sprint is 21.
For right now, don’t worry about
how we got those size numbers.
We’ll cover that in more detail
later in this module.
Just bare with me and remember that
1is really small and 120 is ridiculously big.
Day 15 of 15: Work Planned for Sprint
PBI Size Status
Update payment system to 5 Done
handle PayPal
Mark a transaction for fraud 3 Done
audit
Upgrade site layout to support 13 Done
Internet Explorer 11
Create a lasting world peace 8 Not Done
5 + 3 + 13 = 21 Velocity = 21
The velocity for Sprint is 21.
Velocity is the measure of
what the team was
able to deliver in a single Sprint.
Velocity isn’t perfect but…
1) it’s actual hard data that’s
based on something real
2) it’s way better than nothing
A known velocity helps you
to plan future sprints.
Why does velocity help you
to plan future sprints?
I’m assuming that you & your team
aren’t complete incompetent
non-stop stumbling failures
when it comes to estimating.
(If you’re an incompetent failure,
keep watching this module.
I’ve got suggestions.)
If you’re even a little bit ok at estimating,
you can use your velocity to
help determine how much work you should
reasonably try to pull in to a Sprint.
There will be variability in your
Sprint Velocity numbers.
Tip: Track your velocity over time
Track Your Velocity Over Time
Sprint Velocity
Sprint 1 21 21 + 25 + 15 + 19 + 20 = 100
Sprint 2 25
100 / 5 = 20
Sprint 3 15
Sprint 4 18 Average Velocity = 20
Sprint 5 20
Plan Your Sprint with Velocity
Average Velocity = 20
Product Backlog Item (PBI) Size
Update payment system to convert 8
USD to Bitcoin
Fix layout and click problems on 3
Safari under iPhone 6
27 > 20
Create a lasting world peace 13 Total: 27 Almost definitely too
for all humanity much work
Update payment system to support 5
ApplePay
Report: Orders by Payment Type 3
Plan Your Sprint with Velocity
Average Velocity = 20
Product Backlog Item (PBI) Size
Update payment system to convert 8
USD to Bitcoin 11 < 20
11
Not enough work
Fix layout and click problems on 3 24
Safari under iPhone 6 24 > 20
Create a lasting world peace 13 Possibly too much work
for all humanity
Update payment system to support 5
ApplePay
Report: Orders by Payment Type 3
Plan Your Sprint with Velocity
Average Velocity = 20
Product Backlog Item (PBI) Size
Update payment system to convert 8
USD to Bitcoin
11
Fix layout and click problems on 3
Safari under iPhone 6
Create a lasting world peace 13 19
19 < 20
for all humanity Probably do-able
Makes Sprint Planning Meetings more productive and much less boring
Here’s more detail on the “where’s my stuff” trick.
There are two variations.
1) When will I get Product Backlog Item X?
2) How much done stuff will I have by Y date?
Product Backlog
Name Size
Update payment system to convert USD to Bitcoin 8
Fix layout and click problems on Safari on iPhone 6 3
Sprint 1
Forecasting
Update payment system to support ApplePay 5
Request PDF receipt delivered by email for past purchase 2
Generate report to see orders by payment type 3
Update payment system to take PayPal payments 5
Mark transaction for fraud audit 8 Sprint 2
Upgrade site layout to support Internet Explorer 11 8 Question:
Refund in-store mobile purchase from administrator device 5
Fix bugs related to jQuery upgrade (Defect #123, #456, #321, etc.) 3 When does “Update Android app to use
Fix bugs related to declined transactions using debit cards (Defect
#132, #821) 3
new logo and color scheme” get done?
Book pre-paid appointment 2 Sprint 3
Request PDF summary of all purchases for date range 3
Redeem gift card for in-store purchase 2 Average Velocity = 21
Redeem gift card for mobile purchase 3
Update public-facing website to use new logo and color scheme 5
Update paid-user website to use new logo and color scheme 3 Group PBIs into groups that total to 21
Update Android app to use new logo and color scheme 2
Update iOS app to use new logo and color scheme 1 Sprint 4
Real-time in-store purchase notification for managers on mobile admin
app 5
Request printed receipt after in-store mobile purchase 5 Sprint Length = 2 weeks
Feature XYZ 13
? Sprint 5 ?
Feature ABC 13
Use mobile camera to scan UPC and do a price comparison 21 ? Sprint 6 ? PBI probably gets done in Sprint 4
Create a lasting world peace 21 ? Sprint 7 ?
Feature QWERTY 21 ? Sprint 8 ?
Reporting dashboard for iOS & Android 40
Federated Identity using external authentication providers 40
4 sprints * 2 weeks
Add membership card to Apple Wallet 13
Use mobile camera to scan UPC for product and add to cart for in-store
purchase 8 The Forecast for that PBI:
? Sprint 9+ ?
Complete in-store mobile purchase 8 It’s done at the end of 8 weeks
Teach cats to do tax preparation 80
RFID-based inventory control system 80
Migrate application hosting to external cloud provider 40
Talking unicorns 120
Product Backlog
Name Size
Update payment system to convert USD to Bitcoin 8
Fix layout and click problems on Safari on iPhone 6 3
Sprint 1
Forecasting
Update payment system to support ApplePay 5
Request PDF receipt delivered by email for past purchase 2
Generate report to see orders by payment type 3
Update payment system to take PayPal payments 5
Mark transaction for fraud audit 8 Sprint 2
Upgrade site layout to support Internet Explorer 11 8 Question:
Refund in-store mobile purchase from administrator device 5
Fix bugs related to jQuery upgrade (Defect #123, #456, #321, etc.) 3 What can we ship at the end of
Fix bugs related to declined transactions using debit cards (Defect
#132, #821) 3
60 days?
Book pre-paid appointment 2 Sprint 3
Request PDF summary of all purchases for date range 3
Redeem gift card for in-store purchase 2 Average Velocity = 21
Redeem gift card for mobile purchase 3
Update public-facing website to use new logo and color scheme 5
Update paid-user website to use new logo and color scheme 3 Sprint Length = 3 weeks (21 days)
Update Android app to use new logo and color scheme 2
Update iOS app to use new logo and color scheme 1 Sprint 4
Real-time in-store purchase notification for managers on mobile admin 60 days = ~ 2.85 sprints
app 5
Request printed receipt after in-store mobile purchase 5
Feature XYZ
Feature ABC
13
13
? Sprint 5 ? That’s somewhere inside of Sprint 3
Use mobile camera to scan UPC and do a price comparison 21 ? Sprint 6 ?
Create a lasting world peace 21 ? Sprint 7 ?
Feature QWERTY 21 ? Sprint 8 ? (Hint: There isn’t a perfect answer.)
Reporting dashboard for iOS & Android 40
Federated Identity using external authentication providers 40
Add membership card to Apple Wallet 13 The 60 Day Forecast:
Use mobile camera to scan UPC for product and add to cart for in-store Sprint 1 & Sprint 2 is highly likely.
purchase 8
Complete in-store mobile purchase 8
? Sprint 9+ ? Probably some of Sprint 3, too.
Teach cats to do tax preparation 80
RFID-based inventory control system 80
Migrate application hosting to external cloud provider 40
Talking unicorns 120
Reminder:
Both of these ‘tricks’ require
1) a known velocity and
2) a ready product backlog.
As a Scrum Master, you’ll run into people
who are skeptical of Scrum.
One of the most common misperceptions
is that you have no clue when anything
is going to be done in Scrum.
Use these two ‘tricks’ to
help you to prove them wrong.
In Summary
Track your team’s Velocity in each Sprint
I hate when
What?
Coding…coding…coding… this
Black hole?
Happy…happy…happy… happens.
1 2 3 5 8 13 21 40 80 120 ∞ ?
The Planning Poker Process
1. Someone reads off the PBI
2. Brief discussion
3. “Ready to vote?”
4. “1..2..3..vote”
5. Everyone displays the card that represents their story point estimate for
the team to get the entire PBI to Done
6. Discuss high and low values
7. Repeat 3 – 6 until you’ve reached consensus
I can’t stress this enough.
Each person is estimating the amount of
effort it will take for THE TEAM to
deliver the entire PBI to DoD.
Here’s a random
picture of a cat.
Did that snap your brain back into focus?
This is super important.
Let me remind you…
The card that you throw is *not*
for only *your* effort on that PBI.
The card you throw is for what you think
amount of effort will be for THE TEAM to
deliver the entire PBI to
the Team’s Definition of Done.
“Implement security system for website”
Planning Poker Round 1
Person Vote
David
Rafiq
Anna
Brian
Esther
“Implement security system for website”
Planning Poker Round 1
Person Vote
David 2
Rafiq 21
Anna 13
Brian 8
Esther 13
“Implement security system for website”
Planning Poker Round 2
Person Vote
David
Rafiq
Anna
Brian
Esther
“Implement security system for website”
Planning Poker Round 2
Person Vote
David 8
Rafiq 13
Anna 13
Brian 8
Esther 5
“Implement security system for website”
Planning Poker Round 3
Person Vote
David
Rafiq
Anna
Brian
Esther
“Implement security system for website”
Planning Poker Round 3
Person Vote
David 5
Rafiq 8
Anna 5
Brian 5
Esther 5
Use this with your teams.
Take advantage of the
Wisdom of Crowds.
Helps you to discuss differences
of opinions.
Helps you to come to a
pretty good estimate
without a lot of effort.
Summary
Tighten up your existing Scrum Keep your backlog ‘Ready’
process
Start estimating with Story Points
Define and refocus on Done instead of hours