henrik kniberg: lean from the trenches keynote @ agileee

65
Lean from the Trenches Oct 6, 2012 Agile Eastern Europe, Kiev Henrik Kniberg Agile/Lean coach www.crisp.se

Upload: agileee

Post on 20-Aug-2015

2.085 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

Lean from the Trenches Oct 6, 2012

Agile Eastern Europe, Kiev

Henrik Kniberg Agile/Lean coach

www.crisp.se

Page 2: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

2 Henrik Kniberg 2

Page 3: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

3 Henrik Kniberg

3

Page 4: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

4 Henrik Kniberg

4

Page 5: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

5 Henrik Kniberg 5

Kanban

Scrum

XP

Lean principles

Page 6: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

6

<dislaimer>

No solutions. Only examples.

</disclaimer>

Henrik Kniberg 6

Page 7: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

7

Once upon a time…

7

Page 8: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

8

PUST – Polisens Utrednings STöd

Henrik Kniberg 8

2011 2010

Page 9: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

9 Henrik Kniberg 9

Timeline

Q3 Q4 Q3 Q4 Q1 Q2 Q1 Q2

2009 2010 2011

1.1 1.2 1.3 1.5

Project launch

10 people

30 people 60+ people

1.0

First pilot

1.4

Nationwide

Page 10: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

10

Slicing the elephant

Henrik Kniberg 10

PUST

1.0

1.2

1.3 1.4

1.5

Region Östergötland, Uppsala, etc

Crime types (weapon, drunk driving, shoplifting, etc)

Integrations

1.1

Page 11: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

11 Henrik Kniberg 11

PUST Project

”Customer”

Acceptance test user group

Onsite user

Pilot users

User involvement

Page 12: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

12

Team structure & ”Daily cocktail party”

12

Page 13: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

13

Team structure - before

Henrik Kniberg 13

3 Development

teams

Test team

Requirements analyst team

?

% #

!

!

?

% #

!

!

Page 14: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

14

Improved team structure

Henrik Kniberg 14

3 Feature teams

System test team

Requirements analyst team

Page 15: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

15 Henrik Kniberg 15

”Daily cocktail party” 9:15 – 10:15

Page 16: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

16 Henrik Kniberg

16

Feature team 1 Feature team 2 Feature team 3

9:30 – 9:45 9:15 – 9:30 9:30 – 9:45

9:45 – 10:00

Test sync

Requirements sync

Dev sync

9:45 – 10:00

Project sync

10:00 – 10:15

Page 17: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

17

The project board

17

Page 18: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

18 Henrik Kniberg 18

Next 10 features Ideas Features Development System

test

User acceptance

test

FLOW

Production

Page 19: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

19 Henrik Kniberg 19

Page 20: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

20

Planning (2w)

week 1 week 2 week 3 week 4 week 5 week 6 week 7 week 8

Retrospectives (2w)

Release (2m)

Demo & systest (continuous)

Cadences

Page 21: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

21

Page 22: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

22 Henrik Kniberg 22

Page 23: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

23

Impediments & escalation

Henrik Kniberg 23

Feature blocked

General impediments

asdfasdfasdf As police!I need to scan!So that !

Can’t test!!Waiting fo

r!

barcode reader!

Jim!March 12!

2011-03-01!

Police car = urgent (patch)

Page 24: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

24

Scaling the boards

24

Page 25: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

25 Henrik Kniberg 25

Next 10 features

Ready for sys test

Dev in progress

Sys test progress

Feature swimlanes

Page 26: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

26

Henrik Kniberg 26

Dev Team 1 Dev Team 2 Dev Team 3

Next 10 features

Dev in progress

Ready for sys test

Page 27: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

27 Henrik Kniberg 27

Definition of ”ready for

development”

Definition of ”ready for

system test”

Page 28: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

28 Henrik Kniberg 28 Henrik Kniberg 28

Page 29: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

29

How we handle tech stories

29

Page 30: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

30

Tech stories

Henrik Kniberg 30

Next 5 tech stories

Next 10 features

Ready for Development

Page 31: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

31

Example: the 7 meter class

Henrik Kniberg 31

Page 32: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

32 Henrik Kniberg 32

”Oh no, bottleneck in System Test!

FLOW

Page 33: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

33 Henrik Kniberg 33

Bottleneck

”Let’s stop building new

features”

”... and focus on test automation!”

Question of the week: How can we best

contribute to system test today?

Page 34: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

34 Henrik Kniberg 34

Everyone doing tech

stories

Page 35: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

35

How we handle bugs

35

Page 36: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

36 Henrik Kniberg 36

Test Fix %&@#!

Release

Week 1 Week 2 Week 3 Week 4 Week 5 Week 6 Week 7 Week 8

Release

Week 1 Week 2 Week 3 Week 4 Week 5 Week 6 Week 7 Week 8

Test at end:

Test

%&@#!

Fix

Fix Time saved!

Test

Test continuously:

Before: Test at end

Now: Test continuously

Page 37: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

37

Bug fixing process

Henrik Kniberg 37

Bug found!

More important than any of the current top 30?

No

Write sticky-note, find developer,

fix now!

Yes

Replace one of the other

top 30 bugs with this one

Yes

Ignore it

No

Don’t log it. Fix it NOW!

Blocker?

Page 38: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

38

Three input queues

Henrik Kniberg 38

Next 5 tech stories

Next 10 features

Next 5 lower priority bugs

Page 39: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

39 Henrik Kniberg 39

Recurring bugs

Page 40: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

40

How we continuously improve the process

40

Page 41: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

41

Retrospectives every 1-2 weeks

Henrik Kniberg 41

Page 42: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

42

Too much, too fast!

Henrik Kniberg 42

Page 43: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

43

Limiting the rate of change

Henrik Kniberg 43

”A4” improvement proposal

”A4” improvement proposal

”A4” improvement proposal

”A4” improvement proposal

Page 44: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

44 Henrik Kniberg 44

Proposal:  More  Customer-­‐Valued  Stories  Why?  What  Problem  Are  We  Trying  to  Solve?  •  Hard  to  get  an  overview  of  the  project  board  

from  customer  perspec7ve,  many  stories  are  so  small  that  they  can’t  be  delivered.  

DescripAon  /  FAQ  A  story  that  goes  into  development  must:  1.  Be  size  S  or  M  2.  Be  as  customer  valuable  as  possible,  as  long  as  we  don’t  

break  the  size  rule.  

The  requirements  team  ensures  that  each  card  under  ”Ready  for  Development”  is  a  customer-­‐valued  story  (regardless  of  size).  However,  before  it  enters  development  it  must  be  S  or  M.    Ques7on:  What  happens  if  the  story  is  L,  and  must  be  delivered  as  a  whole  before  it  is  valuable  to  the  customer?  •  Break  it  down  to  smaller  stories  (new  cards)  which  are  size  M,  

but  with  highest  possible  customer  value  per  story.  •  Visually  group  these  stories  by  wri7ng  the  name  of  the  higher  

level  feature  in  big  blue  leSers  at  the  top  of  each  card.  

Who  Is  Affected  By  The  Change?  •  Requirements,  development,  and  test  teams.  

What  Are  the  Change  ImplementaAon  Steps?  •  Update  Defini7on  of  Done  for  ”Ready  for  

Development”,  add  ”the  story  is  valuable  to  the  customer”.  

•  Go  through  the  board  &  iden7fy  stories  that  are  too  small  to  be  valuable.  Combine  these  into  bigger  stories  (as  long  as  they  don’t  exceed  Medium).  

Remove Confiscation

CONFISCATION

S

Confiscation L

Example:  Register

Confiscation

CONFISCATION

M

Page 45: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

45

Limiting the rate of change

Henrik Kniberg 45

”A4” improvement proposal

”A4” improvement proposal

”A4” improvement proposal

”A4” improvement proposal

Page 46: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

46

How we capture and use process metrics

46

Page 47: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

47

Process metrics

"   Velocity = feature per week "   Throughput time = weeks per feature

Page 48: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

48 Henrik Kniberg 48

Ready for acceptance test

(this week so far)

Ready for acceptance test

(previous weeks)

Velocity per week

Velocity – stories per week

Page 49: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

49 Henrik Kniberg 49

49

# of features delivered to acceptance test

Week

Velocity-based release planning All of these will

be done

Some of these will be done, but not all

None of these will be done

Page 50: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

50 Henrik Kniberg 50

Page 51: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

51 Henrik Kniberg 51

Bed time!

Timeline (5 minute intervals)

Total work

Play time!

Page 52: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

52 Henrik Kniberg 52

Page 53: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

53

Velocity improvement

Henrik Kniberg 53

Q1 3 features per week

Q2 6.5 features per

week

# of features delivered to acceptance test

Week

Page 54: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

54

Throughput time – weeks per feature

Henrik Kniberg 54

Next 10 features

Ready for acceptance

test Throughput time (elapsed days)

Page 55: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

55 Henrik Kniberg 55

Elapsed days

Feature

Page 56: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

56

Throughput time improvement

Henrik Kniberg 56

Q1 6-14 weeks per feature Q2

3-6 weeks per feature

Elapsed days

Page 57: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

57

Surprising insight

Henrik Kniberg 57

”Small” & ”Medium” features take roughly same

amount of time

Large:  59  days  

Medium:  37  days  

Small:  31  days  Average throughput time

Elapsed days

Feature

Page 58: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

58

How we track the high level goal

58

Page 59: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

59 Henrik Kniberg 59

High level goal

Milestone

Page 60: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

60

Death March Detection using gut feel

Henrik Kniberg 60

5 = certainly 4 = probably 3 = barely 2 = probably not 1 = forget it

Do you believe the current goal is achievable?

Page 61: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

61 Henrik Kniberg 61

Page 62: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

62

Wrapup

62

Page 63: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

63

Incremental delivery Setting the project up for success Co-location

Customer involvement

Page 64: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

64

Creating a culture of continuous improvement

Henrik Kniberg 64

Communication

Data

Clarity

Page 65: Henrik Kniberg: Lean from the Trenches keynote @ AgileEE

65

Perfection is a direction, not a place

Henrik Kniberg

The important thing is not how you work.

The important thing is how you improve the way you work!