Velocity EU 2014 - How BBC Sport Scales Engineering

Post on 07-Jul-2015

543 views 2 download

Tags:

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.

transcript

How BBC Sport Scales Engineering

Keith MitchellGroup Engineering Manager, Future Media Sportt: @specializede : keith.mitchell@bbc.co.uk

NEWS

LIVEWEATHER

SEARCH

HOMEPAGEABOUT THE BBC

TRAVEL

MUSIC

Bitesize

ARTS

FOOD

NEWSBEAT

PROGRAMMES

Radio

SPORT

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

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

A New Start & Home - MediaCityUK

People & ProcessEngineering Excellence

Build & Release Pipeline

Tooling

No blame just cake!

CI (improvement)

Wagile, Scrum, Kanban, ScrumBan, WTF ?

The team

Communication (Tickets)

Ceremonies

The Dev Team

The Delivery Team

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

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

People & Process

Engineering ExcellenceBuild & Release Pipeline

Tooling

BDD & TDD

Acceptance Criteria (ACs)

Moved ACs out of JIRA / Confluence

AC in version control

AC drives automated tests

Automated Testson every commit

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

Common Language(Gherkin Syntax -> Ruby step defs)

Communication

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

http://cukes.info

The 3 4 Amigos

- Pre-Amigos

- Three Amigos

- Agree/Post Amigos

Ruby & PHP App(pain in the ass)

Moving to more Client-side JS

Cucumber worked for a while...

BA (& dev) driven change

It Should over Given, When, Then scenarios

Should ITgithub.com/bbc-sport/ShouldIT

People & Process

Engineering Excellence

Build & Release PipelineTooling

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

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

Hack Days & Innovation Time

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

People & Process

Engineering Excellence

Build & Release Pipeline

Tooling

Toolingleads to

Practices & behavioursleads to

Culture

(so important, we made a 5th team)

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

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

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

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 !

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 !

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

livesandbox diff

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

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

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

trust

confidence

less faff

happy team

predictablilty

SOCHI

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

The tools are here :

github.com/bbc-sport/ShouldIT

github.com/bbc-sport/viewporter

github.com/BBC-News/Wraith

More coming soon. . .

Thanks for your time

Keith MitchellGroup Engineering Managert: @specializede : keith.mitchell@bbc.co.uk