delivering a strategic kanban

74

Upload: others

Post on 02-Jan-2022

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Delivering a strategic Kanban
Page 2: Delivering a strategic Kanban

Delivering a strategic platform for the future using Kanban

Phil Poole

Page 3: Delivering a strategic Kanban

● ITV is an integrated producer broadcaster● ITV achieved £1.2bn revenue for first half of 2014● ITV Studios is the largest commercial producer in the UK, creating over 3,500

hours of original content each year● ITV invests approx. £1billion per annum commissioning programmes for its

family of UK channels● ITV accounts for 99.8% of commercial programmes attracting more than 5

million viewers● ITV distributes its content to 20 platforms

About ITV

Page 4: Delivering a strategic Kanban

● Phil Poole● Agile delivery manager at ITV● Work in Technology Online - ITV Player across multiple platforms● Responsible for all agile workstreams in Online● Facilitate and coach the department to deliver using Agile practices● Scrum master a team

About Me

Page 5: Delivering a strategic Kanban

InfrastructurePhysical Servers, Virtualisation, Networking,

Storage, Data Centres, Power

PlatformConfig, HTTP Load balancers, Caching,

Database, Messaging, Search

ClientsITV Player, Internal Apps, 3rd Parties

SoftwareCommon Services, Online Services,

Media Asset Management, Workflow

COMMON PLATFORMSERVICES

COMMON PLATFORM

COMMON INFRASTRUCTURE

Page 6: Delivering a strategic Kanban

InfrastructurePhysical Servers, Virtualisation, Networking,

Storage, Data Centres, Power

PlatformConfig, HTTP Load balancers, Caching,

Database, Messaging, Search

ClientsITV Player, Internal Apps, 3rd Parties

SoftwareCommon Services, Online Services,

Media Asset Management, Workflow

COMMON PLATFORMSERVICES

COMMON PLATFORM

COMMON INFRASTRUCTURE

TV on Common

Platform

Page 7: Delivering a strategic Kanban
Page 8: Delivering a strategic Kanban

Setting up the project

Page 9: Delivering a strategic Kanban
Page 10: Delivering a strategic Kanban

2 Client sideJavascript

2 Server sideScala

2 Developers in testRuby

2 Platform engineers Puppet, …..

Page 11: Delivering a strategic Kanban

2 Client sideJavascript

2 Server sideScala Team has all the

capabilities it needs to deliver the project

Reduced the amount of dependencies to three.2 Developers in

testRuby

2 Platform engineers Puppet, …..

Page 12: Delivering a strategic Kanban

User flow

Splash screen Home screen Select A-Z Play programme

Show adverts Show programme

Pause Exit app

Page 13: Delivering a strategic Kanban

User flow

Splash screen Simple homescreen

Select A-Z

Play programme

Show adverts

Show programme

Pause

Exit app

Most popular homescreen

Page 14: Delivering a strategic Kanban

User flow

Splash screen Simple homescreen

Select A-Z

Play programme

Show adverts

Show programme

Pause

Exit app

Most popular homescreen

Slice 1:Simplest, thinnest slice that allows a user to play a video but integrates across the entire stack.

Page 15: Delivering a strategic Kanban

User flow

Splash screen Simple homescreen

Select A-Z

Play programme

Show adverts

Show programme

Pause

Exit app

Most popular homescreen

Slice 1:Simplest, thinnest slice that allows a user to play a video but integrates across the entire stack.

Slice 2:Most risky and complex work - front load the complexity

Page 16: Delivering a strategic Kanban

User flow

Splash screen Simple homescreen

Select A-Z

Play programme

Show adverts

Show programme

Pause

Exit app

Most popular homescreen

Slice 1:Simplest, thinnest slice that allows a user to play a video but integrates across the entire stack.

Slice 2:Most risky and complex work - front load the complexity

Slice 3:Anything else to have a viable MVP

Page 17: Delivering a strategic Kanban

User flow

Splash screen Simple homescreen

Select A-Z

Play programme

Show adverts

Show programme

Pause

Exit app

Most popular homescreen

Slice 1:Simplest, thinnest slice that allows a user to play a video but integrates across the entire stack.

Slice 2:Most risky and complex work - front load the complexity

Slice 3:Anything else to have a viable MVP

Slice 0:Setting up deployment pipeline and spiking to reduce large risks.

Page 18: Delivering a strategic Kanban

● Use Kanban● Pre-mortem workshop for team to decide our process ● High level sizing of MVP

○ Used points - mechanism to train team to break work into small pieces○ Ability to track progress

● Reduce complexity and dependencies by descoping certain features

Page 19: Delivering a strategic Kanban

● Each story is finished when it is tested, signed off by the business and deployed○ To the temporary integration environment○ Not production as we do not have this yet

Page 20: Delivering a strategic Kanban

2 Client sideJavascript

2 Server sideScalaManaging infrastructure

and platform separately- different report- different backlog

Purpose to create integration, stage and production environments

Purpose to create TV app and the back end services to support

2 Developers in testRuby

2 Platform engineers Puppet, …..

Page 21: Delivering a strategic Kanban

Show initial burndown chart

Answer the question to the business when is it going to get done

Cannot answer yet as new team, with no other team as a basis or template - need 6 weeks

Burndown

Page 22: Delivering a strategic Kanban

Show initial burndown chart

Answer the question to the business when is it going to get done

Cannot answer yet as new team, with no other team as a basis or template - need 6 weeks

Burndown

Slice 0 was not counted in burndown and occurred and was developed before this

Page 23: Delivering a strategic Kanban

Show initial burndown chart

Answer the question to the business when is it going to get done

Cannot answer yet as new team, with no other team as a basis or template - need 6 weeks

Burndown

Slice 0 was not counted in burndown and occurred and was developed before this Slice 0 had a 21pt story - I let it

through so team would see the pain of large stories.

However, this meant it would take longer to find an accurate indicative velocity for forcasting

Page 24: Delivering a strategic Kanban

First issue - it’s all too slow

Page 25: Delivering a strategic Kanban
Page 26: Delivering a strategic Kanban
Page 27: Delivering a strategic Kanban
Page 28: Delivering a strategic Kanban
Page 29: Delivering a strategic Kanban

Slice 1 Epic 1

Epic 2

Slice 2 Epic 1

Epic 2

Epic 3

Slice 3 Epic 1

Epic 2

Epic 3

Epic 4Front end only

Page 30: Delivering a strategic Kanban

2 Client sideJavascript

2 Server sideScala

2 Developers in testRuby

2 Platform engineers Puppet, …..

Page 31: Delivering a strategic Kanban

3 Client sideJavascript

4 Server sideScala

2 Developers in testRuby

2 Platform engineers Puppet, …..

Page 32: Delivering a strategic Kanban

3 Client sideJavascript

4 Server sideScala Increase

WIP2 Developers in testRuby

2 Platform engineers Puppet, …..

Page 33: Delivering a strategic Kanban

3 Client sideJavascript

4 Server sideScala

What about test resource?Dev: Test ratio is now 4:1. It should ideally be 2:1 Increase

WIP2 Developers in testRuby

2 Platform engineers Puppet, …..

Page 34: Delivering a strategic Kanban

3 Client sideJavascript

4 Server sideScala

What about test resource?Dev: Test ratio is now 4:1. It should ideally be 2:1 Increase

WIP3 Developers in testRuby

2 Platform engineers Puppet, …..

Page 35: Delivering a strategic Kanban

Reduced scope further

Page 36: Delivering a strategic Kanban

Started process to add extra people here

Page 37: Delivering a strategic Kanban

Started process to add extra people here

2 new people start

New person starts

New person starts

Page 38: Delivering a strategic Kanban

Adding people to a project will reduce velocity due to:

● Time to recruit● Time for people to arrive● Knowledge transfer

Short term pain for a long term gain

Page 39: Delivering a strategic Kanban
Page 40: Delivering a strategic Kanban

Second issue - everything is so blocked

Page 41: Delivering a strategic Kanban

● Risk of blocking on every story● Will lose the ability to deploy to

our integration environment at end of May

● Will not be able to set up all other environments in time

Page 42: Delivering a strategic Kanban

● Pivot our infrastructure and platform solution

● Split team so Ops concentrate on creating on new environments and integrate at a later date

● Will have an impact on the project later on

Page 43: Delivering a strategic Kanban

Issue 3 - there’s too much

Page 44: Delivering a strategic Kanban
Page 45: Delivering a strategic Kanban

Reset forecast

Page 46: Delivering a strategic Kanban

Scope increase

Reset forecast

Page 47: Delivering a strategic Kanban

Scope increase trend

Reset forecast

Page 48: Delivering a strategic Kanban

Epic Estimated size

Actual size Percentage difference

Most popular home page

34 50 47

Episode information displayed on home screen

13 46 254

Advertising 34 26 -24

ITV Branding 5 3 -40

Legal 21 19 -10

Other 8 24 200

Page 49: Delivering a strategic Kanban

How accurate are our estimations for the remaining work

Page 50: Delivering a strategic Kanban

76pts

Originally estimated

Page 51: Delivering a strategic Kanban

131pts76pts

Originally estimated

Re- estimated

Page 52: Delivering a strategic Kanban

131pts76pts

Cut the scope

Originally estimated

Re- estimated

Page 53: Delivering a strategic Kanban

Cut the scope

131pts76pts 94pts

Originally estimated

Re- estimated

After descoping A-Z

Page 54: Delivering a strategic Kanban
Page 55: Delivering a strategic Kanban

What could impact velocity and the end date?

● Deploying to the new integration environment

● Deploying to production when it is ready

● Scope increase● Need to submit app for testing

with the TV company

Page 56: Delivering a strategic Kanban

What could impact velocity and the end date?

● Deploying to the new integration environment

● Deploying to production when it is ready

● Scope increase● Need to submit app for testing

with the TV company

Started pre-launch preparation

Page 57: Delivering a strategic Kanban

Merging the teams

Page 58: Delivering a strategic Kanban

3 Client sideJavascript

4 Server sideScala

3 Developers in testRuby

3 Platform engineers Puppet, …..

Page 59: Delivering a strategic Kanban

3 Client sideJavascript

4 Server sideScala

But moving onto the new environment is now reducing velocity

3 Platform engineers Puppet, …..

3 Developers in testRuby

Page 60: Delivering a strategic Kanban

Integration env setup and ready Integration

env now being used

When we should be ready

Page 61: Delivering a strategic Kanban

Final stories● Rigourously

prioritise on a daily basis

● descoping anything we can

Page 62: Delivering a strategic Kanban

Final stories● Rigourously

prioritise on a daily basis

● descoping anything we can

Now post MVP

Page 63: Delivering a strategic Kanban

w/c 8th Sept I knew we would finish

We finished 3 days ahead of schedule

Page 64: Delivering a strategic Kanban
Page 65: Delivering a strategic Kanban
Page 66: Delivering a strategic Kanban

Looking back

Page 67: Delivering a strategic Kanban
Page 68: Delivering a strategic Kanban
Page 69: Delivering a strategic Kanban
Page 70: Delivering a strategic Kanban
Page 71: Delivering a strategic Kanban
Page 72: Delivering a strategic Kanban

● Realise it can take time to start up the project - especially if you are moving people from one team to another

● Front load the complexity and risk to the start of the project● Reduce dependencies by setting up the right team● Split the work in smaller sections through user mapping● Use pre-mortem to reduce a lot of the issues you get when you start a project● Do not forget your setup tasks - slice 0 in our case

Summary

Page 73: Delivering a strategic Kanban

● Use the burndown / burn-up / CFD to look ahead○ Don’t let gut feelings sway you, use facts only - this is hard!○ Always ask what could affect the team in the future○ Don't bury your head in the sand

● Add people to projects but with the understanding you will have short term pain for a long term gain

● When adding people do not forget about other capabilities such as test● Always ask what could impact the velocity / flow of work● Be pragmatic● Watch out for scope increase● It is ok to cut scope if dates are important

○ The closer to a release date, the malleable the scope becomes● Reset your forecasts at appropriate points

Page 74: Delivering a strategic Kanban