Skip to content

Commit

Permalink
extend quality assurance principle
Browse files Browse the repository at this point in the history
  • Loading branch information
sebastianheuer committed Mar 15, 2023
1 parent e4e47c6 commit c0bbd70
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 5 deletions.
8 changes: 7 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# Changelog

## 0.3.0

### Core Principles

- extended quality assurance principle

## 0.2.0

### General
Expand All @@ -24,4 +30,4 @@

## 0.1.0

- initial release for early feedback
- initial release for early feedback
Binary file added book/core-principles/assets/test-pyramid.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
13 changes: 10 additions & 3 deletions book/core-principles/quality-assurance.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,15 @@

> Inspection does not improve the quality, nor guarantee quality. Inspection is too late. The quality, good or bad, is already in the product. As Harold F. Dodge said, 'You can not inspect quality into a product.'[^1]
We do not hand over seemingly finished features to QA for testing. Instead, our QA Specialists work with us and help us to apply the right testing strategy before, during and after writing code in order to build a product of high quality.
Maintaining a high level of quality is not only essential for ensuring our customers have a delightful experience when using our products, but also for staying agile and delivering value at a constant pace. To achieve this level, we do not hand over seemingly finished features to QA for testing. Instead, we work closely with our QA Specialists to apply the right testing strategy before, during and after writing code in order to build a product of high quality.

As explained before, maintaining a high level of quality is essential to stay agile and deliver value at a constant pace.
We try to discover bugs as early as possible. This is usually long before we start writing actual code, when we shape our solution. Many issues stem from design flaws and can be prevented by spending enough time in the design phase.

[^1]: W. Edwards Deming, [Out of the Crisis](https://mitpress.mit.edu/9780262541152/), MIT Press, July 2000
For each system we build, we have the test pyramid[^2] in mind to focus on the right kinds of tests.

![test-pyramid.png](assets%2Ftest-pyramid.png)

We automate testing as much as possible. We constantly add regression tests to our systems when we discover bugs, so that we can easily prove a fix works as intended and to make sure that the same bug will not make it to production again.

[^1]: W. Edwards Deming, [Out of the Crisis](https://mitpress.mit.edu/9780262541152/), MIT Press, July 2000
[^2]: Martin Fowler, [The Practical Test Pyramid](https://martinfowler.com/articles/practical-test-pyramid.html), February 2018
4 changes: 3 additions & 1 deletion book/technical-foundation/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# Technical Foundation

There are some fundamental practices and techniques that every software engineer at celebrate should have enough experience with in order to know when to apply them to the problem they are solving. This does not mean we only hire engineers who tick all the boxes on our checklist. It does mean that every software engineer must have the opportunity to learn and apply them at celebrate.
There are some fundamental practices and techniques that every software engineer at celebrate should have enough experience with in order to know when to apply them to the problem they are solving. This does not mean we only hire engineers who tick all the boxes on our checklist. It also does not mean that we apply all of these practices to all of our projects.

It does mean that every software engineer must have the opportunity to learn and practise them at celebrate, so they have a whole box of modern, proven tools at their disposal and can make educated decisions on when to use which.

0 comments on commit c0bbd70

Please sign in to comment.