Upload
keith-mitchell
View
543
Download
2
Tags:
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
How BBC Sport Scales Engineering
Keith MitchellGroup Engineering Manager, Future Media Sportt: @specializede : [email protected]
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
http://paulxwillis.wordpress.com
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 : [email protected]