Sarah Hutchins

Quality Strategy with a side of Swiss Cheese

What can aerospace safety teach us about software quality? Learn how stacking imperfect layers of defense creates a powerful strategy to stop bugs.

Quality Strategy with a side of Swiss Cheese
#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.
Name of

Name of

Remote
Intermediate
PHP
Java
+1

Featured Partners

Related Articles

View all articles
CH
Chris Heilmann
WWC24 Talk - Brenda Romero - Stay: Surviving and Thriving in Tech
Brenda 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 ...
WWC24 Talk - Brenda Romero - Stay: Surviving and Thriving in Tech
JC
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 ...
A Guide to Public Speaking For Software Engineers
CH
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...
WWC24 Talk - Scott Hanselman - AI: Superhero or Supervillain?

From learning to earning

Jobs that call for the skills explored in this talk.

Senior QA Engineer

CheckYeti
Vienna, Austria

Senior
Selenium
JavaScript
Manual Testing
Automated Testing
Software Tester

Think-cell
Foster City, United States of America

Intermediate
Unit Testing
Manual Testing
Automated Testing
Software Engineer

Software Quality

DevOps
Data analysis
Continuous Delivery
Domain Driven Design
Continuous Integration