Date post: | 07-Jul-2015 |
Category: |
Technology |
Upload: | keith-mitchell |
View: | 543 times |
Download: | 2 times |
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. . .