Climbing out of a crisis-loop at the BBC Katherine Kirk Raf - - PowerPoint PPT Presentation

climbing out of a crisis loop at the bbc
SMART_READER_LITE
LIVE PREVIEW

Climbing out of a crisis-loop at the BBC Katherine Kirk Raf - - PowerPoint PPT Presentation

Climbing out of a crisis-loop at the BBC Katherine Kirk Raf Gemmail QCon London 2013 Session code: 7531 Introduction: the comfort page Katherine Kirk, Independent Was PM on this project Background Contracting for over 10 years


slide-1
SLIDE 1

Climbing out of a crisis-loop at the BBC

Katherine Kirk Raf Gemmail QCon London 2013

slide-2
SLIDE 2

Session code: 7531

slide-3
SLIDE 3

Introduction: the comfort page

  • Katherine Kirk, Independent

– Was PM on this project

  • Background

– Contracting for over 10 years » Investment banks, Media companies, Trading companies… mostly large corporations » Previously:

  • Rally Coach – John Deere, Philips, Continental, Petris etc
  • BBC - R&D, iPlayer, Core services

– MSc Software Engineering, Oxford

  • Raf Gemmail

– Was Dev on this project

slide-4
SLIDE 4
  • One scenario
  • Two perspectives
slide-5
SLIDE 5

Disclaimer

  • This is the view of the presenters NOT the BBC

– The current team is working well

slide-6
SLIDE 6

Keeping buzz words to a minimum

... swimlanes, policies, WIP limits, empowerment, cooperation, etc etc ...

  • Instead:

– Case study + plain language

  • Why?

– At the end of the day: its about getting stuff done

slide-7
SLIDE 7

This pres is about

  • Working past the industry sell

– Do Scrum or Kanban ‘right’

  • What happens if you can’t do Scrum or

Kanban ‘properly’?

  • Can you still be Agile/Lean
  • Can you get out of a pretty bad crisis?
  • We think we did
slide-8
SLIDE 8

Format

  • What was the crisis?
  • What Scrum and Kanban we did ‘roughly’?
  • What did we differently?
  • Why did the crisis loop stop?
slide-9
SLIDE 9
  • Not a typical agile team scenario

– Purely back end team – Not cross-functional – All Perl/Java devs doing same thing – No front end – No vertical slicing

slide-10
SLIDE 10

In 3 months

  • Calmed the crisis-to-crisis cycle that had been

running for nearly 2 years

  • Began building new solution
  • Kept things running AND improved the process at

the same time

  • Turned around stakeholder relationships
  • Despite

– People leaving and a restructure

slide-11
SLIDE 11

But we did everything ‘incorrectly’

Kanban-ish Scrum-ish So what did we do differently? And were we still Agile/Lean if we didn’t follow the ‘rule book’?

slide-12
SLIDE 12

Key factor in our ‘success’

  • Agile/Lean are principles NOT methods
  • This means you can use your brain to solve

stuff, as long as it aligns with the principles(!)

  • Hmmm....
slide-13
SLIDE 13

THE CASE STUDY: CONTEXT

slide-14
SLIDE 14

Team

  • Specialist, metadata delivery back end team
  • Create feeds to display content

– Main ‘client’: iPlayer – Daily traffic peak of between 200 and 500 requests/second (Not including cached responses) – Over 700 playback formats – Servicing hundreds of devices

  • Mobile, IPTV, PC, tablets (in all variants and models)
slide-15
SLIDE 15

Put into perspective

  • “... 30m requests for iPlayer content via mobile or

tablet in July [2012] alone

  • [represents only] 20% of all requests for iPlayer

programmes across all platforms... “

  • Approx 150 million requests per month
  • No metadata feed = no content display

– Front end teams are dependent

  • cannot display content without getting feed
  • cannot change or edit a feed – needs specialist expertise

http://www.bbc.co.uk/blogs/internet/posts/iplayer_mobile_downloads

slide-16
SLIDE 16

Front end teams Core/Back end teams Integration & Operations

Operations Tstng

Fierce backlog competition

iPlayer Radio & Music Externals...

mobile IPTV PC etc etc etc etc mobile IPTV PC etc etc etc etc mobile IPTV PC etc etc etc etc Meta data Logic Search etc etc etc Testing & Integration

slide-17
SLIDE 17

Front end teams Core/Back end teams Integration & Operations

Operations Tstng

Integration & Test= 4 weeks min

iPlayer Radio & Music Externals...

mobile IPTV PC etc etc etc etc mobile IPTV PC etc etc etc etc mobile IPTV PC etc etc etc etc Meta data Logic Search etc etc etc Testing & Integration

* Extra workload on top of planned items (a sprint never ends...)

*

slide-18
SLIDE 18

Operations: One big bottleneck

Front end teams Core/Back end teams Integration & Operations

iPlayer Radio & Music Externals...

mobile IPTV PC etc etc etc etc mobile IPTV PC etc etc etc etc mobile IPTV PC etc etc etc etc Meta daata Logic Search etc etc etc Operations Testing & Integration

slide-19
SLIDE 19

Divisional General Manager Heads of Delivery /Product managers Project Manager

Official Communication

3 main issues for back end specialist team:

  • Division heads do not necessarily have the expertise
  • Prioritisation via Chinese whispers
  • Time delay for decision making
slide-20
SLIDE 20

So... if it’s urgent?

slide-21
SLIDE 21

The crisis-loop

  • Desperately holding on to Scrum
  • Stakeholders have lost trust
  • Technical debt increasing
  • Work not done until urgent
  • Silo expertise
  • Management by manouvre
slide-22
SLIDE 22

In summary

  • Awesome team
  • Running hard to stand still
  • A ‘victim’ to its environment and corporate

structure

slide-23
SLIDE 23

APPROACH

slide-24
SLIDE 24

How to go about this?

  • Others had gone through same thing and left
  • Pressure

– Make change NOW – Look like the expert – Save the day!

  • Highly specialised area: how could I know

what was wrong?

– Decided to observe first

slide-25
SLIDE 25

Observation time

  • I looked like an idiot
slide-26
SLIDE 26

Observations after 3 weeks

  • They were making all their commitments last

minute BUT

– “Reliance on 'hero' effort is the norm! – Team is EXHAUSTED – WHY?????

slide-27
SLIDE 27

Causes

  • Over 60% of team sprint activity = live and unexpected

issues

  • Actual time on planned work is at 10% of management

expectation

  • Struggling with stakeholder liaison - no visibility of progress
  • Bugs taking 70 days turnover
  • Acceptance Criteria non existent
  • Already 6 month plus backlog
  • Reviewing 20 more additional requests of work per week
  • Capacity falling (ppl leaving)
  • Difficulty hiring: specialist knowledge
slide-28
SLIDE 28

New culture: Under promise / Over deliver

slide-29
SLIDE 29

Ask the EXPERTS what to do

Hand the problem over to the REAL problem solvers: those doing the work!

–THE ENGINEERS!!!!!

(Warning to Managers: most engineers are more qualified at solving problems than you are)

slide-30
SLIDE 30

Solve problems collaboratively

Action PM gathers/ collates info Presents to dev team

  • (group or

individual) Brainstorming Reach general consensus

  • Time box

‘experiment’

slide-31
SLIDE 31

Change through collaborative experimentation

  • Define agreed timeframe
  • Action
  • Review
  • Keep/try something else
slide-32
SLIDE 32

THE USUAL EXPLANATION: SCRUM & KANBAN

slide-33
SLIDE 33

Kept some Scrum

  • Kept Scrum just for 40% workload (planned

delivery)

– Matching the rest of the org

  • Kept meeting templates

– But didn’t always use them ‘in the right way’

slide-34
SLIDE 34

Did ‘minimal’ Kanban

  • Observed
  • Visualised
  • Incremental improvement after observations
  • f patterns
  • No ‘proper’ measures
  • No fancy graphs or charts
slide-35
SLIDE 35

The original ‘day board’

To do Doing Done Bugs?

slide-36
SLIDE 36

Most requested: What state is the work actually in?

To do doing done

Blocked Query Backlog Ready Doing For review Merged Ready for test Doing Done

slide-37
SLIDE 37

Onto the day board....

Blocked Query Backlog Ready Doing For review Merged Ready for test Doing Done

slide-38
SLIDE 38

What are we working on?

Sprint backlog urgent requests

Type Response needed Bugs Days Planned work Every two weeks ideally against a 6 month plan Performance & Optimisation Indefinite Technical Debt Indefinite Operations development Kneejerk (hourly?)

slide-39
SLIDE 39

Ring fenced reality

Bugs (1-3 days) Ops-Dev (now) Performance & Optimisation Slate: Planned Delivery Slate: New solution? Response team Delivery team

60% 40%

Actual capacity Type of work

slide-40
SLIDE 40
  • And then, incrementally improved
  • 40% = Delivery team = Scrum-style
  • 60% = Response team = Kanban style
slide-41
SLIDE 41

USUALLY PRESENTATION ENDS HERE....

slide-42
SLIDE 42

In 3 months

 Results

  • Live issues down (60% to 10-20%)
  • Met delivery schedule thus far
  • Most viewed program on iPlayer = no blip
  • Improved stakeholder liaison

▪ From Red to Amber for Test and iPlayer (day to day operations, not

slate)

▪ Online and physical visibility of progress ▪ Bugs from 70 days to less than a sprint turnover

slide-43
SLIDE 43

AND THAT’S IT????

slide-44
SLIDE 44
  • REALLY???
  • Was that all it took?
  • A bit of methodology?
slide-45
SLIDE 45

HELL NO! Don’t be fooled

  • Its not about the methods, its about people

– (and if you don’t believe me, read everything from Alistair Cockburn, twice)

  • For example

– Boards/Visualisations etc represent human interactions – Meetings / gatherings in Scrum are people collaboration ‘tools’

slide-46
SLIDE 46

WHAT WE DID ‘BEHIND THE SCENES’

slide-47
SLIDE 47

Collaboration

  • We concentrated very hard on working together
  • penly and truthfully
  • It was HARD work
  • It was counter intuitive
  • It didn’t feel comfortable
  • Some people really struggled with it at the start
slide-48
SLIDE 48

Examples

  • Quirky stuff we did together

– Resulted from collaborating – Rather than following methodology instructions

slide-49
SLIDE 49

Workstream Methodology Mix-n-Match

Response Delivery

Planned delivery (2 weeks) Bugs (1-3 days) Ops Dev (NOW) P&O (continuous) Tech Debt

[Scrum –style planning to match stakeholder demand] [Daily planning with Product Owner and Stakeholders] [Hourly response and review] [Both planned and responsive] Devs rotate through workstreams every 2 weeks [Both planned and responsive]

slide-50
SLIDE 50

Benefits

  • Fairness
  • Removing ‘single points of failure’
  • Distributing knowledge throughout the team

– Holidays – Sickness – Mentoring

  • Understanding of impact of coding practices
slide-51
SLIDE 51

Changed the way we communicated: Expand/Contract*

?

Discover Focus Discover Focus Discover Focus Discover Focus

Main issues Key Causes Best solution

Effective action Issues Causes Solutions Actions

  • Expand: what’s

wrong?

  • Contract: what’s the

main issues?

  • Expand: what’s

possible causes?

  • Contract: what’s

the main causes?

  • Expand: how could

we fix this?

  • Contract: what

would make the most effect?

  • Expand: how should

we go about this?

  • Contract: what,

timeframe, how, who?

*Rachel Davies knows a lot about this

slide-52
SLIDE 52

In everything we did

  • Conversations
  • Reviews
  • Retrospectives
  • Speculations

Issues – Causes – Solutions - Actions

slide-53
SLIDE 53

Examine the ‘truth’ openly

Stakeholder Upper Mgmt Bugs Support requests Features Per sprint Adhoc requests Delivery PM Devs Emails Conversations Meetings Ops-dev Dev team Jira

slide-54
SLIDE 54

Collaborative discussions result

slide-55
SLIDE 55

Stakeholder liaison: new set up

Dynamite Inbox In JIRA Review: PO / PM / Dev and Test Stakeholder Upper Mgmt Slate Per sprint Per 24 hours Feature Champions assigned here Short tasks needing quick response Dev Tester

Triage point BONUS – solving issue by collaborating means we already have buyin

slide-56
SLIDE 56

Overcame: Expertise silos

Backend / Core team devs Front end devs Operations devs

? ?

3 main issues for all:

  • Integration
  • Writing requirements/requests
  • Understanding (what each other has done/why)
slide-57
SLIDE 57

Champions

  • Strategic, ‘inner’ PO role

– NOT a ‘dogs-body’ – Keeps the overview – Responsible for a feature or area of the app

  • Inception > live > maintenance and documentation

– QUALITY: What / how / when to code – Direct liaise with stakeholder devs – Breaks down work for backlog if required with PO – Reports on progress – Involved spearheading realistic estimation

slide-58
SLIDE 58

Stakeholder team Stakeholder team Stakeholder team

Champions: REAL product ownership

PO dev dev dev Stakeholder team dev

Backlog, priority, strategy

Performance and

  • ptimisation

Bugs/ Technical Debt

slide-59
SLIDE 59

Initiated Team Peer Sessions

2 wks 2 wks 2 wks 2 wks 2 wks

* Optional: Estimating / review / info sharing

Sprints Standups Peer Sessions* Planning Retrospective Standups – Kanban style

  • Issues only
  • Info sessions after, if required
  • Blocked / hold resolution ASAP
  • right to left

Peer Sessions (optional)

  • Information transfer
  • Feature champion led
  • All on same page
  • Data to the team (engagement)
  • Strategy / plan comms
  • Estimation of large features
  • Reviewing effectiveness/ capacity

Planning

  • Assign support team
  • Rotate duties
  • Estimation of support work
  • Review/resolve operations issues
slide-60
SLIDE 60

Defined ideal in REAL words

Ideal Example of measure of ideal Increased quality no hemorrhaging bugs, last minute surprises and live issues; significant reduction of usage of dev for the ‘bugs’ role per sprint Significant reduction of technical debt and it’s effects Time for refactoring is valued and provided Refactoring has clearly been done No ‘cowboy’ workaround pressure from Product Managers or upper management Significant reduction to backlog

  • f planned work

work only on what is required Jira backlog only contains relevant and organized tickets Good tracking of current and upcoming workload no sudden surprises – e.g. B2B Increased adaptability we can bend and flex with demand: technical solution, devs, testers and process Increased predictability

  • n time delivery for committed items

Commitment process is realistic no promising by upstream of what we are not likely to deliver on time – consultation with team/PMs BEFORE commitment Realistic input and direction from upstream management discussing not just what to do, but also HOW – incorporating capacity limitations Trusted PM/Dev/Tester/upper management relationship request from upper management or stakeholder is translated effectively, and efficiently flows through the system with a quality

  • utput

More transparent upper management activities what’s coming up is clear to the team and stakeholders Happy stakeholders effective stakeholder expectation management: bravery to communicate capacity limitations and other commitments good communication of process, progress on items and outward documentation - example: business friendly release notes Engaged and empowered devs all devs currently in position are retained, and scores of ‘job satisfaction’ is around 7-8 out of 10, with 85% of all devs indicating improvement of job - example: are enjoying their ‘feature champion’ spec’d correctly WITH acceptance criteria in BDD scenarios ’s respect from devs of PO’s requests and direction

slide-61
SLIDE 61
  • Simple solutions
  • Effective – for our context
  • Not in the rulebook
  • But in line with the principles of Agile/Lean
slide-62
SLIDE 62

REAL RESULT

slide-63
SLIDE 63

As we said before: In 3 months

 Results

  • Live issues down (60% to 10-20%)
  • Met delivery schedule thus far
  • Most viewed program on iPlayer = no blip
  • Improved stakeholder liaison

▪ From Red to Amber for Test and iPlayer (day to day operations, not

slate)

▪ Online and physical visibility of progress ▪ Bugs from 70 days to less than a sprint turnover

slide-64
SLIDE 64

BUT: for the next 3 months

  • WITHOUT a manager or coach
  • Team self managed

– Kept improving – Didn’t fall back into crisis – Kept good stakeholder relationships

slide-65
SLIDE 65

18 months later

  • From all reports, the team is still going strong

– Now have a project manager – Haven’t fallen back into crisis

slide-66
SLIDE 66

Empowerment

People solving problems together = Learning = Can solve problems on their own = Less handholding/time wasting/cost!

slide-67
SLIDE 67

REFLECTION

slide-68
SLIDE 68

Summary

  • Although we did

– Scrum-ish – Kanban-ish

  • Why did it work?
  • Here is a hint....

– Individuals and interactions (over processes and tools) – Customer collaboration (over customer negotiation) – Responding to change (over following a plan) – Etc..

slide-69
SLIDE 69

Agile/Lean is not a method

  • Kanban and Scrum are Agile/Lean

– But Agile/Lean are not necessarily Kanban or Scrum

  • The principles can save ‘difficult’ projects

– Even when methods can’t

  • Use principles as your guide
  • Reality as your driver
  • And methods as your tools
slide-70
SLIDE 70

In a crisis loop

  • Suggestion

– If you have to choose between a process (e.g. Scrum or Kanban) and adhering to Agile/Lean Principles.... – Choose the principles!

(err... that’d be this one: individuals and interactions over processes and tools)

;-)

slide-71
SLIDE 71

RAF GEMMAIL

slide-72
SLIDE 72
slide-73
SLIDE 73

A Dev's Eye View

slide-74
SLIDE 74

We practiced Scrum:

 Sprints  Pointing  Planning poker  XP

slide-75
SLIDE 75

But during the Sprint:

 URGENT issues  Out of remit features

slide-76
SLIDE 76

But during the Sprint:

 URGENT issues  Out of remit features  Failure to learn from history

slide-77
SLIDE 77

Planned work compromised by unplanned work

slide-78
SLIDE 78

The climate

 Code decay

slide-79
SLIDE 79

The climate

 Code decay  Reviews blocking features

slide-80
SLIDE 80

The climate

 Code decay  Reviews blocking features  Devs and PM's leaving

slide-81
SLIDE 81

The climate

 Code decay  Reviews blocking features  Devs and PM's leaving  No time to improve dev process

slide-82
SLIDE 82

The climate

 Code decay  Reviews blocking features  Devs and PM's leaving  No time to improve dev process

slide-83
SLIDE 83

09:30 Almost done 10:00 Stand up “I just have to merge it.” Merge Test 11:00 Done

slide-84
SLIDE 84

09:30 Nearly done 10:00 Stand up Merge Test Failed Code Test Push 11:30 Done

slide-85
SLIDE 85

09:30 Nearly done 10:00 Stand up Merge Test Failed Bug: “Urgent! Who is available?” Code Test Push 14:00 Done

slide-86
SLIDE 86

09:30 Nearly done 10:00 Stand up Merge Test Failed Bug: “Stake holder complained..” Code Production Issue Test Push 18:00 Done

  • 90 mins work

== 8h day

slide-87
SLIDE 87

Katherine Kirk on the Bridge

 You guys are AMAZING  But Stakeholders are scared

slide-88
SLIDE 88

Katherine Kirk on the Bridge

 You guys are AMAZING  But Stakeholders are scared  What do you think we should do?

slide-89
SLIDE 89

Katherine Kirk on the Bridge

 You guys are AMAZING  But Stakeholders are scared  What do you think we should do?

Did she just ask us to fix the PM function?? Are the stake holders letting her?

slide-90
SLIDE 90

Nemawashi (根回し)

slide-91
SLIDE 91

Review Change Review Change D e v P r

  • c

e s s 1 D e v P r

  • c

e s s 2 D e v P r

  • c

e s s 3

Improve without compromising current workload

slide-92
SLIDE 92

The 'normal' Retrospective noise

Ownership

slide-93
SLIDE 93

Review: Expand/Contract

?

Discover Focus Discover Focus Discover Focus Discover Focus

Main issues Key Causes Best solution

Effective action Issues Causes Solutions Action

slide-94
SLIDE 94

Issues Dump

Example

slide-95
SLIDE 95

Issues Dump Grouping

Example

Who knows what? Cant keep up Decaying Code

slide-96
SLIDE 96

Issues Dump Grouping Cause?

Example

Single points

  • f failure

Too reactionary (accepting too much) Tech debt

Who knows what? Cant keep up Decaying Code

slide-97
SLIDE 97

Action

Single points

  • f failure

Too reactionary (accepting too much) Tech debt

Cause

slide-98
SLIDE 98

Action

Single points

  • f failure

Too reactionary (accepting too much) Tech debt

Cause Solution options

slide-99
SLIDE 99

Action

Single points

  • f failure

Too reactionary (accepting too much) Tech debt Rotate devs through workstreams Prioritisation and triage New workstream

  • n board

Cause Solution options Will try

slide-100
SLIDE 100

No more heros

 A reactive Pull-based Response Team  Feature Champions to PO critical features  An Empowered Team!

slide-101
SLIDE 101

Response team:

 Bugs  Ops  Performance and

  • ptimisation
slide-102
SLIDE 102

'Everyone-is-a-Hero' Rotation

Ops Bugs

slide-103
SLIDE 103

'Everyone-is-a-Hero' Rotation

Ops

 Release Process  Technical Debt  Process automation  Stability

Bugs

slide-104
SLIDE 104

'Everyone-is-a-Hero' Rotation

Ops

 Release Process  Technical Debt  Process automation  Stability

Bugs Burdensome Needs to be done Often user error

slide-105
SLIDE 105

'Everyone-is-a-Hero' Rotation

Ops

 Release Process  Technical Debt  Process automation  Stability

Bugs Burdensome Needs to be done Often user error

Shared Knowledge

slide-106
SLIDE 106

Planned work: A new day!

 9am: Work on feature – include some TD  Stand up  CODE (Review / Have code review)  TEST (Test – Merge –Test – Push)  1800: HOME

1 days work == 1 day uninterrupted work!!!!!

slide-107
SLIDE 107

9:30am Check Splunk Alerts

10am Stand up

10:15am Pull P&O card

12pm Discuss optimisation with Recommendations team

2pm Pair with TL on incident

3pm Review Related Code and raise ticket

4pm Refactor and speed up some feed

  • P&O Officer's Log

1 days work == whatever needed!!!!!

Response work: A new way!

slide-108
SLIDE 108

Visualisations provided a more granular understanding

 Dev = {analysis, dev, review, testing, merge}

slide-109
SLIDE 109

Visualisations provided a more granular understanding

 Dev = {analysis, dev, review, testing, merge}  “I'm nearly done” → “He's in review”

slide-110
SLIDE 110

Visualisations provided a more granular understanding

 Dev = {analysis, dev, review, testing, merge}  “I'm nearly done” → “He's in review”  “I'm merging” → “Dev's still got tests to run”

slide-111
SLIDE 111

Visualisations provided a more granular understanding

 Dev = {analysis, dev, review, testing, merge}  “I'm nearly done” → “He's in review”  “I'm merging” → “The dev's still got tests to run”  Test Column → Test Board

slide-112
SLIDE 112

Visualisations provided a more granular understanding

 Dev = {analysis, dev, review, testing, merge}  “I'm nearly done” → “He's in review”  “I'm merging” → “The dev's still got tests to run”  Test Column → Test Board

slide-113
SLIDE 113

Self Management

 Continued to improve “established”

process

 Experiments with pointing  Moves towards pure TDD  New PM → went to Scrumban

slide-114
SLIDE 114

Communication & Collaboration

Over Process

slide-115
SLIDE 115

On Reflection

slide-116
SLIDE 116

Consider

 If we'd tried

Scrum-right Kanban-right

 Not so Agile/Lean?  Results as quick?  As Sustainable?  Self-managing?

slide-117
SLIDE 117

Principles

Lean

 Eliminate waste  Amplify learning  Decide as late as

possible

 Deliver as fast as

possible

 Empower the team  Build integrity in  See the whole

Agile Manifesto Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration

  • ver contract

negotiation Responding to change

  • ver following a plan
slide-118
SLIDE 118

Nemawashi (根回し)