• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Henrik Kniberg - Scrum and XP beyond the trenches
 

Henrik Kniberg - Scrum and XP beyond the trenches

on

  • 6,987 views

 

Statistics

Views

Total Views
6,987
Views on SlideShare
2,498
Embed Views
4,489

Actions

Likes
7
Downloads
0
Comments
0

11 Embeds 4,489

http://www.scoop.it 2358
http://www.ryuzee.com 1121
http://www.agilesparks.com 501
http://d.hatena.ne.jp 352
http://agilesparks.com 96
http://a-hum.unoke.pfu.co.jp 32
http://test.ryuzee.com 15
http://translate.googleusercontent.com 4
http://webcache.googleusercontent.com 4
url_unknown 3
http://www.agilesparks.co.il 3
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Henrik Kniberg - Scrum and XP beyond the trenches Henrik Kniberg - Scrum and XP beyond the trenches Presentation Transcript

    • Scrum & XPBeyond the trenches Agile Israel 2011-04-11 Henrik Kniberg Agile/Lean coach www.crisp.se Board of directors henrik.kniberg@crisp.se 070 4925284
    • Once upon a weekend Nov 10-12, 2006Henrik Kniberg 2
    • Date: Monday, Nov 13, 2006! from: Henrik! to: scrumdevelopment@yahoogroups.com! subject: Scrum & XP from the trenches - how we do Scrum! Ive written a paper (well more like a small book) describing lessons
 learnt after a year of Scrum experimentation with a group of 40
 developers. Includes details on how we approached multi-team sprint
 planning, testing, retrospectives, etc.
 Heres the final draft:
 http://www.crisp.se/henrik.kniberg/ScrumAndXpFromTheTrenches.pdf
 Any feedback is welcome!
 Those of you who are authors, any ideas on what I should do with a
 paper like this? Havent done this kind of stuff before...
 /Henrik"Henrik Kniberg 3
    • 4 years later... 250,000 downloads 12 languages Henrik Kniberg 4
    • 4 years later... 250,000 downloads 12 13 languages X Henrik Kniberg 5
    • Henrik Kniberg 6
    • Discovery #1Other people were discovering the same solutions, independently When I read your book I recognized all the problems and solutions, we went through the same journey!Henrik Kniberg 7
    • Discovery #2Most people don’t read disclaimers ”this is the paper to read if ”We’ve have adopted you want to avoid learning it as our tech bible Agile by trial and error” here at my company”Henrik Kniberg 8
    • Discovery #3Copy/paste worked better than I had thought! ”Ive started using Scrum in my company and its been a success thanks to your valuable information” We spend a lot of time arguing over FocusBut not perfectly... Factor Who cares about Focus Factor? Why do you waste time on that? We learned about it from Oops... your book... Well, we stopped doing that right after theHenrik Kniberg book came out 9
    • Purpose of this presentation!   Many of the solutions in ”Scrum and XP from the Trenches” turned out to be pretty much universally applicable!   However, I’ve learned a lot since 2006 and there some things that I would have done differently if I could go back in time.!   Purpose of this presentation is to share these insights with you.Henrik Kniberg 10
    • Let’s compare notes. What about you? When you see this signal No! Yes! Give me feedback! = We do this = We don’t do thisHenrik Kniberg 11
    • Recommendation #1:Limit all queues 12
    • 3 items 5 items 10 items 20 items 6 orderings 120 orderings 3,628,800 orderings 2,432,902,010,000,000,000 orderings orem ipsum dolor orem ipsum dolor orem ipsum dolor orem ipsum dolor sit amet, co nse sit amet, co nse sit amet, co nse sit amet, co nse ctetur ctetur ctetur ctetur orem ipsum dolor orem ipsum dolor orem ipsum dolor orem ipsum dolor sit amet, co nse sit amet, co nse sit amet, co nse sit amet, co nse ctetur ctetur ctetur ctetur orem ipsum dolor orem ipsum dolor orem ipsum dolor orem ipsum dolor sit amet, co nse sit amet, co nse sit amet, co nse sit amet, co nse ctetur ctetur ctetur ctetur orem ipsum dolor orem ipsum dolor orem ipsum dolor sit amet, co nse sit amet, co nse sit amet, co nse ctetur ctetur ctetur orem ipsum dolor orem ipsum dolor orem ipsum dolor sit amet, co nse sit amet, co nse sit amet, co nse ctetur ctetur ctetur orem ipsum dolor orem ipsum dolor sit amet, co nse sit amet, co nse ctetur ctetur orem ipsum dolor orem ipsum dolor sit amet, co nse sit amet, co nse ctetur ctetur orem ipsum dolor orem ipsum dolor sit amet, co nse sit amet, co nse ctetur ctetur orem ipsum dolor orem ipsum dolor sit amet, co nse sit amet, co nse ctetur ctetur orem ipsum dolor orem ipsum dolor sit amet, co nse sit amet, co nse ctetur ctetur orem ipsum dolor sit amet, co nse ctetur orem ipsum dolor sit amet, co nse ctetur orem ipsum dolor sit amet, co nse ctetur orem ipsum dolor sit amet, co nse ctetur orem ipsum dolor sit amet, co nse ctetur orem ipsum dolor sit amet, co nse ctetur orem ipsum dolor sit amet, co nse ctetur orem ipsum dolor sit amet, co nse ctetur orem ipsum dolor sit amet, co nse 13 cteturHenrik Kniberg orem ipsum dolor sit amet, co nse ctetur
    • Top 10Product backlog or bug databaseLength 100+9 × 10157 orderings orem ipsum dolor sit amet, co nse ctetur(number of atoms in the universe: 4x1080) orem ipsum dolor sit amet, co nse ctetur orem ipsum dolor sit amet, co nse ctetur orem ipsum dolor sit amet, co nse orem ipsum dolor ctetur sit amet, co nse orem ipsum dolor sit amet, co nse ctetur orem ipsum dolor ctetur sit amet, co nse orem ipsum dolor ctetur sit amet, co nse orem ipsum dolor orem ipsum dolor sit amet, co nse ctetur sit amet, co nse ctetur ctetur orem ipsum dolor sit amet, co nse orem ipsum dolor ctetur sit amet, co nse orem ipsum dolor ctetur orem ipsum dolor sit amet, co nse sit amet, co nse ctetur orem ipsum dolor ctetur sit amet, co nse ctetur orem ipsum dolor orem ipsum dolor orem ipsum dolor sit amet, co nse sit amet, co nse sit amet, co nse cteturipsum dolor orem ctetur ctetur sit amet, co nse orem ipsum dolor ctetur sit amet, co nse orem ipsum dolor orem ipsum dolor ctetur sit amet, co nse sit amet, co nse orem ipsum dolor ctetur ctetur sit amet, co nse orem ipsum ipsum dolor orem dolor ctetur sit amet, co nse co nse sit amet, orem ipsum dolor ctetur ctetur sit amet, co nse orem ipsum dolor ctetur orem ipsum dolorsit amet, co nse sit amet, co nsectetur orem ipsum dolor ctetur sit amet, co nse orem ipsum dolor cteturdolor sit amet, co nse orem ipsum ctetur sit amet, co nse orem ipsum dolor ctetur orem ipsum dolor sit amet, co nse sit amet, co nse dolor orem ipsum ctetur ctetur amet, co nse orem ipsum dolor sit orem ipsum dolor sit amet, co nse ctetur sit amet, co nse ctetur orem ipsum dolor ctetur orem ipsum dolor sit amet, co nse orem ipsum orem ipsum dolor sit orem ipsum dolor amet dolo sit amet, co nse ctetur orem ipsum dolor ct , co ns r ctetur orem ipsum dolorsit amet, co nseetur sit amet, co nse e sit amet, co nse ipsum dolor orem r sitlo m do amet, co nse ctetur ctetur orem ipsum dolor sit amet, co nse ipsu nse ctetur dolororem et, co ctetur orem ipsum dolor sit amet, ipsum dolor co nse ipsum nse sit am orem ipsum dolor Recommendation: ctetur orem ipsum dolor orem ctetur amet, co nse orem ipsum dolor orem t, co sit amet, co nse r sit amet, co nse e ctetu sit amet, co nse sit sit amet, co nse sit am ctetur orem ipsum dolor ctetur r ctetur orem ipsum dolor amet, co nse ctetur orem ipsum dolor ctetur ctetu sit Limit all queues sit amet, co nse sit amet, co nse ctetur orem ipsum dolor orem ipsum dolor orem ipsum dolo orem ipsum dolor ctetur ctetur r sit amet, co nse sit amet, co nse sit orem ipsum dolor amet, co nse sit amet, ipsum dolor orem co nse orem ipsum dolor ctetur ctetur sit amet, co nse ctetur ctetur amet, co nse sit orem ipsum dolor orem orem sit amet, co nse ipsum ctetur ip cteturipsum orem ipsum dolor ipsum dolor m do sit amorem dolor su ctetur sit amet, co nse et co sit am lo orem ipsum dolor dolor orem sit amet, et nse, amet,eco dolorco ns r et ct co orem ipsum nse, ipsum dolor ns ctetur orem ipsum dolor lor ur sit r ctetur orem e sit amet, co nse co nse sit amet, orem ipsum dolor ipsu m do ctetur dolo m sit amet, co nse amet, co nse ctetur ctetur ctetur orem ipsum dolor sit amet, co nse sit amet, co nse orem t, co norem ipsu ctetur se sit sit amet, co nse e orem t, co nseorem ipsum dolor e ipsum dolor orem ipsum dolor ipsum dolor orem ctetur ctetur sit am sit am ctetur ctetur orem ipsum dolor r sit amet, co nse amet, co nse sit amet, co nse amet, co nsesit ctetu ctetu r sit ctetur sit amet, co nse ctetur ctetur ctetur orem ipsum dolor ipsum dolor orem What about you? ctetur orem ipsum dolor sit amet, co nse amet, co nse sit sit amet, co nse orem ipsum dolor ctetur ctetur dolor ctetur orem sit amet, co nse orem ipsum dolor ipsum orem ip ipsum nse sit am dolor sum do lor orem orem ipsum ctetur et, co sit amet orem ipsum dolor ipsum dolor dolor orem ipsum dolor t,dolor orem orem ipsum co sit amet, co nse e orem ipsum dolor ctetur ctetur , sit amet, co nse amet, co nse co nse nse co nse sit amet, sit am sit amet, co nsectetur sit sit amet, coctetuco nse sit amet, r nse orem ipsum dolor ctetur ctetur sit amet, co nse orem ipsum dolor ipsum dolor ctetur ctetur ctetur ctetur orem orem ipsum dolor ipsum dolor ipsum dolor orem sit amet, ipsum amet, co nse orem co nse orem ipsum amet, orem No! Yes! ctetur orem ipsum dolor orem ipsum dolor orem ipsum dolorsitdolor dolorsitdolor co nse amet, co nse amet, co nse orem ipsum sit sit ctetur amet, co nse sit ctetur amet, ctetur sit amet, co nse sit ipsum dolor orem amet, co nse sit amet, co nse amet, co nse co nse sit sit ctetur ctetur ctetur ctetur orem ipsum dolor nse ctetur ctetur ctetur ctetur orem ipsum dolor ipsum dolor orem ipsum dolor sit amet, co orem ipsum dolor orem ipsum dolor ipsum dolor orem sit amet, co nse orem ctetur sit amet, co nse sit amet, co nse amet, co nse sit amet, ipsum dolor co nse sit orem co nse amet, sit amet, co nse ctetur orem ipsum dolor ipsum dolor orem sit ctetur ctetur ctetur ctetur amet, ctetur ctetur orem ipsum dolor sit amet, co nse amet, co nse co nse ipsum dolor sit sit orem orem ipsum dolor orem ipsum dolor orem ipsum dolor nse ctetur ctetur ctetur sit amet, co nse sit amet, co amet, co nse sit orem ipsum dolor ipsum dolor orem ipsum dolor amet, co nse sit sit amet, co nse ctetur orem ctetur ctetur orem ipsum dolor sit amet, co nse amet, co nse sit amet, co nse ctetur orem ipsum dolor ctetur sit sit amet, ipsum dolor orem co nse ctetur orem ipsum dolor ctetur orem ipsum dolor sit amet, co nse ctetur ipsum dolor orem ctetur ctetur amet, co nse orem ipsum dolor sit sit amet, co nse sit amet, co nse sit amet, co nse ipsum dolor orem ctetur ctetur ctetur orem ipsum dolor ctetur sit amet, co nse sit amet, co nse ctetur sit amet, co nse ctetur orem ipsum dolor orem ipsum dolor ctetur 14 sit amet, co nse sit amet, co nse orem ipsum dolor Henrik Kniberg ctetur ctetur sit amet, co nse orem ipsum dolor ctetur orem ipsum dolor amet, co nse sit sit amet, co nse ctetur orem ipsum dolor ctetur orem ipsum dolor sit amet, co nse sit amet, co nse ctetur ctetur orem ipsum dolor orem ipsum dolor sit amet, co nse sit amet, co nse ctetur ctetur orem ipsum dolor sit amet, co nse ctetur
    • Recommendation #2:Have a chief productowner role 15
    • PO CPO PO Recommendation: PO Have a chief product owner role What about you? No! Yes!Henrik Kniberg 16
    • Recommendation #3:Express backlog items asUser Stories 17
    • As a <stakeholder>User story I want <what> so that <why> Independent As a buyer 8 Negotiable I want to save my shopping cart Valuable so that I can continue shopping later Estimable Small Testable How to demo: Acronym courtesy of Bill Wake – www.xp123.com 1)  Enter store 2)  Put a book in shopping cart 3)  Press ”save cart” 4)  Leave store, and enter it again C 5)  Check that the book is in my cart A B CRecommendation: GUIExpress backlog itemsas User Stories Client What about you? ServerHenrik Kniberg No! Yes! 18 DB schema
    • Recommendation #4:Estimate storiesbefore the sprintplanning meeting 19
    • Backlog creation & grooming – sample schedule Timeline Initial backlog creation Backlog workshop every Wednesday 10:00 – 11:00 Backlog grooming cycleSprint cycle Sprint 1 Sprint 2 Sprint 3 Recommendation: Estimate stories before the sprint planning meeting What about you? Henrik Kniberg 20 No! Yes!
    • Recommendation #5:Don’t estimate tasks 21
    • Stories vs tasks Break into tasks (normally during sprint planning meeting) Split stories Write failing Create DB Write form test schema validation User admin 5 Register new user Write Do Do GUI server-side integration design logic test User admin 3 Find user 13 Administrate users User admin 2 Edit existing user User admin 8 Delete userHenrik Kniberg 22
    • Recommendation: Estimation alternatives Don’t estimate tasks What about you?Stories Tasks No! Yes!1. Don’t estimate stories. Just count them. 1. Skip tasks 2. Don’t estimate tasks. Just count them.2. Estimate stories in t-shirt size S M L S M L Hours? Days? 3. Estimate tasks in days Weeks? 1d 3. Estimate stories in story points 0.5d 2d 1sp 2sp 5sp 4. Estimate tasks in hours 4h 12h 8h4. Estimate stories in ideal man-days 1d 3d 6d Henrik Kniberg 23
    • Recommendation #6:Skip focus factor 24
    • Skip Focus FactorHenrik Kniberg 25
    • Focus Factor MAY be useful when startinga new project with a new team... As a X Facts: I want Y 8sp Hmmm.... we think THIS so that Z story is about 6 ideal man- •  Team size = 6 people days As a X •  Sprint length = 2 weeks I want Y 2sp so that Z Estimate: As a X I want Y 3sp •  2 sp = 6 imd so that Z •  Focus factor: 50% As a X I want Y 5sp so that Z Calculation: •  Calendar days in sprint: 10 days •  Man-days in sprint: 60 md •  Ideal man-days in sprint: 60 md x 50% = 30 imd •  Velocity: 30 imd / 3 = 10 sp / sprintHenrik Kniberg 26
    • ”simple” velocity calculations are simplerand usually no less accurate Likely future velocity: V= 8 V= 7 V= 9 7-9 per sprint1 2 2 1 1 2 Velocity 2 3 1 3 1 2 2 1Sprint Sprint Sprint April1 2 3 May June Recommendation: Skip focus factor Q3? What about you? No! Yes! Henrik Kniberg 27
    • Recommendation #7:Don’t fill the sprint 28
    • The sprint commitmentCommon misconceptions!   ”We promise to achieve this goal”!   ”We promise to deliver all stories included in the sprint backlog”Team’s commitment to the product owner:”We promise that...”!   ... we believe we can reach the sprint goal.!   ... we will do everything in our power to reach the sprint goal, and will let you know immediately if we no longer believe we can reach it.!   ... we believe that we can complete all stories included in the sprint backlog.!   ... we will demonstrate releasable code at the end of the sprint!   ... if we fall behind schedule we will talk to you and, if necessary, remove the lowest priority stories first.!   ... if we get ahead of schedule, we will add stories to the sprint from the product backlog, in priority order.!   ... we will display our progress and status on a daily basis.!   ... every story that we do deliver is Done. 11-04-11Henrik Kniberg 29
    • No Slack = Long queues Car in Car out 100% Road utilization => Terrible throughput CPU: 100% Http://.... CPU: 100% <html>.... CPU: 100% Request in Response out 100% Server utilization => Terrible throughput As a ... I want ... ! ! So that ... ! ! Feature request ! ! Feature in 100% Team utilization out => Terrible throughput Henrik Kniberg 30
    • Product Sprint backlog backlog • Team: We’re pretty sure we can finish all of these. • PO: These are definitely the highest priority items, their priorities won’t change during the sprint. SLACK • Team: We might finish some of these, but probably not all • PO: Some of these might be reprioritized during the sprint • Team: We’re pretty sure we won’t finish any of these Recommendation: Don’t fill the sprint What about you? No! Yes31 31 !Henrik Kniberg
    • Recommendation #8:Visualize more thanjust the sprint 32
    • Product backlog SprintWhat happens What happens upstream? downstream? PO Henrik Kniberg 33
    • Product User acceptance test Goal backlog Development & production Policies & working agreementsAnalysis Technical debt Support Henrik Kniberg 34
    • Team 1 Team 2 Team 3 Recommendation: Visualize more than just the sprint Henrik Kniberg 35 What about you? No! Yes! 35
    • Next! Develop! Release! 1 3 2 Concept! Playable! Features! Polish! Done! Team Pac man BingoSolitaire 1 Zork Mine Team Pong sweeper 2 Dugout Team Donkey Duck Kong hunt 3 Team 1 Team 2 Team 3 36
    • Recommendation #9:If sprints don’t work,use Kanban 37
    • Sprints aren’t the only way to be agileSprints week 1 week 2 week 3 week 4 week 5 week 6 week 7 week 8 Sprint 1 Sprint 2 Plan & commit Review Retrospective (release?)Separate cadences week 1 week 2 week 3 week 4 week 5 week 6 week 7 week 8 Retrospectives (4w) Planning cadence (2w) Release cadence (1w)Event-driven week 1 week 2 week 3 week 4 week 5 week 6 week 7 week 8 Retrospectives (4w) Planning (on demand) Release (on demand) 38
    • A simple kanban system Migrate invoicing To Do! Doing! Ready for Done!! production! ! reports to the new format 5 3 5 orem ipsum dolor sit orem ipsum dolor sit orem ipsum dolor sit orem ipsum dolor sit amet, co nse ctetur amet, co nse ctetur amet, co nse ctetur amet, co nse ctetur orem ipsum dolor sit orem ipsum dolor sit amet, co nse ctetur orem ipsum dolo r sit amet, co nse ctetur amet, co nse ctet ur orem ipsum dolor sit amet, co nse ctetur orem ipsum dolor sit orem ipsum dolor sit amet, co nse ctetur amet, co nse ctetur or sit orem ipsum dol tur amet, co nse cte orem ipsum dolo r sit amet, co nse ctet dolor sit ur orem ipsum ctetur nse amet, co Recommendation: If sprints don’t work, use Kanban What about you? No! Yes! 39Henrik Kniberg
    • Recommendation #10:Use simple metricsfor planning &improvement 40
    • Velocity = features per week (”bandwidth”)Simple & useful metrics Cycle time = weeks per feature (”ping”) DONE! Velocity To Do! .....! ....! ....! this week! Week Items done orem ipsum dolor sit orem ipsum dolor sit amet, co nse ctetur week 5 6 items orem ipsum dolor sit orem ipsum dolor sit amet, co nse ctetur orem ipsum dolor sit amet, co nse ctetur amet, co nse ctetur amet, co nse ctetur orem ipsum dolor sit week 6 4 items amet, co nse ctetur orem ipsum dolor sit orem ipsum dolo r sit amet, co nse ctet ur orem ipsum dolor sit amet, co nse ctetur week 7 8 items orem ipsum dolor sit amet, co nse ctetur orem ipsum dolor sit amet, co nse ctetur or sit orem ipsum dolor sit amet, co nse ctetur amet, co nse ctetur week 8 orem ipsum dol orem ipsum dol tur or sit amet, co nse cte orem ipsum dolor sit amet, co nse cte tur orem ipsum dolor sit amet, co nse ctetur orem ipsum dolor sit amet, co nse ctetur orem ipsum dol or sit amet, co nse ctetur amet, co nse cte tur orem ipsum dolor sit amet, co nse ctetur orem ipsum dolor sit sit m dolor orem ipsum dolor sit amet, co nse ctetur orem ipsu e ctetur ns amet, co nse ctetur amet, co Avg cycle time: 10 days Cycle time Item Cycle time Start Jan 5 14d ! Done Jan 19 #22 14 Days #22 Migrate #23 6 Days invoicing reports to Henrik Kniberg #24 10 Days the new format ! 41
    • 14 12 Recommendation: We’re 90% certain 10 that next feature Use simple metrics forLead planning &time will be done 8 within 7 days improvement(days) 7 6 What about you? 5 4 3 No! Yes! 2 0 Cycle  me  per  feature  Elapsed    Days   Henrik Kniberg 42
    • Recommendation #11:Visualize top 3impediments 43
    • Manager Top 3 Top 3 Top 3 impediments impediments impediments orem ipsum dolor orem ipsum dolor orem ipsum dolor sit amet, co nse sit amet, co nse sit amet, co nse ctetur ctetur ctetur orem ipsum dolor orem ipsum dolor orem ipsum dolor sit amet, co nse sit amet, co nse sit amet, co nse ctetur ctetur ctetur orem ipsum dolor orem ipsum dolor orem ipsum dolor sit amet, co nse sit amet, co nse sit amet, co nse ctetur ctetur ctetur SM SM SMHenrik Kniberg 44
    • Dev manager PO Top 3 Ops impediments manager orem ipsum dolor SM sit amet, co nse PO ctetur orem ipsum dolor SM sit amet, co nse ctetur orem ipsum dolor sit amet, co nse ctetur SM SM SM SM SM SM SM SMHenrik Kniberg 45
    • Top 3 project impediments Top 3 project impedimentsRecommendation:Visualize top 3impediments What about you? No! Yes! 46 Henrik Kniberg
    • Recommendation #12:Continuouslymeasure employeesatisfaction 47
    • Happiness Index Lack of motivation ..... .....”How does it feel to come to work?”(scale 1-5) 1 2 3 4 5 Henrik Kniberg 48
    • Managers &Product owner developers talk about moves closer motivationto developers ....... Reorganization in management team Bug Bash tuesdays .......Henrik Kniberg 49
    • Result Happiness IndexIt is better to use imprecisemeasures of what is wanted,rather than precise measures ofwhat is not Russel AckoffHenrik Kniberg 50
    • •  Name (optional) •  Satisfaction level (1-5) •  Last updated (date) •  What feels best right now? •  What feels worst right now? •  What would improve your satisfaction level? Happiness metric – the Wave of the Future Recommendation: Continuously measure employeeJeff Sutherland, co-creator of Scrumhttp://scrum.jeffsutherland.com/2010/11/happiness-metric-wave-of-future.html satisfactionhttp://scrum.jeffsutherland.com/2010/12/scrum-inc-sprint-2-retrospective.html What about you? Henrik Kniberg 51 No! Yes!
    • Recommendation #13:Use the ”king & servant”pattern to enablecontinuous delivery 52
    • Parallellitis (n) The mistaken belief that you get more done by doing everything at once. Register is done! Let’s publish to trunk! To do! Doing! Done!No wait, there ispartially complete orem ipsum dolor Register sit amet, co nse ctetur orem ipsum dolor Deposit code! sit amet, co nse orem ipsum dolor ctetur sit amet, co nse ctetur Lemee finish! Deposit orem ipsum dolor orem ipsum dolor sit amet, co nse sit amet, co nse ctetur ctetur orem ipsum dolor orem ipsum dolor sit amet, co nse sit amet, co nse ctetur ctetur orem ipsum dolor Withdraw sit amet, co nse ctetur orem ipsum dolor sit amet, co nse orem ctetur dolor ipsum sit amet, co nse ctetur To do! Doing! Done! OK Deposit is done! orem ipsum dolor Now we can publish Register sit amet, co nse Register & Deposit ctetur orem ipsum dolor sit amet, co nseNo, wait! There is orem ipsum dolor ctetur sit amet, co nse ctetur to trunk!partially complete Deposit orem ipsum dolor orem ipsum dolor Withdraw code. sit amet, co nse sit amet, co nse ctetur ctetur orem ipsum dolor sit amet, co nse orem ipsum dolor ctetur sit amet, co nse Lemee finish! ctetur Withdraw orem ipsum dolor sit amet, co nse ctetur orem ipsum dolor sit amet, co nse ctetur orem ipsum dolor sit amet, co nse Henrik Kniberg 53 ctetur
    • The king & servant pattern•  Anyone working on the top priority story is King. To do! Doing! Done!•  Everyone else on the team is a Servant.•  You want to be King. Try to find ways to help Register orem ipsum dolor sit amet, co nse orem ipsum dolor orem ipsum dolor ctetur out with the top priority story. sit amet, co nse sit amet, co nse ctetur ctetur•  Whenever a King needs help, Servants Deposit orem ipsum dolor orem ipsum dolor sit amet, co nse immediately offer their services. sit amet, co nse ctetur ctetur•  A Servant may not disrupt a King. orem ipsum dolor•  A Servant may never check in unreleasable code Withdraw sit amet, co nse ctetur orem ipsum dolor sit amet, co nse orem ctetur dolor on the team branch. A King may check in ipsum sit amet, co nse ctetur whatever he pleases (as long as he doesn’t violate a branch policy of course).•  As soon as the top priority story is Done, Recommendation: anyone working on the next story is now King. Use the ”King & servant” pattern to enable continuous delivery What about you? No! Yes! Henrik Kniberg 54
    • ”Version Control for Multiple Agile Teams”http://www.infoq.com/articles/agile-version-control Flow down R2.4.2 continuously Releasecodelines R2.3 R2.4 No flow up Mainline Flow down continuously Work Team A Team Bcodelines Team A Flow up at spike stable points Henrik Kniberg 55
    • Recommendation #14:Use Definition ofDone as a qualitytool 56
    • Definition of Done To do! Doing! Done! Releasable •  Merged to trunk Register •  Acceptance tested Deposit •  No increased technical debtWithdraw = I haven’t messed up Transfer the codebase Simple design 1. Passes all tests 2. No duplication 3. Readable 4. Minimal Kent Beck Henrik Kniberg 57
    • Recommendation:Use Definition of Doneas a quality tool What about you? No! Yes! 58
    • Recommendation #15:Test automation backlog 59
    • Step 1: Decide what needs to be tested !   Change skin !   Security alert !   Transaction history !   Block account !   Add new user !   Sort query results !   Deposit cash !   Validate transferHenrik Kniberg 60
    • Step 2: Classify each test Pay every Pay once time Manual Test Automation Test case Risk Cost Cost Change skin low 0.5 hrs 20 sp Security alert high 1 hrs 13 sp Transaction history med 3 hrs 1 sp Block account high 5 hrs 0.5 sp Add new user low 0.5 hrs 3 sp Sort query med 2 hrs 8 sp results Deposit cash high 1.5 hrs 1 sp Validate high 3 hrs 5 sp transferHenrik Kniberg 61
    • Step 3: Sort the list Automate first! Manual Test Automation Test case Risk Cost Cost Block account high 5 hrs 0.5 sp Validate transfer high 3 hrs 5 sp Transaction history med 3 hrs 1 sp Sort query results med 2 hrs 8 sp Deposit cash high 1.5 hrs 1 sp Security alert high 1 hr 13 sp Automate last Add new (or never)! user low 0.5 hrs 3 sp Change skin low 0.5 hrs 20 spHenrik Kniberg 62
    • Step 4: Allocate capacity Product backlog PO 80% Sprint backlog Test automation backlog 20%Henrik Kniberg 63
    • Top 10 Customer requirements Top 5 Internal improvements Recommendation: Test automation backlog What about you? No! Yes! 64Henrik Kniberg
    • Wrapup 65
    • Have you learned anything new todaythat you will try to apply? No! Yes!Henrik Kniberg 66
    • Perfection is a direction, not a place !  Find a balance: appreciate your current solution, while looking for a better one. !  Just because today’s solution seems better, doesn’t mean yesterday’s solution was bad. !  Copy/pasting solutions from other contexts is OK, as long as you also adapt. !  Keep experimenting & make sure the learning never stops.Henrik Kniberg 67