24
is good… Neal Champion Application Development Consultant, Microsoft …but Kanban is better

Scrum is good - but kanban is better

Embed Size (px)

Citation preview

Page 1: Scrum is good - but kanban is better

is good…

Neal ChampionApplication Development Consultant, Microsoft

…but Kanban is better

Page 2: Scrum is good - but kanban is better

My Perspective• Based on personal experience – yours may differ • There are no right answers• Most significant impact of Agile is retrospection• Agile is mostly a cultural revolution• Culture is complex• Slow to change• Difficult to measure

Team I learnt this with

Page 3: Scrum is good - but kanban is better
Page 4: Scrum is good - but kanban is better

Background of Scrum

•Around since the mid-90s•Gateway drug to Agile• Easy to understand• Easy to implement• It works!•Has almost become synonymous with Agile•…but it’s not perfect

Page 5: Scrum is good - but kanban is better

Problems we found with Scrum

• Sprint Planning Hell• Squeezed Testing• Stories not completing in Sprint

Page 6: Scrum is good - but kanban is better

Sprint Planning Hell

Page 7: Scrum is good - but kanban is better

Sprint Planning Hell

•Developers unhappy to commit or estimate until they understand :• Detail of Requirements• Technical solution

• Sprint Planning became:• Requirements Analysis • Design Meeting

Page 8: Scrum is good - but kanban is better

Squeezed Testing

Page 9: Scrum is good - but kanban is better

Squeezed Testing

• Testing cannot happen until the code is written• Any earlier overrun squeezes testers out the back of

the sprint• Testers get the blame when stories aren’t ready

Page 10: Scrum is good - but kanban is better

Story Overrun• Symptom of previous issues• Analysis and Design squeezed out of the front• Testing squeezed out of the back• Sprint just became development• Carried-over Stories make Sprint Velocity harder to

measure

Page 11: Scrum is good - but kanban is better

Root Causes• Scrum does not differentiate between individuals’

skillsets• Scrum doesn’t acknowledge dependencies between

tasks

Page 12: Scrum is good - but kanban is better

Scrum Board

From http://www.informit.com/articles/article.aspx?p=2117898&seqNum=7

Page 13: Scrum is good - but kanban is better

Our First Kanban Flow

•Acknowledgement that each story at least requires:• Analysis & Design – which we called Elaboration• Coding• Testing

Page 14: Scrum is good - but kanban is better

Our Kanban Board

Page 15: Scrum is good - but kanban is better

A Word about WIP

•Work in Progress (WIP) should be limited• “Stop starting, start finishing”• Incomplete work is “wasted inventory”•Multi-tasking is bad!

Page 16: Scrum is good - but kanban is better

Multi-Tasking Exercise• 1• 2• 3• 4• 5• 6• 7• 8• 9• 10

• A• B• C• D• E• F• G• H• I• J

• I• II• III• IV• V• VI• VII• VIII• IX• X

Page 17: Scrum is good - but kanban is better

Definition of Done

• Scrum often has a Definition of Done for a whole story•With Kanban, we had a DoD for each step in the process

Elaborate• High level

design• Acceptance

Test Criteria

Dev• Feature

complete• Unit tests met• Peer reviewed

Test• Acceptance

Test Criteria met

• NFT reqts met

Review• Business

Reqts met

Page 18: Scrum is good - but kanban is better

#NoEstimates !!!

Page 19: Scrum is good - but kanban is better

The Estimation Holy Wars

• Estimating is a divisive topic!•We sized stories on the backlog in simply T-

shirt sizes• Following the Elaboration phase, we knew

more, and re-estimated, using points

Page 20: Scrum is good - but kanban is better

Valuing Stories

Page 21: Scrum is good - but kanban is better

Prioritising Stories

Page 22: Scrum is good - but kanban is better

What we found

•Coped better with variable story size•Coped better with urgent work - bug fixes,

production issues• Elimination of Sprints allowed everyone to work

continuously

Page 23: Scrum is good - but kanban is better

Fit with Continuous Delivery

•Scrum is a batch process•Kanban is a continuous process

Page 24: Scrum is good - but kanban is better

Questions?