Andrew Harcourt
  • Have me speak
    • Governance
    • Ask for the unreasonable… and then get out of the way
    • 'Good enough' software
    • Agility in business: what we can learn from the software industry
    • How to engage with the software industry
    • People are a distributed system
    • Technical
    • Messaging patterns for scalable, distributed systems
    • Inversion of control from first principles
    • Your domain model is too big for RAM (and other fallacies)
    • Back to basics: simple, elegant, beautiful code
  • How may I help?
    • Let's talk strategy
    • Coffee with Andrew
    • Project rescue
  • Articles
  • On the web
    • uglybugger on GitHub
    • Andrew Harcourt on YouTube
    • uglybugger on Twitter
    • uglybugger on SlideShare
    • uglybugg3r on Instagram
    • Andrew Harcourt on LinkedIn
    • Ivory Digital

"Good Enough" Software

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.

Target audience
CTOs, Heads of Engineering, technical leaders
Approximate duration
60 minutes including questions

Talk video

Here’s a version of “Good Enough” Software that I delivered at Evolution by ThoughtWorks in Sydney and Melbourne in 2018.

Work

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.

Play

Cyclist. Photographer. Ballroom dancer. Motorcyclist. Occasional sailor. Lapsed fencer.

Subscribe

Twitter

Follow @uglybugger
Tweets by @uglybugger