What can aerospace safety teach us about software quality? Learn how stacking imperfect layers of defense creates a powerful strategy to stop bugs.
#1about 3 minutes
Defining software quality through a cheese analogy
Software quality is defined as informed confidence in building the right product, combining the manufacturer's need for reliability with the consumer's need for appealing characteristics.
#2about 3 minutes
Understanding the Swiss Cheese model for risk avoidance
The Swiss Cheese model is a multi-layer risk avoidance strategy where multiple imperfect layers combine to significantly reduce overall losses.
#3about 2 minutes
Applying the model to a real-world software case study
A series of production incidents related to database performance revealed underlying systemic issues, prompting a strategic quality review using the Swiss Cheese model.
#4about 2 minutes
Workshop Part 1 - Identifying personas and their concerns
The first step in the quality strategy workshop is to identify all relevant personas, including direct, indirect, and even malicious users, to understand what they care about.
#5about 2 minutes
Workshop Part 2 - Mapping architecture and integrations
The second workshop step involves diagramming the system architecture and characterizing each integration to identify dependencies, risks, and testing considerations.
#6about 4 minutes
Workshop Part 3 - Mapping concerns to quality layers
The final workshop step is to brainstorm concerns, map them to existing quality layers, and identify where layers need to be changed or added to be effective.
#7about 4 minutes
Evaluating the cost and purpose of each quality layer
Each quality layer has maintenance and cognitive costs, so it's crucial to ensure they serve their intended purpose cost-effectively, like scoping end-to-end tests to critical flows.
#8about 3 minutes
How the Swiss Cheese model complements the test pyramid
The Swiss Cheese model defines the "what" of a quality strategy, while the test pyramid defines the "how" by guiding implementation towards fast and reliable tests.
#9about 2 minutes
Q&A: Implementing contract testing and tracking quality
The Q&A covers the model's origin, using Pact for contract testing across GraphQL and REST APIs, and tracking the "bucket" of unplanned work through team time allocation and customer feedback.
#10about 4 minutes
Q&A: Workshop participation and QA-to-developer ratio
The Q&A highlights the need for cross-functional participation in quality workshops and suggests an ideal ratio of one quality professional to four to six developers.
Related jobs
Jobs that call for the skills explored in this talk.
Matching moments
05:08 MIN
Implementing a comprehensive quality assurance strategy
Automated Code Quality Checks with Custom SonarQube Rules
04:03 MIN
Testing is a social and human-centric science
Excellent Software Testing
02:05 MIN
The evolution of QA from gatekeeper to enabler
The Affordances of Quality
01:04 MIN
Advancing your career with a strategic quality mindset
What Developers Get Wrong About Application Quality
01:54 MIN
Actionable steps to immediately improve your testing
Your Testing Strategy is broken - lets fix it!
04:54 MIN
A multi-layered approach to quality assurance and safety
The best of two worlds - Bringing enterprise-grade Linux to the vehicle
03:08 MIN
Shifting security left with collaborative threat modeling
We adopted DevOps and are Cloud-native, Now What?
02:01 MIN
Excellent testing is fast, credible, and accountable
WWC24 Talk - Brenda Romero - Stay: Surviving and Thriving in TechBrenda Romero discusses her tech career journey, overcoming burnout, and inspiring future game developers at WWC24.Here is what she had to say in the video:Hey everyone! Thanks for joining us!Reflections on a Rough YearLast year, I gave a talk about ...
Jordan Cutler
A Guide to Public Speaking For Software Engineers“Your technical skills are where they need to be, but you need to improve your communication.” - Your manager. This is one of the hardest pieces of feedback to hear as a software engineer. Why? Because you probably thought as a software engineer you ...
Daniel Cranney
Panel Discussion: Responsible AI in Practice - Real-World Examples and ChallengesIntroductionIn the ever-evolving landscape of artificial intelligence, the concept of "responsible AI" has emerged as a cornerstone for ethical and practical AI implementation. During the WWC24 Panel discussion, three eminent experts—Mina, Bjorn Brin...
Chris Heilmann
WWC24 Talk - Scott Hanselman - AI: Superhero or Supervillain?Join Scott Hanselman at WWC24 to explore AI's role as a superhero or supervillain. Scott shares his 32 years of experience in software engineering, discusses AI myths, ethical dilemmas, and tech advancements. Engage with his live demos and insights o...
From learning to earning
Jobs that call for the skills explored in this talk.