Your Privacy

This site uses cookies to enhance your browsing experience and deliver personalized content. By continuing to use this site, you consent to our use of cookies.
COOKIE POLICY

Skip to main content

What Does Quality Mean to You?

What Does Quality Mean to You?
Back to insights

About a year ago, I was in a conversation with one of our clients when they asked me this question: 

“What does quality mean to you?”

I gave an answer in the moment, but a better answer came to me later. As a developer, the easy answer is something about unit tests, code coverage, and bug-free releases. That’s where my brain went first.

But the question stayed with me. And the longer it sat in the back of my head, the more I realized how much bigger it was than I’d given it credit for. 

This blog is my answer to that question today. 

Starting from QA

I came up through QA before I became a developer, and that changes how I think about quality. When you spend your early career finding problems instead of solving them, quality stops being a checkbox at the end of a sprint. It becomes a lens you can’t really turn off. 

When I work on a feature now, I don’t just think about the happy path. I’m constantly asking myself: 

  • How could this break?
  • Where would a user get confused?
  • What assumptions am I making?

quality assuranceWhen I’m smoke-testing a form I just built, my first move is to open it up and just mash random keys on the keyboard. It sounds silly, but you’d be surprised at how many bugs that catches: missing validation, special character issues, or missing input limits. 

That QA instinct has a cost, too. Sometimes I slow myself down second-guessing edge cases that aren’t going to matter. Still, I’d rather catch the problem at my desk than have a user find it in production. 

Over time, I’ve realized quality is about much more than catching bugs. A product can technically work and still fail the people using it. That’s where my definition expanded into three things: reliability, process, and trust. 

Reliability 

This is the baseline. Software should do what users expect, consistently. Nothing destroys confidence faster than opening an app, trying to do something simple, and watching it fail. That moment is what we’re really trying to prevent when we write tests, validate inputs, and think through edge cases. 

But reliability goes beyond uptime or test coverage. A feature can be bug-free and still feel unreliable if users struggle to navigate it, misunderstands what it’s asking, or hesitate because the experience feels inconsistent. 

Quality isn’t just about whether software works. It’s about whether people feel confident using it. 

Process 

Quality is built throughout development, through small disciplines that compound over time. 

For me, that looks like writing unit tests as I go, manually testing edge cases before regular flows, documenting bugs as they’re reported so they become future regression tests, and (maybe most importantly) pushing back on requirements that don’t quite make sense. 

That last one is easy to skip, especially under deadline pressure. But it’s often where the most important conversations happen. On a recent project, we were asked to reuse an existing modal from elsewhere in the app. Technically it worked. But the user’s entry point into that modal was different in our flow, and the language on it didn’t quite match the mental model the user would have in that moment. I pushed back. We didn’t end up doing the full rewrite I suggested, but we landed on updating the call-to-action button label as a middle ground. It wasn’t a huge change, but it was the right one. 

Process doesn’t always mean adding more steps. Sometimes it just means slowing down long enough to ask, “does this actually make sense for the person who’s going to use it?” 

Trust 

trustThis is the one I think matters most, and the one I would have completely missed if I’d answered the interview question early in my career. 

Quality builds trust. Users trust a product when it behaves the way they expect. Stakeholders trust the team when issues get surfaced early and solutions get proposed thoughtfully. Teammates trust each other when the code they pick up is clean, tested, and well-considered. 

A feature can be technically correct and still fail if it doesn’t earn that trust. 

When Working Isn’t Enough

On my last project, one of the things I’m proudest of was our UAT process. Not because the software was bug-free at that point — although we’d done the work to get it stable — but because UAT became the moment where we caught the things that worked but didn’t feel right. 

A feature designed in Figma and signed off by everyone would suddenly feel off once business users actually had it in their hands. The verbiage we’d used on a screen didn’t quite land. A flow that made sense in mockups didn’t match how users actually thought about the task. Sometimes we even caught data that wasn’t displaying quite right, bugs that had slipped through everything else. 

None of those were huge changes. But each one made the product noticeably better, and we kept adding them as enhancements into the next sprint. That iteration loop was where the quality really lived. 

We were doing this informally and there wasn’t a structured process around it, which is why I was glad to learn that UDig has built an internal approach and tool around exactly this idea. The team calls it “Adoption Groups”: a way of breaking a product into small, testable pieces and putting them in front of real users without any training, then feeding what you learn directly back into the next iteration. It’s the same instinct we were following on my project, with the structure and rigor we didn’t have. 

That last part, putting it in front of users without training, is the piece I keep coming back to.  

If a user can sit down with a feature and figure it out, you’ve built something people will actually adopt. If they can’t, it doesn’t really matter how technically correct the code underneath it is. 

Back to the Question

I still don’t think there’s a perfect answer to “What does quality mean to you?” It’s one of those questions that probably gets a better answer every few years as you keep working. 

But today, my answer would be very different from last year. Quality means reliability, software people can count on. It means process, building it throughout, not at the end. And it means trust, building something people can genuinely depend on and want to use. 

So I’ll turn it back around: 

“What does quality mean to you?” 

Digging In

  • Software Engineering

    When There’s Too Much to Fix: How Smart Prioritization Unlocks Revenue at Scale

    Every operations team has a backlog. The question isn’t whether you can clear it — it’s whether you’re clearing it in the right order. For most teams, the honest answer is no. And that gap between the order work gets done, and the order it should get done is quietly costing organizations millions. The Volume Problem High-volume exception processing shows up across […]

  • Software Engineering

    Creating Reusable Code Templates to Reduce Client Project Startup Time

    In consulting, one of the least visible but most expensive phases of a project is the beginning. Teams can spend days or weeks setting up repositories, agreeing on structure, wiring basic infrastructure, and solving problems that have already been solved many times before. Code templates are a practical way to reduce overhead while improving consistency. […]

  • Software Engineering

    Player Three Has Entered the Game: How AI Is Finally Bridging the Divide Between Design and Engineering

    As AI begins to become more prominent in our day-to-day lives, I find myself in a unique position. As a practicing software engineer and UI/UX designer, I am genuinely happy to see the introduction of AI tools begin to take shape in our industry. But more importantly, I am happy to start seeing the effects it is having on what has historically been a pretty challenging relationship: the […]

  • Software Engineering

    The Disappearing Middle of Software Work: Why the Bookends – Strategy & Impact – Matter Most Now

    Here’s a question nobody in enterprise software wants to sit with: what happens to the middle? Not the middle of the org chart. The middle of the work. The vast, expensive layer of effort that has defined enterprise software delivery for thirty years—translating what the business wants into working code. The requirements-to-implementation pipeline. The “build phase.” […]

  • Software Engineering

    Zero-Code Telemetry with OpenTelemetry’s OBI

    Full distributed tracing and exception capture for any application — without writing a single line of instrumentation code. View the source code on GitHub → The Premise Observability is essential for understanding what’s happening inside your services, but instrumenting an application by hand — adding trace spans, logging calls, and metric counters throughout your codebase […]

  • Software Engineering

    Building a Consultant in the Trenches: How Playing Offensive Line Shaped My Consulting Career

    People often ask me the same question when they find out that I played college football: “Do you miss it?” On the surface, it’s a bad question with an obvious answer. Yes. However, if I give myself a minute to sit with that question, the answer is more nuanced. Yes, I miss playing football, but […]