SlideShare une entreprise Scribd logo
1  sur  36
SO WE’RE GOING “NO QAS” –
HOW DO WE GET THE DEVS TO DO ENOUGH
TESTING?
Steve Wells
steve.wells@marks-and-spencer.com
July 2017
BACKGROUND
2
AGILE CAMBRIDGE 2016 - “DON’T GO
CHASING WATERFALLS”
3
• Scrum has only 3 roles, PO, SM and developers
• No BA, no QA, no DBA, no other (dedicated) roles – only “T-shaped
people”
• These other roles are common in scrum teams, particularly (manual) QA
• They cause a waterfall…
AGILE CAMBRIDGE 2016 - “DON’T GO
CHASING WATERFALLS”
4
PO
Dev
QA
WHY IS THIS SO BAD? (JUST BECAUSE IT
ISN’T “SCRUM”)
5
Silos
Efficiency
Over-the-wall Thinking
Undue power
of sign-off
Unnecessary delays
(while bugs are triaged)
Stifles Innovation
Just not agile!
Risk
Blocks improvement
Not failing early
Is this the real resource
requirement, every
hour, of every day of
every sprint?
33%
17%
50%
EFFICIENCY?
6
• Is this really how the work is split
every hour of every day of every
sprint?
AGILE CAMBRIDGE 2016 - “DON’T GO
CHASING WATERFALLS”
7
• Do certain people really have a “testing gene” that makes them better at
testing than developers?
• If testers find a bug that customers will never find, do we care? Particularly if
that delays release and stops us getting early feedback?
• Are a couple of QAs going to find (actual, customer impacting) bugs as
quickly as (say) hundreds on a beta program?
• Are dedicated testers going to be able to understand the complexities of the
codebase, and the best way to use testing frameworks?
AGILE CAMBRIDGE 2016 - “DON’T GO
CHASING WATERFALLS”
8
• Spotify DIBBs (Data-Insight-Belief-Bet) philosophy -
https://www.infoq.com/news/2016/07/spotify-good-at-failing
speed of iteration
beats
quality of iteration
AGILE CAMBRIDGE 2016 - “DON’T GO
CHASING WATERFALLS”
9
• Case study based on 3 teams in Sky
• Not having dedicated QAs increased speed of delivery and improved
quality (fewer bugs/rollbacks, improved customer reviews)
• Bugs spotted earlier, so faster fail
SO I GAVE THIS TALK…
10
HOW DO WE GET THE DEVS TO DO
ENOUGH TESTING?
11
WHAT IS “ENOUGH” TESTING? WHAT ARE WE
TRYING TO ACHIEVE?
12
Deliver the
most value
Stability
“Zero” (acceptable
level of) defects
Quickest possible
feedback Speed of delivery
and rollback
Maintainability
Quality Security
WHAT IS “ENOUGH” TESTING? HOW DO WE
ACHIEVE IT?
13
• Many other strategies to improve quality apart from testing…
• Code reviews, walkthroughs
• Design patterns, include proved code
• Pair programming
• Coding standards, linting, etc
• Beta groups
• A/B and multivariate testing
14
Full team
responsibility
15
Empowered Team
Team Success and Failure
Motivated Team
Quality Baked In
Data and Visibility
17
A model for
high-performing
teams
Simon Powers
18
Support what they build
19
Stop all “over the wall thinking”
20
Don’t recruit to roles
RECRUITING TO ROLES
21
• Who would test your app the most realistically?
a) Something with expert knowledge of app testing theory?
b) Someone with initimate knowledge of your products and how the app is
used in the real world?
22
Automate
everything
TESTING AUTOMATION – REVERSE THE
CONE!
23
Manual
Automated
Measure: coverage, areas
of failure, time to run etc,
etc.
TESTING AUTOMATION – “SHIFT LEFT”
24
development test
development and test
25
• Aside: An example of where manual testing is damaging -
https://www.linkedin.com/pulse/manual-testing-always-necessary-fact-
sometimes-bit-dangerous-wells
Confi
g
Objec
t
Endpoint 1
Endpoint 2
26
YES, BUT SOMETIMES, YOU
STILL NEED MANUAL
TESTING…
27
YES, BUT SOMETIMES, YOU
STILL NEED MANUAL
TESTING…
28
YES, BUT SOMETIMES, YOU
STILL NEED MANUAL
TESTING…
29
Play the “shiny new stuff’
card
30
• Team of 8 with 1 tester
• Replace tester with dev
• We get nearly a whole extra person
• We only have to do 1/8 of the testing
each
DO THE MATHS
31
Make it
competitive
32
Cross-
THINGS TO AVOID
33
• Rotating the QA role
• Allowing developers to refuse to test
• The “dev in test” role
• The phrase “dev-complete”
• “We’ll release, then come back and write tests later…”
IF THE PO IS ALSO CAUSING A WATERFALL,
WHY NOT GET RID OF THAT ROLE AS WELL?
34
PO
Dev
QA
IF THE PO IS ALSO CAUSING A WATERFALL,
WHY NOT GET RID OF THAT ROLE AS WELL?
35
PO
Dev
Deliver
Team
36
Quicker, faster,
cheaper, higher
quality deliveries –
really, what’s not
to like?...
steve.wells@marks-and-spencer.com

Contenu connexe

Tendances

Agile QA and Testing process
Agile QA and Testing processAgile QA and Testing process
Agile QA and Testing processGloria Stoilova
 
Agile Testing Introduction
Agile Testing IntroductionAgile Testing Introduction
Agile Testing IntroductionHai Tran Son
 
API Testing. Streamline your testing process.
API Testing. Streamline your testing process.API Testing. Streamline your testing process.
API Testing. Streamline your testing process.Andrey Oleynik
 
AI Testing What Why and How To Do It?
AI Testing What Why and How To Do It?AI Testing What Why and How To Do It?
AI Testing What Why and How To Do It?KiwiQA
 
Agile Testing Process
Agile Testing ProcessAgile Testing Process
Agile Testing ProcessIntetics
 
Agile testing principles and practices - Anil Karade
Agile testing principles and practices - Anil KaradeAgile testing principles and practices - Anil Karade
Agile testing principles and practices - Anil KaradeIndicThreads
 
Agile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile TesterAgile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile TesterDeclan Whelan
 
Building a Test Automation Strategy for Success
Building a Test Automation Strategy for SuccessBuilding a Test Automation Strategy for Success
Building a Test Automation Strategy for SuccessLee Barnes
 
Testing strategy for agile projects updated
Testing strategy for agile projects updatedTesting strategy for agile projects updated
Testing strategy for agile projects updatedTharinda Liyanage
 
Xray for Jira - How to automate your QA process
Xray for Jira - How to automate your QA processXray for Jira - How to automate your QA process
Xray for Jira - How to automate your QA processXpand IT
 
How Spotify Does Test Automation - Kristian Karl
How Spotify Does Test Automation - Kristian KarlHow Spotify Does Test Automation - Kristian Karl
How Spotify Does Test Automation - Kristian KarlSmartBear
 
API Test Automation
API Test Automation API Test Automation
API Test Automation SQALab
 
An Introduction To Automated API Testing
An Introduction To Automated API TestingAn Introduction To Automated API Testing
An Introduction To Automated API TestingSauce Labs
 

Tendances (20)

Agile QA and Testing process
Agile QA and Testing processAgile QA and Testing process
Agile QA and Testing process
 
Agile Testing Introduction
Agile Testing IntroductionAgile Testing Introduction
Agile Testing Introduction
 
API Testing. Streamline your testing process.
API Testing. Streamline your testing process.API Testing. Streamline your testing process.
API Testing. Streamline your testing process.
 
Test Automation in Agile
Test Automation in AgileTest Automation in Agile
Test Automation in Agile
 
AI Testing What Why and How To Do It?
AI Testing What Why and How To Do It?AI Testing What Why and How To Do It?
AI Testing What Why and How To Do It?
 
Agile Testing Process
Agile Testing ProcessAgile Testing Process
Agile Testing Process
 
Agile testing principles and practices - Anil Karade
Agile testing principles and practices - Anil KaradeAgile testing principles and practices - Anil Karade
Agile testing principles and practices - Anil Karade
 
Agile Testing
Agile TestingAgile Testing
Agile Testing
 
Agile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile TesterAgile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile Tester
 
Building a Test Automation Strategy for Success
Building a Test Automation Strategy for SuccessBuilding a Test Automation Strategy for Success
Building a Test Automation Strategy for Success
 
SonarQube
SonarQubeSonarQube
SonarQube
 
QA Best Practices in Agile World_new
QA Best Practices in Agile World_newQA Best Practices in Agile World_new
QA Best Practices in Agile World_new
 
SonarQube Overview
SonarQube OverviewSonarQube Overview
SonarQube Overview
 
Testing strategy for agile projects updated
Testing strategy for agile projects updatedTesting strategy for agile projects updated
Testing strategy for agile projects updated
 
Agile testing
Agile testingAgile testing
Agile testing
 
Xray for Jira - How to automate your QA process
Xray for Jira - How to automate your QA processXray for Jira - How to automate your QA process
Xray for Jira - How to automate your QA process
 
QPAM ATD 2022.pdf
QPAM ATD 2022.pdfQPAM ATD 2022.pdf
QPAM ATD 2022.pdf
 
How Spotify Does Test Automation - Kristian Karl
How Spotify Does Test Automation - Kristian KarlHow Spotify Does Test Automation - Kristian Karl
How Spotify Does Test Automation - Kristian Karl
 
API Test Automation
API Test Automation API Test Automation
API Test Automation
 
An Introduction To Automated API Testing
An Introduction To Automated API TestingAn Introduction To Automated API Testing
An Introduction To Automated API Testing
 

Similaire à So we're going no-QA - how do we get the devs to do enough testing?

A confused tester in agile world finalversion
A confused tester in agile world finalversionA confused tester in agile world finalversion
A confused tester in agile world finalversionAshish Kumar
 
Quality Assurance: What is it and what are the Business Benefits?
Quality Assurance: What is it and what are the Business Benefits?Quality Assurance: What is it and what are the Business Benefits?
Quality Assurance: What is it and what are the Business Benefits?Sparkhound Inc.
 
Quality assurance sql sat-br presentation
Quality assurance   sql sat-br presentationQuality assurance   sql sat-br presentation
Quality assurance sql sat-br presentationLyle Hutson
 
Quality Assurance - SQLSatBR presentation
Quality Assurance - SQLSatBR presentationQuality Assurance - SQLSatBR presentation
Quality Assurance - SQLSatBR presentationLyle Hutson
 
SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612SOASTA
 
You build it, you run it
You build it, you run itYou build it, you run it
You build it, you run itSkyscanner
 
Waterfalls for agile cambridge
Waterfalls for agile cambridgeWaterfalls for agile cambridge
Waterfalls for agile cambridgeSteve Wells
 
Waterfalls for Agile in a bag
Waterfalls for Agile in a bagWaterfalls for Agile in a bag
Waterfalls for Agile in a bagSteve Wells
 
Continuous delivery is more than dev ops
Continuous delivery is more than dev opsContinuous delivery is more than dev ops
Continuous delivery is more than dev opsAgile Montréal
 
Agile Transformation: People, Process and Tools to Make Your Transformation S...
Agile Transformation: People, Process and Tools to Make Your Transformation S...Agile Transformation: People, Process and Tools to Make Your Transformation S...
Agile Transformation: People, Process and Tools to Make Your Transformation S...QASymphony
 
50500113 spiral-model
50500113 spiral-model50500113 spiral-model
50500113 spiral-modelasidharath
 
What to Do—Develop Your Own Automation or Use Crowdsourced Testing?
What to Do—Develop Your Own Automation or Use Crowdsourced Testing?What to Do—Develop Your Own Automation or Use Crowdsourced Testing?
What to Do—Develop Your Own Automation or Use Crowdsourced Testing?TechWell
 
SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612SOASTA
 
How to manoeuvre as test/QA responsible in agile teams to get the "right" pro...
How to manoeuvre as test/QA responsible in agile teams to get the "right" pro...How to manoeuvre as test/QA responsible in agile teams to get the "right" pro...
How to manoeuvre as test/QA responsible in agile teams to get the "right" pro...SQALab
 
Keynote AST 2016
Keynote AST 2016Keynote AST 2016
Keynote AST 2016Kim Herzig
 
Comprehensive Validation with Laravel 4
Comprehensive Validation with Laravel 4Comprehensive Validation with Laravel 4
Comprehensive Validation with Laravel 4Kirk Bushell
 
[DevSecOps Live] DevSecOps: Challenges and Opportunities
[DevSecOps Live] DevSecOps: Challenges and Opportunities[DevSecOps Live] DevSecOps: Challenges and Opportunities
[DevSecOps Live] DevSecOps: Challenges and OpportunitiesMohammed A. Imran
 
'Stakeholder Engagement Shortcuts': Ilan Goldstein @ Colombo Agile Conference...
'Stakeholder Engagement Shortcuts': Ilan Goldstein @ Colombo Agile Conference...'Stakeholder Engagement Shortcuts': Ilan Goldstein @ Colombo Agile Conference...
'Stakeholder Engagement Shortcuts': Ilan Goldstein @ Colombo Agile Conference...ColomboCampsCommunity
 

Similaire à So we're going no-QA - how do we get the devs to do enough testing? (20)

A confused tester in agile world finalversion
A confused tester in agile world finalversionA confused tester in agile world finalversion
A confused tester in agile world finalversion
 
Manual Testing in Scrum is Hard (But Not Impossible)
Manual Testing in Scrum is Hard (But Not Impossible)Manual Testing in Scrum is Hard (But Not Impossible)
Manual Testing in Scrum is Hard (But Not Impossible)
 
Quality Assurance: What is it and what are the Business Benefits?
Quality Assurance: What is it and what are the Business Benefits?Quality Assurance: What is it and what are the Business Benefits?
Quality Assurance: What is it and what are the Business Benefits?
 
Quality assurance sql sat-br presentation
Quality assurance   sql sat-br presentationQuality assurance   sql sat-br presentation
Quality assurance sql sat-br presentation
 
Quality Assurance - SQLSatBR presentation
Quality Assurance - SQLSatBR presentationQuality Assurance - SQLSatBR presentation
Quality Assurance - SQLSatBR presentation
 
SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612
 
EVOLVE'16 | Keynote | Cat Reusswig | Taking Your AEM Implementation to The RO...
EVOLVE'16 | Keynote | Cat Reusswig | Taking Your AEM Implementation to The RO...EVOLVE'16 | Keynote | Cat Reusswig | Taking Your AEM Implementation to The RO...
EVOLVE'16 | Keynote | Cat Reusswig | Taking Your AEM Implementation to The RO...
 
You build it, you run it
You build it, you run itYou build it, you run it
You build it, you run it
 
Waterfalls for agile cambridge
Waterfalls for agile cambridgeWaterfalls for agile cambridge
Waterfalls for agile cambridge
 
Waterfalls for Agile in a bag
Waterfalls for Agile in a bagWaterfalls for Agile in a bag
Waterfalls for Agile in a bag
 
Continuous delivery is more than dev ops
Continuous delivery is more than dev opsContinuous delivery is more than dev ops
Continuous delivery is more than dev ops
 
Agile Transformation: People, Process and Tools to Make Your Transformation S...
Agile Transformation: People, Process and Tools to Make Your Transformation S...Agile Transformation: People, Process and Tools to Make Your Transformation S...
Agile Transformation: People, Process and Tools to Make Your Transformation S...
 
50500113 spiral-model
50500113 spiral-model50500113 spiral-model
50500113 spiral-model
 
What to Do—Develop Your Own Automation or Use Crowdsourced Testing?
What to Do—Develop Your Own Automation or Use Crowdsourced Testing?What to Do—Develop Your Own Automation or Use Crowdsourced Testing?
What to Do—Develop Your Own Automation or Use Crowdsourced Testing?
 
SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612
 
How to manoeuvre as test/QA responsible in agile teams to get the "right" pro...
How to manoeuvre as test/QA responsible in agile teams to get the "right" pro...How to manoeuvre as test/QA responsible in agile teams to get the "right" pro...
How to manoeuvre as test/QA responsible in agile teams to get the "right" pro...
 
Keynote AST 2016
Keynote AST 2016Keynote AST 2016
Keynote AST 2016
 
Comprehensive Validation with Laravel 4
Comprehensive Validation with Laravel 4Comprehensive Validation with Laravel 4
Comprehensive Validation with Laravel 4
 
[DevSecOps Live] DevSecOps: Challenges and Opportunities
[DevSecOps Live] DevSecOps: Challenges and Opportunities[DevSecOps Live] DevSecOps: Challenges and Opportunities
[DevSecOps Live] DevSecOps: Challenges and Opportunities
 
'Stakeholder Engagement Shortcuts': Ilan Goldstein @ Colombo Agile Conference...
'Stakeholder Engagement Shortcuts': Ilan Goldstein @ Colombo Agile Conference...'Stakeholder Engagement Shortcuts': Ilan Goldstein @ Colombo Agile Conference...
'Stakeholder Engagement Shortcuts': Ilan Goldstein @ Colombo Agile Conference...
 

Dernier

Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Intelisync
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 

Dernier (20)

Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 

So we're going no-QA - how do we get the devs to do enough testing?

  • 1. SO WE’RE GOING “NO QAS” – HOW DO WE GET THE DEVS TO DO ENOUGH TESTING? Steve Wells steve.wells@marks-and-spencer.com July 2017
  • 3. AGILE CAMBRIDGE 2016 - “DON’T GO CHASING WATERFALLS” 3 • Scrum has only 3 roles, PO, SM and developers • No BA, no QA, no DBA, no other (dedicated) roles – only “T-shaped people” • These other roles are common in scrum teams, particularly (manual) QA • They cause a waterfall…
  • 4. AGILE CAMBRIDGE 2016 - “DON’T GO CHASING WATERFALLS” 4 PO Dev QA
  • 5. WHY IS THIS SO BAD? (JUST BECAUSE IT ISN’T “SCRUM”) 5 Silos Efficiency Over-the-wall Thinking Undue power of sign-off Unnecessary delays (while bugs are triaged) Stifles Innovation Just not agile! Risk Blocks improvement Not failing early
  • 6. Is this the real resource requirement, every hour, of every day of every sprint? 33% 17% 50% EFFICIENCY? 6 • Is this really how the work is split every hour of every day of every sprint?
  • 7. AGILE CAMBRIDGE 2016 - “DON’T GO CHASING WATERFALLS” 7 • Do certain people really have a “testing gene” that makes them better at testing than developers? • If testers find a bug that customers will never find, do we care? Particularly if that delays release and stops us getting early feedback? • Are a couple of QAs going to find (actual, customer impacting) bugs as quickly as (say) hundreds on a beta program? • Are dedicated testers going to be able to understand the complexities of the codebase, and the best way to use testing frameworks?
  • 8. AGILE CAMBRIDGE 2016 - “DON’T GO CHASING WATERFALLS” 8 • Spotify DIBBs (Data-Insight-Belief-Bet) philosophy - https://www.infoq.com/news/2016/07/spotify-good-at-failing speed of iteration beats quality of iteration
  • 9. AGILE CAMBRIDGE 2016 - “DON’T GO CHASING WATERFALLS” 9 • Case study based on 3 teams in Sky • Not having dedicated QAs increased speed of delivery and improved quality (fewer bugs/rollbacks, improved customer reviews) • Bugs spotted earlier, so faster fail
  • 10. SO I GAVE THIS TALK… 10
  • 11. HOW DO WE GET THE DEVS TO DO ENOUGH TESTING? 11
  • 12. WHAT IS “ENOUGH” TESTING? WHAT ARE WE TRYING TO ACHIEVE? 12 Deliver the most value Stability “Zero” (acceptable level of) defects Quickest possible feedback Speed of delivery and rollback Maintainability Quality Security
  • 13. WHAT IS “ENOUGH” TESTING? HOW DO WE ACHIEVE IT? 13 • Many other strategies to improve quality apart from testing… • Code reviews, walkthroughs • Design patterns, include proved code • Pair programming • Coding standards, linting, etc • Beta groups • A/B and multivariate testing
  • 15. 15
  • 16. Empowered Team Team Success and Failure Motivated Team Quality Baked In Data and Visibility
  • 19. 19 Stop all “over the wall thinking”
  • 21. RECRUITING TO ROLES 21 • Who would test your app the most realistically? a) Something with expert knowledge of app testing theory? b) Someone with initimate knowledge of your products and how the app is used in the real world?
  • 23. TESTING AUTOMATION – REVERSE THE CONE! 23 Manual Automated Measure: coverage, areas of failure, time to run etc, etc.
  • 24. TESTING AUTOMATION – “SHIFT LEFT” 24 development test development and test
  • 25. 25 • Aside: An example of where manual testing is damaging - https://www.linkedin.com/pulse/manual-testing-always-necessary-fact- sometimes-bit-dangerous-wells Confi g Objec t Endpoint 1 Endpoint 2
  • 26. 26 YES, BUT SOMETIMES, YOU STILL NEED MANUAL TESTING…
  • 27. 27 YES, BUT SOMETIMES, YOU STILL NEED MANUAL TESTING…
  • 28. 28 YES, BUT SOMETIMES, YOU STILL NEED MANUAL TESTING…
  • 29. 29 Play the “shiny new stuff’ card
  • 30. 30 • Team of 8 with 1 tester • Replace tester with dev • We get nearly a whole extra person • We only have to do 1/8 of the testing each DO THE MATHS
  • 33. THINGS TO AVOID 33 • Rotating the QA role • Allowing developers to refuse to test • The “dev in test” role • The phrase “dev-complete” • “We’ll release, then come back and write tests later…”
  • 34. IF THE PO IS ALSO CAUSING A WATERFALL, WHY NOT GET RID OF THAT ROLE AS WELL? 34 PO Dev QA
  • 35. IF THE PO IS ALSO CAUSING A WATERFALL, WHY NOT GET RID OF THAT ROLE AS WELL? 35 PO Dev Deliver Team
  • 36. 36 Quicker, faster, cheaper, higher quality deliveries – really, what’s not to like?... steve.wells@marks-and-spencer.com

Notes de l'éditeur

  1. Note: This doesn’t just apply to Scrum! Scrum and agile are *not* the same thing!
  2. So I gave this talk, and got mobbed by angry testers. However, of more interest to me was the question on the next slide, which was asked by Scrum Masters, Pos, etc. etc.
  3. From the original scrum guide – in terms of breakfast, chickens are involved, pigs are committed. Make your teams into pigs (as it were )
  4. You wouldn’t let someone else pack your parachute! Same with software – don’t rely on other teams (integration, e2e, etc.) to do your testing – make it perfect before it leaves the team…
  5. Once you have headcount for “a tester” or “a QA” or any other role such as “front-end developer”, that defines salary ranges, job specs, etc. etc. Only recruit T-shaped people, and don’t define roles apart from “developer” or “engineer”
  6. The case given was software that flies planes, I do *not* actually want humans testing that!
  7. Make it competitive between team members, but keep it light-hearted!
  8. The PO should be embedded in the team and work in collaboration with the team. The team as a whole make the decisions…