420 likes | 660 Views
Scrum and Kanban Like Chocolate and Peanut Butter. Is Agile Any Better?. Damon Poole 2009. Damon Poole – CTO, AccuRev. Overview. Bird’s eye view of Scrum Brief intro to KanBan Three categories of Scrum problems Too much WIP Rigidity Scaling Q&A. Scrum. backlog. todo. wip.
E N D
Scrum and Kanban Like Chocolate and Peanut Butter Is Agile Any Better? Damon Poole 2009 Damon Poole – CTO, AccuRev
Overview • Bird’s eye view of Scrum • Brief intro to KanBan • Three categories of Scrum problems • Too much WIP • Rigidity • Scaling • Q&A
Scrum backlog todo wip coded tested done 3246 – User wants to remove a depot 3246 – User wantsto unhide a depot 3246 – User wants to rename a depot 3246 – User wants to copy a depot 3246 – User wants to combine depots 3246 – User wantsto create a depot 3246 – User wantsto hide a depot 3246 – User wantsa list of depots 5 3 5 2 1 3 5 1 2 3246 – User wants to split a depot
Scrum backlog todo wip coded tested done 3246 – User wants to remove a depot 3246 – User wantsto unhide a depot 3246 – User wants to rename a depot 3246 – User wants to copy a depot 3246 – User wantsto create a depot 3246 – User wants to combine depots 3246 – User wantsa list of depots 3246 – User wantsto hide a depot 1 5 3 2 5 2 3 1 5 3246 – User wants to split a depot
Scrum backlog todo wip coded tested done 3246 – User wants to remove a depot 3246 – User wantsto unhide a depot 3246 – User wantsa list of depots 3246 – User wantsto create a depot 3246 – User wants to copy a depot 3246 – User wants to rename a depot 3246 – User wants to combine depots 3246 – User wantsto hide a depot 1 5 3 5 5 2 3 1 2 3246 – User wants to split a depot
Scrum Values • Self Organization • Product Owner • Short Iterations • Xfunctional Teams
What is Kanban? • Kanban is a Japanese word for “sign board” • Concept is from Lean manufacturing, adapted for software • Lean and Scrum influenced by W. Edward Demming • Main proponents • David Anderson • Karl Scotland • Alan Shalloway
Kanban backlog todo wip coded tested done 3246 – User wants to remove a depot 3246 – User wantsto unhide a depot 3246 – User wantsto create a depot 3246 – User wants to rename a depot 3246 – User wants to copy a depot 3246 – User wantsa list of depots 3246 – User wantsto hide a depot 3246 – User wants to replicate adepot 3246 – User wants to remove areplica 3246 – User wants to combine depots 3246 – User wants to undo a depot operation 2 3 5 5 1 3 1 2 8 5 8 5 3246 – User wants to split a depot 1) Visual system of managing work 2) Limited work in progress 3) Work is pulled through the system
Helpful Tools for 3 Challenges One Piece Flow Too Much WIP Rigidity Scaling Decoupling Stop the Line S T D C Task board I D Flow Per-Story Timeboxing Team Workflow Limited WIP Multi-Stage CI WT T Backlog Grooming
Too Much Work in Progress One Piece Flow Challenges Helpful Tools • Mini waterfall • Offset iterations • Fitting stories into the iteration • Nothing to test until near the end of the iteration • Not all stories “done” at the end S T D C Task board I D Limited WIP WT T
Mini-Waterfall Test Test Dev Dev 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 5 5 5 5 6 6 6 6 7 7 7 7 8 8 8 8 9 9 9 9 10 10 10 10 11 11 11 11 12 12 12 12 Iteration 1 Iteration 2
Dev and QA Offset by an Iteration 1 5 9 2 6 10 3 7 11 4 8 12 1 5 2 6 3 7 4 8
Don’t abandon Scrum for Kanban because“Scrum isn’t working” ! !
Limited WIP/Pull/Taskboard backlog todo wip coded tested done 3246 – User wants to remove a depot 3246 – User wantsto unhide a depot 3246 – User wants to rename a depot 3246 – User wants to copy a depot 3246 – User wants to combine depots 3246 – User wantsto create a depot 3246 – User wantsto hide a depot 3246 – User wantsa list of depots 5 3 5 2 1 3 5 1 2 3246 – User wants to split a depot
Limited WIP/Pull/Taskboard backlog todo wip coded tested done 3246 – User wants to remove a depot 3246 – User wantsto unhide a depot 3246 – User wantsa list of depots 3246 – User wantsto hide a depot 3246 – User wants to combine depots 3246 – User wantsto create a depot 3246 – User wants to copy a depot 3246 – User wants to rename a depot 1 5 3 3 1 5 5 2 2 3246 – User wants to split a depot
The Structure of the Work S D Specify Design Code Integrate Document Write tests Test C I W T D
One Piece Flow S T D C I D WT T Test & Doc Developer
Rigidity Challenges Helpful Tools Decoupling • Long planning meetings • Accommodating shifting priorities • Iteration gaps • Choosing work so that all workfinishes all at the same time Stop the Line Per-Story Timeboxing Backlog Grooming
Iteration Gaps 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 1 2 3 4 1 2 1 2 3 4 1 2 3 4 1 2 1 2 3 4 1 2 Mostly at start of story Mostly at end of story
Iteration Gaps 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 1 2 3 4 1 2 1 2 3 4 1 2 3 4 1 2 1 2 3 4 1 2 Mostly at start of story Mostly at end of story
Decoupling Done Retrospective Iteration Review Backlog grooming Story estimation Iteration planning 3 4 5 6 Iterations
Decoupling Done Retrospective Iteration Review Backlog grooming Story estimation Iteration planning 3 4 5 6 Iterations
Decoupling Stop!! Done Retrospective Iteration Review Backlog grooming Story estimation Iteration planning 3 4 5 6 Iterations
Decoupling Done Retrospective Iteration Review Backlog grooming Story estimation Iteration planning 3 4 5 6 Iterations
Decoupling Done Retrospective Iteration Review Backlog grooming Story estimation Iteration planning 3 4 5 6 Iterations
Decoupling Done Retrospective Iteration Review Backlog grooming Story estimation Iteration planning 3 4 5 6 Iterations
Decoupling Done Retrospective Iteration Review Backlog grooming Story estimation Iteration planning 3 4 5 6 Iterations
Decoupling Done Retrospective Iteration Review Backlog grooming Story estimation Iteration planning 3 4 5 6 Iterations
Decoupling Done Retrospective Iteration Review Backlog grooming Story estimation Iteration planning
Kanban is Like Scrum in Flight backlog todo wip coded tested done 3246 – User wants to remove a depot 3246 – User wantsto unhide a depot 3246 – User wants to rename a depot 3246 – User wants to copy a depot 3246 – User wantsto create a depot 3246 – User wants to combine depots 3246 – User wantsa list of depots 3246 – User wantsto hide a depot 1 5 3 2 5 2 3 1 5 3246 – User wants to split a depot
Use Per Story Time-boxing 4 User Story Duration 3 Weeks 2 1 0 1 2 3 Iterations
Scaling Challenges Helpful Tools • Lack of a stable build until the end of the iteration • Integration with other teams • Who broke the build? Flow Team Workflow Multi-Stage CI
Team Workflow wip coded tested done backlog todo wip coded tested done 3246 – User wants to remove a depot 3246 – User wantsto unhide a depot 3246 – User wants to copy a depot 3246 – User wantsto create a depot 3246 – User wantsto hide a depot 3246 – User wants to rename a depot 3246 – User wants to combine depots 3246 – User wantsa list of depots 3246 – User wants to undo a depot operation 3246 – User wants to replicate adepot 3246 – User wants to remove areplica 5 1 1 5 3 8 2 8 2 5 5 3 3246 – User wants to split a depot
Team Workflow wip coded tested done 3246 – User wants to remove a depot 3246 – User wantsto hide a depot 2 5 1 3246 – User wants to split a depot CI CI CI CI Branches/Streams
Agile Development Limited WIP Cross Functional Master Backlog Continuous Integration Colo Teams Int User Stories One Piece Flow Team Backlog Int Daily Standups Scrum Master Unit Tests Int Frequent Demos Product owner Retrospectives Refactoring
Flow Int Hooray! Int Int
Resources/Q&A • Damon Poole – dpoole@accurev.com • Do It Yourself Agile – Damon Poolehttp://damonpoole.blogspot.com (free, 188pg) • Lean Software Development, Mary Poppendieck and Tom Poppendieck • Scrumban - Essays on Kanban Systems for Lean Software Development, Corey Ladas • Kanban and Scrum – Making the Most of Both, HenrikKniberg&MattiasSkarin • Agile Software Development with Scrum, Ken Schwaber& Mike Beedle