Upload
gavin-barton
View
419
Download
0
Tags:
Embed Size (px)
Citation preview
Gavin BartonGroup Engineering ManagerBBC Future Media, K&L & Content Discovery
t: @gav_bar
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
Our Commitment
K&L Product Vision – Brilliantly CuriousUnlocking 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 MissionTo deliver great software and products for the K&L Product vision keeping audiences at the heart of what we do.
CraftQuality Delivery
• 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
TPM BA UX DEV DEV DEV DEV TEST
TEST
TPM BA UX DEV DEV DEV TEST
DEV LEAD
UX
PDM
DEV
Right people around the same table
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
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
How we Engineer Software
• Responsive Web Software
• Cut the mustard
• HTML Standards
• NFRs
• Accessibility
• Keep it simple
• SOA – RESTful services
Feature Level
Testing
App Level
Integration
Testing
Regression
Testing
Live Release
Product
Definition
Feature
Build
Testing
Phase
Release
phase
Journey of a feature to live
Pre Release
Activities
Post Live
Release
Tech Discovery Build Feature CIDev/UX/Test
ReviewPush to Test
Feature
Elaboration
Feature
Definition
Feature
Build
Journey of a feature to live
Tech Discovery Build Feature CIDev/UX/Test
ReviewPush to Test
Feature
Build
Journey of a feature to live
Tech Discovery
Technical design
Technical architecture
Updating story points
UX design considered
Accessibility considered
Test considered
Tech spike
Feature
Build
Journey of a feature to live
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
Build Feature
Feature
Build
Journey of a feature to live
Run test suite on sandbox
Code Sniffer
Code coverage
NFRs
CI
Feature
Build
Journey of a feature to live
Peer review
Fix early bugs
DoD Update
Pull request & code review
Build
Push to Test
Feature Level
Testing
App Level
Integration
Testing
Regression
Testing
Testing
Phase
Journey of a feature to live
Feature Level
Testing
Testing
Phase
Journey of a feature to live
Test supported device/browser list
Fix bugs triage only when needed
Accessibility testing
Exploratory testing
Manual testing
App Level
Integration
Testing
Testing
Phase
Journey of a feature to live
Test supported device/browser list
Fix bugs triage only by exception
Exploratory testing
Manual Testing
Integration
Load test
Accessibility testing
Regression
Testing
Testing
Phase
Journey of a feature to live
Manual regression
KDF Run
Update KDF Pack
DoD Updated
Automated Regression
Release
phase
Journey of a feature to live
Pre Release
Activities
Content release
Co-ordinate with other teams
Live Release
Release
phase
Journey of a feature to live
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
Release
phase
Journey of a feature to live
Post Live
Release
Post release activities
Live Sanity check
Release note
Live Regression
KDF Run
Stats analysis / RUM