scrum with kanban: lean kanban russia 2014

Post on 28-Nov-2014

513 Views

Category:

Leadership & Management

4 Downloads

Preview:

Click to see full reader

DESCRIPTION

How Thumbtack Technology uses Kanban with Scrum together to manage work in sprints, manage work that doesn't fit in sprints, and align teams with customer needs. Talk from Lean Kanban Russia 2014.

TRANSCRIPT

@jonathansen

Scrum with Kanban

@jonathansen

Scrum with Kanban

Jonathan  Hansen  

Thumbtack  Technology  

NYC  Lean  Coffee

@jonathansen

Where’s the conflict?

SCRUM RULES !!•  3  Roles  

Product  Owner,  Team  Member  Scrum  Master  !

•  4  MeeEngs  Sprint  Planning,  Daily  Scrum  Sprint  Review,  Sprint  RetrospecEve  !

•  3  ArEfacts  Product  Backlog,  Sprint  Backlog  Increment  !!

@jonathansen

Where’s the conflict?

KANBAN METHOD !!!

•  Visualize  your  work  

•  Limit  your  Work  in  Progress  

•  Manage  Flow  

•  Make  Policies  Explicit  

•  Implement  Feedback  Loops  

•  Improve  CollaboraEvely,  Evolve  Experimentally

SCRUM RULES !!•  3  Roles  

Product  Owner,  Team  Member  Scrum  Master  !

•  4  MeeEngs  Sprint  Planning,  Daily  Scrum  Sprint  Review,  Sprint  RetrospecEve  !

•  3  ArEfacts  Product  Backlog,  Sprint  Backlog  Increment  !!

@jonathansen

There is no conflict

&

SCRUM RULES !!

KANBAN METHOD !!!

•  3  Roles  Product  Owner,  Team  Member  Scrum  Master  !

•  4  MeeEngs  Sprint  Planning,  Daily  Scrum  Sprint  Review,  Sprint  RetrospecEve  !

•  3  ArEfacts  Product  Backlog,  Sprint  Backlog  Increment  !!

•  Visualize  your  work  

•  Limit  your  Work  in  Progress  

•  Manage  Flow  

•  Make  Policies  Explicit  

•  Implement  Feedback  Loops  

•  Improve  CollaboraEvely,  Evolve  Experimentally

@jonathansen

IN  SPRINT      |      OUT  OF  SPRINT    

BEYOND  SCRUM

Scrum with Kanban

@jonathansen

Scrum with KanbanIN  SPRINT

@jonathansen

Scrum with KanbanIN  SPRINT

FINISH  FEATURES            |          FIX  BUGS  FASTER

@jonathansen

IN  SPRINT

FINISH  FEATURES            |          FIX  BUGS  FASTERScenario:  Adding  Features  

Item  Search  +  Item  Detail  +  User  Edit  

Scrum with Kanban

@jonathansen

Scrum with KanbanIN  SPRINT178 hours

of work

Scenario:  Adding  Features  Item  Search  +  Item  Detail  +  User  Edit  

@jonathansen

Scrum with KanbanIN  SPRINT

0"

50"

100"

150"

200"

178 hours of work

Burndown  Rate  (sprint  without  kanban)

SUCCESSFUL  SPRINT?

@jonathansen

Scrum with KanbanIN  SPRINT

SCRUM  SPRINT:  DAY  1

ITEM SEARCH

ITEM DETAIL

USER EDIT

SPRINT BACKLOG DOING DONE

IDQA!

UE2! UE1!UE4!

ID4!

without KANBAN

IS3! IS4!

IS2! IS1!

ISQA!

ID3!

ID2! ID1!

ID5!

UE3! UEQA!UE5!

Blk!

Blk!

Blk!

@jonathansen

Scrum with KanbanIN  SPRINT

SCRUM  SPRINT:  DAY  5

ITEM SEARCH

ITEM DETAIL

USER EDIT

SPRINT BACKLOG DOING DONE

without KANBAN

IS3! IS4!IS2!

IS1!

ISQA!

ID3!ID4!

ID2!ID1!

IDQA!ID5!

UE3!UE4!

UE2!

UE1!

UEQA!

UE5!

Blk!

Blk!

Blk!

@jonathansen

Scrum with KanbanIN  SPRINT

SCRUM  SPRINT:  DAY  10

ITEM SEARCH

ITEM DETAIL

USER EDIT

SPRINT BACKLOG DOING DONE

without KANBAN

IS3! IS4!IS2!

IS1!ISQA!

ID3!ID4!

ID2!ID1!IDQA!

ID5!

UE3!UE4!

UE2!

UE1!UEQA! UE5!UEB2!

UEB3!

ISB2!

ISB3!ISB1!ISB4!ISB5!

IDB2!

IDB3! IDB1!

IDB4!

UEB4!

UEB5!

@jonathansen

Scrum with KanbanIN  SPRINTwithout

KANBAN

0"

50"

100"

150"

200"

Burndown  Rate  (sprint  without  kanban)

SUCCESSFUL  SPRINT?НЕТ

@jonathansen

Scrum with KanbanIN  SPRINT

91%  DONE  =      100%  USELESS

@jonathansen

Scrum with KanbanIN  SPRINT

1. Not  Started  2. In  Progress  3. Done

3  STATUSES {

@jonathansen

Scrum with KanbanIN  SPRINT

0"

5"

10"

15"

20"

25"

30"

35"

Day"1" Day"2" Day"3" Day"4" Day"5" Day"6" Day"7" Day"8" Day"9" Day"10"

Todo"

Doing"

Done"

HIGH  TASK  WIP  =  SLOW  TASKS

without KANBAN

@jonathansen

Scrum with KanbanIN  SPRINT

0"

5"

10"

15"

20"

25"

30"

35"

Day"1" Day"2" Day"3" Day"4" Day"5" Day"6" Day"7" Day"8" Day"9" Day"10"

Todo"

Doing"

Done"AVG  LEAD      3.7  DAYS

AVG  WIP    7.5  ITEMS

HIGH  TASK  WIP  =  SLOW  TASKS

without KANBAN

@jonathansen

Scrum with KanbanIN  SPRINT

Lead  TimeWIP

Throughput

3.7 7.52

=

=

LITTLE’S  LAW

@jonathansen

Scrum with KanbanIN  SPRINT

0"

5"

10"

15"

20"

25"

30"

35"

Day"1" Day"2" Day"3" Day"4" Day"5" Day"6" Day"7" Day"8" Day"9" Day"10"

Todo"

Doing"

Done"

without KANBAN HIGH  FEATURE  WIP  =  

IDLE  QA  +  MORE  BUGS

@jonathansen

Scrum with KanbanIN  SPRINT

0"

5"

10"

15"

20"

25"

30"

35"

Day"1" Day"2" Day"3" Day"4" Day"5" Day"6" Day"7" Day"8" Day"9" Day"10"

Todo"

Doing"

Done"NO  FEATURES    TESTABLE  FOR    7  DAYS

without KANBAN HIGH  FEATURE  WIP  =  

IDLE  QA  +  MORE  BUGS

@jonathansen

Scrum with KanbanIN  SPRINT

0"

5"

10"

15"

20"

25"

30"

35"

Day"1" Day"2" Day"3" Day"4" Day"5" Day"6" Day"7" Day"8" Day"9" Day"10"

Todo"

Doing"

Done"NO  FEATURES    TESTABLE  FOR    7  DAYS

SCOPE  CREEP  FROM      

17  TO  31  TASKS

without KANBAN HIGH  FEATURE  WIP  =  

IDLE  QA  +  MORE  BUGS

@jonathansen

Scrum with KanbanIN  SPRINT

SPRINT  QUALITY  &  PREDICTABILITY

1. Map  Value  Stream  2. Limit  Task  WIP  3. Limit  Feature  WIP

with KANBAN

@jonathansen

Scrum with KanbanIN  SPRINT

DAY  1

FEATURES

TASKS

SPRINT BACKLOG DONE

IS4!IS1!

ID3!

ID2!

UE3!UE4!

UE2!

UE5!

Item Search!

User Edit!

Item Detail!

2

4

DOINGDEVELOPMENT QA

with KANBAN

@jonathansen

Scrum with KanbanIN  SPRINT

FEATURES

TASKS

SPRINT BACKLOG DONE

Item Search!

ISB3!

ISB4!

User Edit!

Item Detail!

ID3!

ID4!

UE3!UE4!

UE2!UE1!

UE5!

IS3!IS4!

IS2!IS1!

ISB2!ISB1!

2

4

DOINGDEVELOPMENT QA

DAY  5

with KANBAN

@jonathansen

Scrum with KanbanIN  SPRINT

FEATURES

TASKS

SPRINT BACKLOG DONE

IS3!IS4!

IS2!IS1!

ID3!ID4!

ID1!

UE3!

UE4!UE2!

UE1!UE5!

Item Search!

User Edit!

Item Detail!

ISB2!ISB1!

IDB2!

IDB1!UEB1!

UEB2!

UEB3!

UEB4!

2

4

DOINGDEVELOPMENT QA

DAY  10

with KANBAN

@jonathansen

Scrum with KanbanIN  SPRINT

LOW  TASK  WIP  =  FAST  TASKS

0"

5"

10"

15"

20"

25"

30"

35"

0"

5"

10"

15"

20"

25"

30"

35"

Scrum  Alone Scrum  +  Kanban

AVG  LEAD      3.7  DAYS

AVG  WIP    7.5  ITEMS

AVG  LEAD      0.5  DAYS

AVG  WIP    1.4  ITEMS

@jonathansen

Scrum with KanbanIN  SPRINT

LOW  FEATURE  WIP  =  FAST  /BETTER  QA

0"

5"

10"

15"

20"

25"

30"

35"

0"

5"

10"

15"

20"

25"

30"

35"

Scrum  Alone Scrum  +  Kanban

AVG  LEAD      0.5  DAYS

AVG  WIP    1.4  ITEMS

!NO  QA  7  DAYS

!!

17  TO  31    TASKS

@jonathansen

Scrum with KanbanIN  SPRINT

0"

5"

10"

15"

20"

25"

30"

35"

0"

5"

10"

15"

20"

25"

30"

35"

Scrum  Alone Scrum  +  Kanban

!NO  QA  7  DAYS QA  IN  

4  DAYS

!!

14  TO  24    TASKS

!!

17  TO  31    TASKS

LOW  FEATURE  WIP  =  FAST  /BETTER  QA

@jonathansen

Scrum with KanbanIN  SPRINT

COMPARING  BURNDOWNS

0"

50"

100"

150"

200"

Scrum"Alone" Scrum"with"Kanban"

@jonathansen

Scrum with KanbanIN  SPRINT

SPRINT  QUALITY  &  PREDICTABILITY

1. Map  Value  Stream  2. Limit  Task  WIP  3. Limit  Feature  WIP

with KANBAN

@jonathansen

IN  SPRINT      |      OUT  OF  SPRINT    

BEYOND  SCRUM

Scrum with Kanban

@jonathansen

Scrum with KanbanOUT  OF  A  SPRINT

@jonathansen

Scrum with KanbanOUT  OF  A  SPRINT

SOME  EPICS  ARE  UNBREAKABLE

@jonathansen

Scrum with KanbanOUT  OF  A  SPRINT

SOME  EPICS  ARE  UNBREAKABLE

@jonathansen

Scrum with KanbanOUT  OF  A  SPRINT

EPICS:  UNSPLITTABLE  FEATURES

BACKLOGONGOING

DONEDEVELOPMENT TESTING

10

NEXT UPDONE ONGOING DONE

READY FOR DEMO

F!

L!

M!

2G! H!

not  sprint

sprint

E!

A!

D!

C!

3

I!

E!

2

B!

J!

K!

@jonathansen

IN  SPRINT      |      OUT  OF  SPRINT    

BEYOND  SCRUM

Scrum with Kanban

@jonathansen

Scrum with KanbanBEYOND  SCRUM

@jonathansen

Scrum with KanbanBEYOND  SCRUM

h"ps://twi"er.com/davidjbland/status/430769613903654912  

“In  Scrum,  you  should  inspect  and  adapt  on  everything...    except  Scrum.”   -­‐  David  J  Bland

@jonathansen

Scrum with KanbanBEYOND  SCRUM

ESTIMATION  WASTE          |          THE  TIME  BOX

@jonathansen

Scrum with KanbanBEYOND  SCRUM

STORY  POINT  ACCURACY

0"

20"

40"

60"

80"

100"

120"

1" 2" 3" 4" 5" 6" 7" 8" 9" 10"

2,Point"" 3,Point"

@jonathansen

Scrum with KanbanBEYOND  SCRUM

HISTORICAL  LEAD  TIMES

0"5"

10"15"20"25"30"35"40"

6)May" 11)May" 16)May" 21)May" 26)May" 31)May" 5)Jun" 10)Jun" 15)Jun"

@jonathansen

Scrum with KanbanBEYOND  SCRUM

HISTORICAL  LEAD  TIMES

0"5"

10"15"20"25"30"35"40"

6)May" 11)May" 16)May" 21)May" 26)May" 31)May" 5)Jun" 10)Jun" 15)Jun"

upper limit: 29.88

mean: 5.94

@jonathansen

Scrum with KanbanBEYOND  SCRUM

0"

2"

4"

6"

8"

10"

12"

14"

<"1"day" 1"to"5" 5"to"10" 10"to"20" >"20"

HISTORICAL  LEAD  TIMES:  HISTOGRAM  VIEW

@jonathansen

Scrum with KanbanBEYOND  SCRUM

0"

1"

2"

3"

4"

5"

6"

<"2"days" 2"to"6" 6"to"10" >"10"

network(

0"

1"

2"

3"

4"

5"

<"1"day" 1"to"2" 2"to"6" >"6"

UI(

HISTORICAL  LEAD  TIMES:  CATEGORIZE  &  CALCULATE

@jonathansen

Scrum with KanbanBEYOND  SCRUM

FEATURE  ESTIMATION  ALTERNATIVE

1. Study  historical  data  2. Categorize  cards  3. Calculate  ranges  4. Shape  sprint

with KANBAN

@jonathansen

Scrum with KanbanBEYOND  SCRUM

ESTIMATION  WASTE          |          THE  TIME  BOX

@jonathansen

Scrum with KanbanBEYOND  SCRUM

KANBAN  IN  A  SCRUM

ANALYSISONGOING

DONEDEVELOPMENT TESTINGSPRINT BACKLOG

DONE ONGOING DONE

READY TO DEMO

3 2

ONGOING DONE

@jonathansen

Scrum with KanbanBEYOND  SCRUM

ANALYSISONGOING

DONEDEVELOPMENT TESTINGSPRINT BACKLOG

DONE ONGOING DONE

READY TO DEMO

3 2

ONGOING DONE

KANBAN  IN  A  SCRUM

Avg  Lead:  32  days

Avg  cycle:  3  days

@jonathansen

Scrum with KanbanBEYOND  SCRUM

ANALYSISONGOING

DONEDEVELOPMENT TESTINGSPRINT BACKLOG

DONE ONGOING DONE

READY TO DEMO

3 2

ONGOING DONE

KANBAN  IN  A  SCRUM

@jonathansen

Scrum with KanbanBEYOND  SCRUM

ANALYSISONGOING

DONEDEVELOPMENT TESTINGSPRINT BACKLOG

DONE ONGOING DONE

READY TO DEMO

3 2

ONGOING DONE

KANBAN  IN  A  SCRUM:  ROLLING  PRIORITIES

@jonathansen

Scrum with KanbanBEYOND  SCRUM

ANALYSISONGOING

DONEDEVELOPMENT TESTINGPRIORITIES DONE ONGOING DONE

READY TO DEMO

3 2

ONGOING DONE

10

KANBAN  IN  A  SCRUM:  ROLLING  PRIORITIES

@jonathansen

Scrum with KanbanBEYOND  SCRUM

ANALYSISONGOING

DONEDEVELOPMENT TESTINGDONE ONGOING DONE

READY TO DEMO

3 2

ONGOING DONE

KANBAN  IN  A  SCRUM:  ROLLING  PRIORITIES

PRIORITIES

10

Avg  Lead:  32  days

Avg  cycle:  3  days

@jonathansen

Scrum with KanbanBEYOND  SCRUM

ANALYSISONGOING

DONEDEVELOPMENT TESTINGDONE ONGOING DONE

READY TO DEMO

3 2

ONGOING DONE

KANBAN  IN  A  SCRUM:  ROLLING  PRIORITIES

PRIORITIES

10

Avg  Lead:  32  days

Avg  cycle:  3  days

14

@jonathansen

Scrum with KanbanBEYOND  SCRUM

ANALYSISONGOING

DONEDEVELOPMENT TESTINGDONE ONGOING DONE

3 2

ONGOING DONE

KANBAN  IN  A  SCRUM:  DEPLOY  WHEN  READY

PRIORITIES

10 READY TO DEMO

@jonathansen

Scrum with KanbanBEYOND  SCRUM

ANALYSISONGOING

DONEDEVELOPMENT TESTINGDONE ONGOING DONE

3 2

ONGOING DONE

KANBAN  IN  A  SCRUM:  DEPLOY  WHEN  READY

PRIORITIES

10

DEPLOY

2

@jonathansen

Scrum with KanbanBEYOND  SCRUM

ANALYSISONGOING

DONEDEVELOPMENT TESTINGDONE ONGOING DONE

3 2

ONGOING DONE

KANBAN  IN  A  SCRUM:  DEPLOY  WHEN  READY

PRIORITIES

10

DEPLOY

2

Avg  Lead:  14  days

Avg  cycle:  3  days

@jonathansen

Scrum with KanbanBEYOND  SCRUM

ANALYSISONGOING

DONEDEVELOPMENT TESTINGDONE ONGOING DONE

3 2

ONGOING DONE

KANBAN  IN  A  SCRUM:  DEPLOY  WHEN  READY

PRIORITIES

10

DEPLOY

2

Avg  Lead:  32  days

Avg  cycle:  3  days

7

@jonathansen

Scrum with KanbanBEYOND  SCRUM

GOAL-­‐CENTRIC  PROCESS

1. Team  Goals  2. Customer  Goals  

!with

KANBAN

@jonathansen

Scrum with KanbanBEYOND  SCRUM

@jonathansen

Scrum with KanbanBEYOND  SCRUM                                                                                                                    OUT  OF  SPRINTS                                              

@jonathansen

Scrum with KanbanBEYOND  SCRUM                              OUT  OF  SPRINTS                                                IN  SPRINTS

@jonathansen

IMPROVE  SPRINTS  |  MANAGE  EPICS    

ALIGN  WITH  CUSTOMER

Scrum with Kanban

@jonathansen

Scrum with Kanban

@jonathansen

top related