SCRUM AND XP FROM THE TRENCHES
© 2015 Henrik Kniberg. All rights reserved.
Published by C4Media, publisher of InfoQ.com.
No part of this publication may be reproduced, stored in a retrieval system
or transmitted in any form or by any means, electronic, mechanical,
photocopying, recoding, scanning or otherwise except as permitted under
Sections 107 or 108 of the 1976 United States Copyright Act, without the
prior written permission of the Publisher.
Production Editor: Ana Ciobotaru
Copyeditor: Professor Laurie Nyveen
Cover and Interior Design: Dragos Balasoiu
Contents
Intro .................................................................................................1
Disclaimer ......................................................................................................3
Why I wrote this ...........................................................................................3
But what is Scrum?........................................................................................3
How we do product backlogs ............................................. 5
Additional story fields ...................................................................................8
How we keep the product backlog at a business level ...............................9
How we prepare for sprint planning ...........................11
How we do sprint planning .............................................. 15
Why the product owner has to attend ...................................................... 16
Why quality is not negotiable .................................................................... 18
Sprint planning meetings that drag on and on… .....................................20
Sprint-planning-meeting agenda ..............................................................21
Defining the sprint length ..........................................................................22
Defining the sprint goal .............................................................................. 23
Deciding which stories to include in the sprint .......................................25
How can product owner affect which stories make it to the sprint? .....26
How does the team decide which stories to include in the sprint? ........27
Estimating using gut feel ............................................................................28
Estimating using velocity calculations ......................................................29
Which estimating technique do we use? ..................................................33
Why we use index cards .............................................................................34
Definition of “done” ....................................................................................37
Time estimating using planning poker ..................................................... 38
Clarifying stories .........................................................................................41
Breaking down stories into smaller stories ..............................................43
Breaking down stories into tasks ............................................................... 43
Defining time and place for the daily scrum ............................................45
Where to draw the line ..............................................................................46
Tech stories ..................................................................................................47
Bug tracking system vs. product backlog .................................................. 50
Sprint planning meeting is finally over! ...................................................51
How we communicate sprints ........................................53
How we do sprint backlogs ...............................................57
Sprint-backlog format ................................................................................58
How the task board works .........................................................................60
How the burn-down chart works ............................................................. 63
Task-board warning signs .......................................................................... 64
Hey, what about traceability?! .................................................................... 66
Estimating days vs. hours ...........................................................................67
How we arrange the team room .....................................69
The design corner .......................................................................................70
Seat the team together! ...............................................................................71
Keep the product owner at bay .................................................................. 73
Keep the managers and coaches at bay .....................................................73
How we do daily scrums .....................................................75
How we update the task board ..................................................................76
Dealing with latecomers .............................................................................78
Dealing with “I don’t know what to do today” .........................................78
How we do sprint demos .................................................... 81
Why we insist that all sprints end with a demo ....................................... 82
Checklist for sprint demos .........................................................................83
Dealing with indemonstrable stuff ............................................................84
How we do sprint retrospectives ...................................85
Why we insist that all teams do retrospectives ........................................ 86
How we organize retrospectives ...............................................................87
Spreading lessons learned between teams ................................................89
To change or not to change .......................................................................90
Examples of things that may come up during retrospectives .................91
Slack time between sprints...............................................93
How we do release planning and fixed-price
contracts .....................................................................................97
Define your acceptance thresholds ............................................................ 98
Time-estimate the most important items ................................................. 99
Estimate velocity .......................................................................................101
Put it together into a release plan ............................................................102
Adapting the release plan .........................................................................103
How we combine Scrum with XP ............................... 105
Pair programming .....................................................................................106
Test-driven development (TDD) ............................................................107
Incremental design ....................................................................................111
Continuous integration ............................................................................111
Collective code ownership .......................................................................112
Informative workspace .............................................................................112
Sustainable pace/energized work ............................................................114
How we do testing ................................................................115
You probably can’t get rid of the acceptance-test phase ........................116
Minimize the acceptance-test phase ........................................................117
Increase quality by putting testers in the Scrum team ...........................118
Increase quality by doing less per sprint .................................................121
Should acceptance testing be part of the sprint? ....................................122
Sprint cycles vs. acceptance-test cycles ...................................................123
Don’t outrun the slowest link in your chain ..........................................127
Back to reality ............................................................................................128
How we handle multiple Scrum teams ....................129
How many teams to create? .....................................................................130
Why we introduced a “team lead” role ....................................................135
How we allocate people to teams ............................................................137
Specialized teams – or not? ......................................................................139
Rearrange teams between sprints – or not? ...........................................142
Part-time team members ..........................................................................143
How we do scrum-of-scrums...................................................................144
Interleaving the daily scrums ...................................................................147
Firefighting teams .....................................................................................148
Splitting the product backlog – or not? ..................................................149
Code branching .........................................................................................154
Multi-team retrospectives ........................................................................155
How we handle geographically distributed teams ...
157
Offshoring ..................................................................................................159
Team members working from home ......................................................161
Scrum-master checklist .................................................... 163
Beginning of sprint ...................................................................................164
Every day ....................................................................................................164
End of sprint ..............................................................................................165
Parting words ........................................................................ 167