There exists a recent and disturbing trend in the software quality space for people to view themselves as “test automation engineers” or similar, and to focus on creating large automation suites post-hoc. These suites are normally generated verbatim from acceptance criteria and mapped directly to UI-automation tests. The guiding principle appears to be that no bug shall ever reach production. While this goal is noble in theory, it’s destructive in practice. Worse, however, it also distracts us from the realisation that software quality is about much more than testing.
In this talk, we’ll cover a number of other, often-overlooked elements of software quality such as code design itself, monitoring, logging, instrumentation, SRE, synthetic transactions and production verification tests. We’ll look at production error rates and how to assess what an acceptable error rate is, and we’ll cover measures such as mean time to detection (MTTD) and mean time to remediation (MTTR) as key metrics for the overall quality of a solution. Critically, we’ll then put that into the context of what the system’s purpose is and whether that system is Good Enough.
Here’s a version of “Good Enough” Software that I delivered at Evolution by ThoughtWorks in Sydney and Melbourne in 2018.
I'm at Octopus Deploy, helping to ship software that helps people ship software. Other interesting places I've been before Octopus include ThoughtWorks, Readify, Zap BI, Realex Payments and TRL.
I'm also a co-founder at Stack Mechanics, one of the organisers of the DDD Brisbane conference and, in my spare time (ha!), I also run my own photography business, Ivory Digital.
I'm a fan of high-quality code, domain-driven design, event-driven architecture, continuous delivery and, most importantly, shipping code that works and that solves people's problems.
I have a number of small open-source creations, including Nimbus, ConfigInjector and NotDeadYet, and am an occasional contributor to several more.
I'm a regular speaker and presenter at conferences and training events. My mother wrote COBOL on punch cards and I've been coding in one form or another since I was five years old.
Cyclist. Photographer. Ballroom dancer. Motorcyclist. Occasional sailor. Lapsed fencer.