69
How BBC Sport Scales Engineering Keith Mitchell Group Engineering Manager, Future Media Sport t: @specialized e : [email protected]

Velocity EU 2014 - How BBC Sport Scales Engineering

Embed Size (px)

DESCRIPTION

This presentation focusses on the challenges faced by the BBC Sport engineering team in order to continue to innovative and deliver high performing products while establishing sound, repeatable development practices. The presentation will discuss how our practices have changed and how we strive to continually improve our automated testing and development cycle. I’ll introduce and demonstrate a number of the Open Source tools we have established and show how both the “3 Amigos Process” and sweet confections (cake) helped us learn and improve without blame.

Citation preview

Page 2: Velocity EU 2014 - How BBC Sport Scales Engineering
Page 3: Velocity EU 2014 - How BBC Sport Scales Engineering

NEWS

LIVEWEATHER

SEARCH

HOMEPAGEABOUT THE BBC

TRAVEL

MUSIC

Bitesize

ARTS

FOOD

NEWSBEAT

PROGRAMMES

Radio

Page 4: Velocity EU 2014 - How BBC Sport Scales Engineering

SPORT

Page 5: Velocity EU 2014 - How BBC Sport Scales Engineering
Page 6: Velocity EU 2014 - How BBC Sport Scales Engineering
Page 7: Velocity EU 2014 - How BBC Sport Scales Engineering
Page 8: Velocity EU 2014 - How BBC Sport Scales Engineering
Page 9: Velocity EU 2014 - How BBC Sport Scales Engineering
Page 10: Velocity EU 2014 - How BBC Sport Scales Engineering
Page 11: Velocity EU 2014 - How BBC Sport Scales Engineering

96 millionBrazil World Cup - The Open Championship(12 June - 20 July)

Page 12: Velocity EU 2014 - How BBC Sport Scales Engineering

77.6 million (June)Biggest month in our entire historybit.ly/BBCSportRecord

Page 13: Velocity EU 2014 - How BBC Sport Scales Engineering

A New Start & Home - MediaCityUK

Page 14: Velocity EU 2014 - How BBC Sport Scales Engineering

People & ProcessEngineering Excellence

Build & Release Pipeline

Tooling

Page 16: Velocity EU 2014 - How BBC Sport Scales Engineering
Page 17: Velocity EU 2014 - How BBC Sport Scales Engineering

No blame just cake!

CI (improvement)

Page 18: Velocity EU 2014 - How BBC Sport Scales Engineering

Wagile, Scrum, Kanban, ScrumBan, WTF ?

Page 19: Velocity EU 2014 - How BBC Sport Scales Engineering

The team

Communication (Tickets)

Ceremonies

Page 20: Velocity EU 2014 - How BBC Sport Scales Engineering

The Dev Team

The Delivery Team

Page 21: Velocity EU 2014 - How BBC Sport Scales Engineering
Page 22: Velocity EU 2014 - How BBC Sport Scales Engineering
Page 23: Velocity EU 2014 - How BBC Sport Scales Engineering

Pay Attention to the entire chainWhat’s your cycle time ?

The value isn’t important, the journey will be !

Page 24: Velocity EU 2014 - How BBC Sport Scales Engineering
Page 25: Velocity EU 2014 - How BBC Sport Scales Engineering

People & Process

Engineering ExcellenceBuild & Release Pipeline

Tooling

Page 26: Velocity EU 2014 - How BBC Sport Scales Engineering

BDD & TDD

Acceptance Criteria (ACs)

Moved ACs out of JIRA / Confluence

AC in version control

AC drives automated tests

Page 27: Velocity EU 2014 - How BBC Sport Scales Engineering

Automated Testson every commit

Page 28: Velocity EU 2014 - How BBC Sport Scales Engineering

Engineering Excellence and ‘4 Good Things’ (TM)

Meaningful code reviews

Developers being accountable for non-functional requirements(DoD, NFR checklist)

Continuous integration

Automated acceptance testing

Page 29: Velocity EU 2014 - How BBC Sport Scales Engineering

Common Language(Gherkin Syntax -> Ruby step defs)

Communication

Easy to know when you are done(Good spec = good tests)

http://cukes.info

Page 30: Velocity EU 2014 - How BBC Sport Scales Engineering

The 3 4 Amigos

- Pre-Amigos

- Three Amigos

- Agree/Post Amigos

Page 31: Velocity EU 2014 - How BBC Sport Scales Engineering

Ruby & PHP App(pain in the ass)

Moving to more Client-side JS

Cucumber worked for a while...

Page 32: Velocity EU 2014 - How BBC Sport Scales Engineering

BA (& dev) driven change

It Should over Given, When, Then scenarios

Page 33: Velocity EU 2014 - How BBC Sport Scales Engineering

Should ITgithub.com/bbc-sport/ShouldIT

Page 34: Velocity EU 2014 - How BBC Sport Scales Engineering

People & Process

Engineering Excellence

Build & Release PipelineTooling

Page 35: Velocity EU 2014 - How BBC Sport Scales Engineering

int test stage live

as live production

Dev

Developer

Operations

sandbox

shared platform

rpm rpm

A Sport Engineer

rpm

rpm rpm

done

must be stable & trustable

Audience

bbc.co.uk/developer

Page 36: Velocity EU 2014 - How BBC Sport Scales Engineering

int test stage live

as live production

Dev

Developer

Operations

sandbox

shared platform

NEWSSPORT HOMEPAGE

rpm rpm

A Sport Engineer

rpm

rpm rpm

done

pain barrier !

must be stable & trustable

Audience

bbc.co.uk/developer

Page 37: Velocity EU 2014 - How BBC Sport Scales Engineering
Page 38: Velocity EU 2014 - How BBC Sport Scales Engineering
Page 39: Velocity EU 2014 - How BBC Sport Scales Engineering
Page 40: Velocity EU 2014 - How BBC Sport Scales Engineering
Page 41: Velocity EU 2014 - How BBC Sport Scales Engineering
Page 42: Velocity EU 2014 - How BBC Sport Scales Engineering
Page 43: Velocity EU 2014 - How BBC Sport Scales Engineering

Hack Days & Innovation Time

Benefit to the business & the team(less faff!)

Page 44: Velocity EU 2014 - How BBC Sport Scales Engineering

People & Process

Engineering Excellence

Build & Release Pipeline

Tooling

Page 45: Velocity EU 2014 - How BBC Sport Scales Engineering

Toolingleads to

Practices & behavioursleads to

Culture

(so important, we made a 5th team)

Page 46: Velocity EU 2014 - How BBC Sport Scales Engineering

int test stage live

as live production

Dev

Developer

Operations

sandbox

shared platform

NEWSSPORT HOMEPAGE

rpm rpm

A Sport Engineer

rpm

rpm rpm

done

must be stable & trustable

Audience

bbc.co.uk/developer

Page 47: Velocity EU 2014 - How BBC Sport Scales Engineering

int test stage live

as live production

Dev

Developer

Operations

sandbox

shared platform

NEWSSPORT HOMEPAGE

rpm rpm

A Sport Engineer

rpm

rpm rpm

done

pain barrier !

must be stable & trustable

Audience

bbc.co.uk/developer

Page 48: Velocity EU 2014 - How BBC Sport Scales Engineering

int test stage live

as live production

Dev

Developer

Operations

sandbox

shared platform

NEWSSPORT HOMEPAGE

rpm rpm

A Sport Engineer

rpm

rpm rpm

done

pain barrier !

Audience

bbc.co.uk/developer

Page 49: Velocity EU 2014 - How BBC Sport Scales Engineering

int test stage live

as live production

Dev

Developer

Operations

sandbox

shared platform

NEWSSPORT HOMEPAGE

rpm rpm

A Sport Engineer

rpm

rpm rpm

done

pain barrier !

must be stable & trustable

Audience

bbc.co.uk/developer

pain !

“works on my machine”

Poor data

1 version of package

pain !

Page 50: Velocity EU 2014 - How BBC Sport Scales Engineering

int test stage live

as live production

Dev

Developer

Operations

sandbox

shared platform

NEWSSPORT HOMEPAGE

rpm rpm

A Sport Engineer

rpm

rpm rpm

done

pain barrier !

must be stable & trustable

Audience

bbc.co.uk/developer

pain !

“works on my machine”

Poor data

1 version of package

pain !

Page 51: Velocity EU 2014 - How BBC Sport Scales Engineering

int test stage live

as live production

Dev

Developer

Operations

sandbox

shared platform

NEWSSPORT HOMEPAGE

rpm rpm

A Sport Engineer

rpm

rpm rpm

done

pain barrier !

must be stable & trustable

Audience

bbc.co.uk/developer

pain !

Poor data

1 version of package

pain !

new platform

Page 52: Velocity EU 2014 - How BBC Sport Scales Engineering
Page 53: Velocity EU 2014 - How BBC Sport Scales Engineering
Page 54: Velocity EU 2014 - How BBC Sport Scales Engineering

livesandbox diff

Page 55: Velocity EU 2014 - How BBC Sport Scales Engineering
Page 56: Velocity EU 2014 - How BBC Sport Scales Engineering
Page 57: Velocity EU 2014 - How BBC Sport Scales Engineering
Page 58: Velocity EU 2014 - How BBC Sport Scales Engineering
Page 59: Velocity EU 2014 - How BBC Sport Scales Engineering

int test stage live

as live production

Dev

Developer

Operations

sandbox

shared platform

NEWSSPORT HOMEPAGE

rpm rpm

A Sport Engineer

rpm

rpm rpm

done

pain barrier !

must be stable & trustable

Audience

bbc.co.uk/developer

new platform

Page 60: Velocity EU 2014 - How BBC Sport Scales Engineering

int test stage live

as live production

Dev

Developer

Operations

sandbox

shared platform

NEWSSPORT HOMEPAGE

rpm rpm

A Sport Engineer

rpm

rpm rpm

done

pain barrier !

must be stable & trustable

Audience

bbc.co.uk/developer

pain !

pain !

new platformmagic faff reducing toolbox

Page 61: Velocity EU 2014 - How BBC Sport Scales Engineering

int test stage live

as live production

Dev

Developer

Operations

sandbox

shared platform

NEWSSPORT HOMEPAGE

rpm rpm

A Sport Engineer

rpm

rpm rpm

done

pain barrier !

must be stable & trustable

Audience

bbc.co.uk/developer

pain !

Good data

pain !

new platformmagic faff reducing toolbox

Page 62: Velocity EU 2014 - How BBC Sport Scales Engineering

trust

confidence

less faff

happy team

predictablilty

Page 63: Velocity EU 2014 - How BBC Sport Scales Engineering
Page 64: Velocity EU 2014 - How BBC Sport Scales Engineering
Page 65: Velocity EU 2014 - How BBC Sport Scales Engineering

SOCHI

Page 66: Velocity EU 2014 - How BBC Sport Scales Engineering
Page 67: Velocity EU 2014 - How BBC Sport Scales Engineering

That’s the journey so far

Next: CD / Dev Ops / Data Driven / Lean Analytics / RUM . . .

. . . more chance for us to lower the faffage* !* faffage may not be a real word

Page 68: Velocity EU 2014 - How BBC Sport Scales Engineering

The tools are here :

github.com/bbc-sport/ShouldIT

github.com/bbc-sport/viewporter

github.com/BBC-News/Wraith

More coming soon. . .

Page 69: Velocity EU 2014 - How BBC Sport Scales Engineering

Thanks for your time

Keith MitchellGroup Engineering Managert: @specializede : [email protected]