SlideShare a Scribd company logo
1 of 48
Gavin Barton 
Group Engineering Manager 
BBC Future Media, K&L & Content Discovery 
e: gavin.barton@bbc.co.uk 
t: @gav_bar
171 million
Homepage and Search vision is 
to instigate and deepen each 
BBC Online visitor’s journey 
through the stories that spark 
their interests and capture 
their imagination
building our team culture 
ENGINEERING AT THE BBC
K&L Product Vision – Brilliantly Curious 
Unlocking learning potential in everything we do. The BBC’s knowledge and learning products make learning feel effortless 
because they wake and sustain your natural curiosity with connected services built around world-class BBC content. 
Development Team Mission 
To deliver great software and products for the K&L Product vision keeping audiences at the heart of what we do. 
Quality Craft Delivery 
Our Commitment 
• Our Team Charter is our guiding principles 
• Collaborate and deliver as team 
Our Team 
• No showstopper bugs in our live code 
• 99.95% availability for all our continuous 
delivery cloud based projects 
• We deliver high 
quality software 
• NFRs from the 
out set 
• Treated as a first 
class citizen 
• Great engineering 
practices adopted 
throughout team 
• Share our code 
• We hold each 
other to high 
standards 
• We adopt great 
continuous 
delivery practices 
• Deliver our 
products when 
we say we will 
• Our team builds 
great culture 
• Keep Innovating 
• Enjoy what we 
do 
• We don’t work in 
silos
PDM 
Right people around the same table 
TPM BA UX DEV DEV DEV DEV TEST 
TEST 
DEV 
LEAD 
UX 
TPM BA UX DEV DEV DEV TEST 
PDM 
DEV
our delivery mindset 
ENGINEERING AT THE BBC
Tracking Progress
Visibility is everything
continuous delivery 
ENGINEERING AT THE BBC
Continuous Integration ≠ Continuous Delivery 
- Smaller features 
- Regular live releases 
- Increased Automation 
- DevOps 
- Mindset change… 
“Always ready for release”
Operational Concerns 
• Quality from the outset 
• Deal with Monitoring, support etc early 
• Measure and track NFRs 
• Releasing to live before audience go live 
• Failure scenarios and group prep
Delivering Value 
• Small features with value 
• Team focused on few features 
• Limit WIP
Quality of Build 
• Use branching to keep the master clean 
• Fast, automated tests 
• Test everything 
• Code reviews enforced through GitHub 
• Build run on code review candidates
Publically Advertise our Status
Defects 
• Daily triage 
• Now or never 
• Blockers 
• Belief in next live release
Surface Quality 
• Pass rate 
• Defect Age 
• Live Status
Unfinished Features 
• Hide from live users 
• Manage via content 
• Feature flags
building software – the fun stuff 
ENGINEERING AT THE BBC
How we Engineer Software 
• Responsive Web Software 
• Cut the mustard 
• HTML Standards 
• NFRs 
• Accessibility 
• Keep it simple 
• SOA – RESTful services
Journey of a feature to live 
Tech Discovery Build Feature CI 
Feature Level 
Testing 
App Level 
Integration 
Testing 
Regression 
Testing 
Live Release 
Product 
Definition 
Feature 
Build 
Testing 
Phase 
Release 
phase 
Pre Release 
Activities 
Post Live 
Release 
Dev/UX/Test 
Review 
Push to Test 
Feature 
Elaboration 
Feature 
Definition
Journey of a feature to live 
Product 
Definition 
Feature 
Elaboration 
Feature 
Definition
Journey of a feature to live 
Product 
Definition 
Feature 
Elaboration 
Feature 
Definition
Journey of a feature to live 
Feature 
Build 
Tech Discovery Build Feature CI 
Dev/UX/Test 
Review 
Push to Test
Journey of a feature to live 
Feature 
Build 
Tech Discovery 
Technical design 
Technical architecture 
Updating story points 
UX design considered 
Accessibility considered 
Test considered 
Tech spike
Journey of a feature to live 
Feature 
Build 
Build Feature 
Create feature branch 
Create Tests including mock data 
Write code 
Pairing 
TDD 
Write Manual Test Cases 
TestRail Updated 
Test cases reviewed 
Identify automation test candidates
Journey of a feature to live 
Feature 
Build 
CI 
Run test suite on sandbox 
Code Sniffer 
Code coverage 
NFRs
Journey of a feature to live 
Feature 
Build 
Peer review 
Fix early bugs 
DoD Update 
Pull request & code review 
Build 
Push to Test
Journey of a feature to live 
Feature Level 
Testing 
App Level 
Integration 
Testing 
Regression 
Testing 
Testing 
Phase
Journey of a feature to live 
Feature Level 
Testing 
Testing 
Phase 
Test supported device/browser list 
Fix bugs triage only when needed 
Accessibility testing 
Exploratory testing 
Manual testing
Journey of a feature to live 
App Level 
Integration 
Testing 
Testing 
Phase 
Test supported device/browser list 
Fix bugs triage only by exception 
Exploratory testing 
Manual Testing 
Integration 
Load test 
Accessibility testing
Regression 
Testing 
Journey of a feature to live 
Testing 
Phase 
Manual regression 
KDF Run 
Update KDF Pack 
DoD Updated 
Automated Regression
Journey of a feature to live 
Live Release 
Release 
phase 
Pre Release 
Activities 
Post Live 
Release
Journey of a feature to live 
Release 
phase 
Pre Release 
Activities 
Content release 
Co-ordinate with other teams
Journey of a feature to live 
Live Release 
Release 
phase 
No blocker bugs 
Features and dependencies must be tested 
before a release can go 
Fix none blocker bugs as next priority above all 
DoD Completed
Journey of a feature to live 
Release 
phase 
Post Live 
Release 
Post release activities 
Live Sanity check 
Release note 
Live Regression 
KDF Run 
Stats analysis / RUM
Journey of a feature to live 
Live Release 
Release 
phase 
Pre Release 
Activities 
Post Live 
Release
Thank you 
e: gavin.barton@bbc.co.uk 
t: @gav_bar

More Related Content

What's hot

Introduction to Enterprise-Release Engineering on the Salesforce Platform
Introduction to Enterprise-Release Engineering on the Salesforce PlatformIntroduction to Enterprise-Release Engineering on the Salesforce Platform
Introduction to Enterprise-Release Engineering on the Salesforce PlatformSalesforce Developers
 
Story Testing Approach for Enterprise Applications using Selenium Framework
Story Testing Approach for Enterprise Applications using Selenium FrameworkStory Testing Approach for Enterprise Applications using Selenium Framework
Story Testing Approach for Enterprise Applications using Selenium FrameworkOleksiy Rezchykov
 
Automate More with Selenium for your RWD
Automate More with Selenium for your RWDAutomate More with Selenium for your RWD
Automate More with Selenium for your RWDPerfecto by Perforce
 
SWE Interactive - Overview
SWE Interactive - OverviewSWE Interactive - Overview
SWE Interactive - OverviewCraig Le
 
Software Craftsmanship for DevOps professionals - Umesh Kumar / Murughan Pala...
Software Craftsmanship for DevOps professionals - Umesh Kumar / Murughan Pala...Software Craftsmanship for DevOps professionals - Umesh Kumar / Murughan Pala...
Software Craftsmanship for DevOps professionals - Umesh Kumar / Murughan Pala...Technical Agility institute
 
Mca 02 year_exp_unit_automation_testing_ldra_rtrt_c -
Mca 02 year_exp_unit_automation_testing_ldra_rtrt_c -Mca 02 year_exp_unit_automation_testing_ldra_rtrt_c -
Mca 02 year_exp_unit_automation_testing_ldra_rtrt_c -sandeep kumar gupta
 
State of mobile Continuous Delivery at Spotify
State of mobile Continuous Delivery at SpotifyState of mobile Continuous Delivery at Spotify
State of mobile Continuous Delivery at SpotifyMobile Delivery Days
 
deliver:agile - Enable your Agile Team with Continuous Delivery Pipelines
deliver:agile - Enable your Agile Team with Continuous Delivery Pipelinesdeliver:agile - Enable your Agile Team with Continuous Delivery Pipelines
deliver:agile - Enable your Agile Team with Continuous Delivery PipelinesEsteban Garcia
 
Testing in a continuous delivery environment
Testing in a continuous delivery environmentTesting in a continuous delivery environment
Testing in a continuous delivery environmentStefan Verhoeff
 
Versioning strategy for a complex internal API (Konstantin Yakushev)
Versioning strategy for a complex internal API (Konstantin Yakushev)Versioning strategy for a complex internal API (Konstantin Yakushev)
Versioning strategy for a complex internal API (Konstantin Yakushev)Nordic APIs
 
DevTalk: From Uni to Enterprise
DevTalk: From Uni to EnterpriseDevTalk: From Uni to Enterprise
DevTalk: From Uni to EnterprisePerforce
 
Ciprian redinciuc continuous integration with jenkins for i os
Ciprian redinciuc   continuous integration with jenkins for i osCiprian redinciuc   continuous integration with jenkins for i os
Ciprian redinciuc continuous integration with jenkins for i osCodecamp Romania
 
Techniques and Tools to Improve the Salesforce Development Cycle
Techniques and Tools to Improve the Salesforce Development CycleTechniques and Tools to Improve the Salesforce Development Cycle
Techniques and Tools to Improve the Salesforce Development CycleSalesforce Developers
 
Hidden Treasure - TestComplete Script Extensions
Hidden Treasure - TestComplete Script ExtensionsHidden Treasure - TestComplete Script Extensions
Hidden Treasure - TestComplete Script ExtensionsSmartBear
 
Managing Continuous Delivery of Mobile Apps - for the Enterprise
Managing Continuous Delivery of Mobile Apps - for the EnterpriseManaging Continuous Delivery of Mobile Apps - for the Enterprise
Managing Continuous Delivery of Mobile Apps - for the EnterpriseSauce Labs
 
IaC? VSTS to the rescue! Abbreviations explained
IaC? VSTS to the rescue! Abbreviations explainedIaC? VSTS to the rescue! Abbreviations explained
IaC? VSTS to the rescue! Abbreviations explainedJeroen Niesen
 
Simple ci cd with strider cd
Simple ci cd with strider cdSimple ci cd with strider cd
Simple ci cd with strider cdAmandeep Singh
 
Test Driven Development - Workshop
Test Driven Development - WorkshopTest Driven Development - Workshop
Test Driven Development - WorkshopAnjana Somathilake
 

What's hot (20)

Introduction to Enterprise-Release Engineering on the Salesforce Platform
Introduction to Enterprise-Release Engineering on the Salesforce PlatformIntroduction to Enterprise-Release Engineering on the Salesforce Platform
Introduction to Enterprise-Release Engineering on the Salesforce Platform
 
Story Testing Approach for Enterprise Applications using Selenium Framework
Story Testing Approach for Enterprise Applications using Selenium FrameworkStory Testing Approach for Enterprise Applications using Selenium Framework
Story Testing Approach for Enterprise Applications using Selenium Framework
 
Automate More with Selenium for your RWD
Automate More with Selenium for your RWDAutomate More with Selenium for your RWD
Automate More with Selenium for your RWD
 
SWE Interactive - Overview
SWE Interactive - OverviewSWE Interactive - Overview
SWE Interactive - Overview
 
Software Craftsmanship for DevOps professionals - Umesh Kumar / Murughan Pala...
Software Craftsmanship for DevOps professionals - Umesh Kumar / Murughan Pala...Software Craftsmanship for DevOps professionals - Umesh Kumar / Murughan Pala...
Software Craftsmanship for DevOps professionals - Umesh Kumar / Murughan Pala...
 
Mca 02 year_exp_unit_automation_testing_ldra_rtrt_c -
Mca 02 year_exp_unit_automation_testing_ldra_rtrt_c -Mca 02 year_exp_unit_automation_testing_ldra_rtrt_c -
Mca 02 year_exp_unit_automation_testing_ldra_rtrt_c -
 
State of mobile Continuous Delivery at Spotify
State of mobile Continuous Delivery at SpotifyState of mobile Continuous Delivery at Spotify
State of mobile Continuous Delivery at Spotify
 
deliver:agile - Enable your Agile Team with Continuous Delivery Pipelines
deliver:agile - Enable your Agile Team with Continuous Delivery Pipelinesdeliver:agile - Enable your Agile Team with Continuous Delivery Pipelines
deliver:agile - Enable your Agile Team with Continuous Delivery Pipelines
 
Testing in a continuous delivery environment
Testing in a continuous delivery environmentTesting in a continuous delivery environment
Testing in a continuous delivery environment
 
Versioning strategy for a complex internal API (Konstantin Yakushev)
Versioning strategy for a complex internal API (Konstantin Yakushev)Versioning strategy for a complex internal API (Konstantin Yakushev)
Versioning strategy for a complex internal API (Konstantin Yakushev)
 
DevTalk: From Uni to Enterprise
DevTalk: From Uni to EnterpriseDevTalk: From Uni to Enterprise
DevTalk: From Uni to Enterprise
 
Ciprian redinciuc continuous integration with jenkins for i os
Ciprian redinciuc   continuous integration with jenkins for i osCiprian redinciuc   continuous integration with jenkins for i os
Ciprian redinciuc continuous integration with jenkins for i os
 
Techniques and Tools to Improve the Salesforce Development Cycle
Techniques and Tools to Improve the Salesforce Development CycleTechniques and Tools to Improve the Salesforce Development Cycle
Techniques and Tools to Improve the Salesforce Development Cycle
 
Hidden Treasure - TestComplete Script Extensions
Hidden Treasure - TestComplete Script ExtensionsHidden Treasure - TestComplete Script Extensions
Hidden Treasure - TestComplete Script Extensions
 
Managing Continuous Delivery of Mobile Apps - for the Enterprise
Managing Continuous Delivery of Mobile Apps - for the EnterpriseManaging Continuous Delivery of Mobile Apps - for the Enterprise
Managing Continuous Delivery of Mobile Apps - for the Enterprise
 
IaC? VSTS to the rescue! Abbreviations explained
IaC? VSTS to the rescue! Abbreviations explainedIaC? VSTS to the rescue! Abbreviations explained
IaC? VSTS to the rescue! Abbreviations explained
 
Api360 Summit The Automated Monolith
Api360 Summit  The Automated MonolithApi360 Summit  The Automated Monolith
Api360 Summit The Automated Monolith
 
DevOps Architecture Design
DevOps Architecture DesignDevOps Architecture Design
DevOps Architecture Design
 
Simple ci cd with strider cd
Simple ci cd with strider cdSimple ci cd with strider cd
Simple ci cd with strider cd
 
Test Driven Development - Workshop
Test Driven Development - WorkshopTest Driven Development - Workshop
Test Driven Development - Workshop
 

Viewers also liked

PERATURAN BUPATI ASAHAN NOMOR : 31 TAHUN 2008
PERATURAN BUPATI ASAHAN NOMOR : 31 TAHUN  2008PERATURAN BUPATI ASAHAN NOMOR : 31 TAHUN  2008
PERATURAN BUPATI ASAHAN NOMOR : 31 TAHUN 2008Trisno Setiawan
 
презентация судакова игоря
презентация судакова игоряпрезентация судакова игоря
презентация судакова игоряkoreanpumpkin
 
Second Market Collateral Design
Second Market Collateral DesignSecond Market Collateral Design
Second Market Collateral Designjuliefriedenberg
 
Streaming architecture with HDP & ELK
Streaming architecture with HDP & ELKStreaming architecture with HDP & ELK
Streaming architecture with HDP & ELKAlain Douangpraseuth
 
Proposal Deklarasi Kepengurusan Pemuda Lira Asahan
Proposal Deklarasi Kepengurusan Pemuda Lira AsahanProposal Deklarasi Kepengurusan Pemuda Lira Asahan
Proposal Deklarasi Kepengurusan Pemuda Lira AsahanTrisno Setiawan
 

Viewers also liked (6)

Resume
ResumeResume
Resume
 
PERATURAN BUPATI ASAHAN NOMOR : 31 TAHUN 2008
PERATURAN BUPATI ASAHAN NOMOR : 31 TAHUN  2008PERATURAN BUPATI ASAHAN NOMOR : 31 TAHUN  2008
PERATURAN BUPATI ASAHAN NOMOR : 31 TAHUN 2008
 
презентация судакова игоря
презентация судакова игоряпрезентация судакова игоря
презентация судакова игоря
 
Second Market Collateral Design
Second Market Collateral DesignSecond Market Collateral Design
Second Market Collateral Design
 
Streaming architecture with HDP & ELK
Streaming architecture with HDP & ELKStreaming architecture with HDP & ELK
Streaming architecture with HDP & ELK
 
Proposal Deklarasi Kepengurusan Pemuda Lira Asahan
Proposal Deklarasi Kepengurusan Pemuda Lira AsahanProposal Deklarasi Kepengurusan Pemuda Lira Asahan
Proposal Deklarasi Kepengurusan Pemuda Lira Asahan
 

Similar to Engineering at bbc kl hpsd

CI/CD for mobile at HERE
CI/CD for mobile at HERECI/CD for mobile at HERE
CI/CD for mobile at HEREStefan Verhoeff
 
Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”
Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”
Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”Emerasoft, solutions to collaborate
 
SanDiego_DevOps_Meetup_9212016
SanDiego_DevOps_Meetup_9212016SanDiego_DevOps_Meetup_9212016
SanDiego_DevOps_Meetup_9212016w2fong
 
DevOps with Microsoft Stack
DevOps with Microsoft StackDevOps with Microsoft Stack
DevOps with Microsoft StackDeepti Jain
 
SanDiego_DevOps_Meetup_9212016-v8
SanDiego_DevOps_Meetup_9212016-v8SanDiego_DevOps_Meetup_9212016-v8
SanDiego_DevOps_Meetup_9212016-v8Rajwinder Singh
 
Quality in dev ops east 2017
Quality in dev ops east 2017Quality in dev ops east 2017
Quality in dev ops east 2017Amir Rozenberg
 
Application Lifecycle Management
Application Lifecycle ManagementApplication Lifecycle Management
Application Lifecycle ManagementAmazon Web Services
 
Continuous testing for Agile and DevOps teams
Continuous testing for Agile and DevOps teamsContinuous testing for Agile and DevOps teams
Continuous testing for Agile and DevOps teamsLaurent PY
 
Our DevOps Journey: 6 Month Waterfalls to 1 Hour Code Deploys
Our DevOps Journey: 6 Month Waterfalls to 1 Hour Code DeploysOur DevOps Journey: 6 Month Waterfalls to 1 Hour Code Deploys
Our DevOps Journey: 6 Month Waterfalls to 1 Hour Code DeploysDynatrace
 
Datatree.io Webinar: Continuous Integration & Delivery for Agile Teams
Datatree.io Webinar: Continuous Integration & Delivery for Agile TeamsDatatree.io Webinar: Continuous Integration & Delivery for Agile Teams
Datatree.io Webinar: Continuous Integration & Delivery for Agile TeamsTara Walker
 
Deepak_Resume_Automation
Deepak_Resume_AutomationDeepak_Resume_Automation
Deepak_Resume_AutomationDeepak Pandey
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsAmazon Web Services
 
[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...
[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...
[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...WSO2
 
DevOps for AI Apps
DevOps for AI AppsDevOps for AI Apps
DevOps for AI AppsRichin Jain
 
Succesful Testing The Continuous Delivery Process
Succesful Testing The Continuous Delivery ProcessSuccesful Testing The Continuous Delivery Process
Succesful Testing The Continuous Delivery ProcessHuib Schoots
 
DevOps on AWS - Building Systems to Deliver Faster
DevOps on AWS - Building Systems to Deliver FasterDevOps on AWS - Building Systems to Deliver Faster
DevOps on AWS - Building Systems to Deliver FasterAmazon Web Services
 
How To Become A DevOps Engineer | Who Is A DevOps Engineer? | DevOps Engineer...
How To Become A DevOps Engineer | Who Is A DevOps Engineer? | DevOps Engineer...How To Become A DevOps Engineer | Who Is A DevOps Engineer? | DevOps Engineer...
How To Become A DevOps Engineer | Who Is A DevOps Engineer? | DevOps Engineer...Simplilearn
 
Continuous Delivery: releasing Better and Faster at Dashlane
Continuous Delivery: releasing Better and Faster at DashlaneContinuous Delivery: releasing Better and Faster at Dashlane
Continuous Delivery: releasing Better and Faster at DashlaneDashlane
 

Similar to Engineering at bbc kl hpsd (20)

CI/CD for mobile at HERE
CI/CD for mobile at HERECI/CD for mobile at HERE
CI/CD for mobile at HERE
 
Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”
Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”
Webinar: “Continuous Delivery: il tuo primo passo verso il DevOps”
 
SanDiego_DevOps_Meetup_9212016
SanDiego_DevOps_Meetup_9212016SanDiego_DevOps_Meetup_9212016
SanDiego_DevOps_Meetup_9212016
 
DevOps with Microsoft Stack
DevOps with Microsoft StackDevOps with Microsoft Stack
DevOps with Microsoft Stack
 
SanDiego_DevOps_Meetup_9212016-v8
SanDiego_DevOps_Meetup_9212016-v8SanDiego_DevOps_Meetup_9212016-v8
SanDiego_DevOps_Meetup_9212016-v8
 
Quality in dev ops east 2017
Quality in dev ops east 2017Quality in dev ops east 2017
Quality in dev ops east 2017
 
Application Lifecycle Management
Application Lifecycle ManagementApplication Lifecycle Management
Application Lifecycle Management
 
Continuous testing for Agile and DevOps teams
Continuous testing for Agile and DevOps teamsContinuous testing for Agile and DevOps teams
Continuous testing for Agile and DevOps teams
 
Our DevOps Journey: 6 Month Waterfalls to 1 Hour Code Deploys
Our DevOps Journey: 6 Month Waterfalls to 1 Hour Code DeploysOur DevOps Journey: 6 Month Waterfalls to 1 Hour Code Deploys
Our DevOps Journey: 6 Month Waterfalls to 1 Hour Code Deploys
 
Dev ops using Jenkins
Dev ops using JenkinsDev ops using Jenkins
Dev ops using Jenkins
 
Datatree.io Webinar: Continuous Integration & Delivery for Agile Teams
Datatree.io Webinar: Continuous Integration & Delivery for Agile TeamsDatatree.io Webinar: Continuous Integration & Delivery for Agile Teams
Datatree.io Webinar: Continuous Integration & Delivery for Agile Teams
 
Deepak_Resume_Automation
Deepak_Resume_AutomationDeepak_Resume_Automation
Deepak_Resume_Automation
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
 
[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...
[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...
[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...
 
DevOps for AI Apps
DevOps for AI AppsDevOps for AI Apps
DevOps for AI Apps
 
How to Add Perfecto to Your CI
How to Add Perfecto to Your CIHow to Add Perfecto to Your CI
How to Add Perfecto to Your CI
 
Succesful Testing The Continuous Delivery Process
Succesful Testing The Continuous Delivery ProcessSuccesful Testing The Continuous Delivery Process
Succesful Testing The Continuous Delivery Process
 
DevOps on AWS - Building Systems to Deliver Faster
DevOps on AWS - Building Systems to Deliver FasterDevOps on AWS - Building Systems to Deliver Faster
DevOps on AWS - Building Systems to Deliver Faster
 
How To Become A DevOps Engineer | Who Is A DevOps Engineer? | DevOps Engineer...
How To Become A DevOps Engineer | Who Is A DevOps Engineer? | DevOps Engineer...How To Become A DevOps Engineer | Who Is A DevOps Engineer? | DevOps Engineer...
How To Become A DevOps Engineer | Who Is A DevOps Engineer? | DevOps Engineer...
 
Continuous Delivery: releasing Better and Faster at Dashlane
Continuous Delivery: releasing Better and Faster at DashlaneContinuous Delivery: releasing Better and Faster at Dashlane
Continuous Delivery: releasing Better and Faster at Dashlane
 

Recently uploaded

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 

Recently uploaded (20)

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 

Engineering at bbc kl hpsd

  • 1. Gavin Barton Group Engineering Manager BBC Future Media, K&L & Content Discovery e: gavin.barton@bbc.co.uk t: @gav_bar
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8. Homepage and Search vision is to instigate and deepen each BBC Online visitor’s journey through the stories that spark their interests and capture their imagination
  • 9. building our team culture ENGINEERING AT THE BBC
  • 10. K&L Product Vision – Brilliantly Curious Unlocking learning potential in everything we do. The BBC’s knowledge and learning products make learning feel effortless because they wake and sustain your natural curiosity with connected services built around world-class BBC content. Development Team Mission To deliver great software and products for the K&L Product vision keeping audiences at the heart of what we do. Quality Craft Delivery Our Commitment • Our Team Charter is our guiding principles • Collaborate and deliver as team Our Team • No showstopper bugs in our live code • 99.95% availability for all our continuous delivery cloud based projects • We deliver high quality software • NFRs from the out set • Treated as a first class citizen • Great engineering practices adopted throughout team • Share our code • We hold each other to high standards • We adopt great continuous delivery practices • Deliver our products when we say we will • Our team builds great culture • Keep Innovating • Enjoy what we do • We don’t work in silos
  • 11. PDM Right people around the same table TPM BA UX DEV DEV DEV DEV TEST TEST DEV LEAD UX TPM BA UX DEV DEV DEV TEST PDM DEV
  • 12. our delivery mindset ENGINEERING AT THE BBC
  • 13.
  • 14.
  • 15.
  • 16.
  • 20. Continuous Integration ≠ Continuous Delivery - Smaller features - Regular live releases - Increased Automation - DevOps - Mindset change… “Always ready for release”
  • 21. Operational Concerns • Quality from the outset • Deal with Monitoring, support etc early • Measure and track NFRs • Releasing to live before audience go live • Failure scenarios and group prep
  • 22. Delivering Value • Small features with value • Team focused on few features • Limit WIP
  • 23. Quality of Build • Use branching to keep the master clean • Fast, automated tests • Test everything • Code reviews enforced through GitHub • Build run on code review candidates
  • 25. Defects • Daily triage • Now or never • Blockers • Belief in next live release
  • 26. Surface Quality • Pass rate • Defect Age • Live Status
  • 27. Unfinished Features • Hide from live users • Manage via content • Feature flags
  • 28. building software – the fun stuff ENGINEERING AT THE BBC
  • 29. How we Engineer Software • Responsive Web Software • Cut the mustard • HTML Standards • NFRs • Accessibility • Keep it simple • SOA – RESTful services
  • 30. Journey of a feature to live Tech Discovery Build Feature CI Feature Level Testing App Level Integration Testing Regression Testing Live Release Product Definition Feature Build Testing Phase Release phase Pre Release Activities Post Live Release Dev/UX/Test Review Push to Test Feature Elaboration Feature Definition
  • 31. Journey of a feature to live Product Definition Feature Elaboration Feature Definition
  • 32. Journey of a feature to live Product Definition Feature Elaboration Feature Definition
  • 33. Journey of a feature to live Feature Build Tech Discovery Build Feature CI Dev/UX/Test Review Push to Test
  • 34. Journey of a feature to live Feature Build Tech Discovery Technical design Technical architecture Updating story points UX design considered Accessibility considered Test considered Tech spike
  • 35. Journey of a feature to live Feature Build Build Feature Create feature branch Create Tests including mock data Write code Pairing TDD Write Manual Test Cases TestRail Updated Test cases reviewed Identify automation test candidates
  • 36. Journey of a feature to live Feature Build CI Run test suite on sandbox Code Sniffer Code coverage NFRs
  • 37. Journey of a feature to live Feature Build Peer review Fix early bugs DoD Update Pull request & code review Build Push to Test
  • 38. Journey of a feature to live Feature Level Testing App Level Integration Testing Regression Testing Testing Phase
  • 39. Journey of a feature to live Feature Level Testing Testing Phase Test supported device/browser list Fix bugs triage only when needed Accessibility testing Exploratory testing Manual testing
  • 40. Journey of a feature to live App Level Integration Testing Testing Phase Test supported device/browser list Fix bugs triage only by exception Exploratory testing Manual Testing Integration Load test Accessibility testing
  • 41. Regression Testing Journey of a feature to live Testing Phase Manual regression KDF Run Update KDF Pack DoD Updated Automated Regression
  • 42. Journey of a feature to live Live Release Release phase Pre Release Activities Post Live Release
  • 43. Journey of a feature to live Release phase Pre Release Activities Content release Co-ordinate with other teams
  • 44. Journey of a feature to live Live Release Release phase No blocker bugs Features and dependencies must be tested before a release can go Fix none blocker bugs as next priority above all DoD Completed
  • 45. Journey of a feature to live Release phase Post Live Release Post release activities Live Sanity check Release note Live Regression KDF Run Stats analysis / RUM
  • 46. Journey of a feature to live Live Release Release phase Pre Release Activities Post Live Release
  • 47.
  • 48. Thank you e: gavin.barton@bbc.co.uk t: @gav_bar

Editor's Notes

  1. Start small & collaborate Iterative Agile Delivery Continuous Delivery