63 pointsby speckx5 hours ago20 comments
  • onion2k2 hours ago
    If thorough testing and 100 experts can’t find a problem, the thing is probably perfect.

    If you can get 100 experts to agree on something then you've cracked a much harder problem than software quality.

    • Wowfunhappy26 minutes ago
      Presumably, this is why the next paragraph opens with "Perfection is impossible."

      If 100 experts can't find a problem with something, it's probably perfect. Unfortunately, this is impossible.

    • Yoofiean hour ago
      Agreed. We cant even get 10 dentists to agree which toothpaste to use. Getting 100 experts to agree on anything is a miracle.
  • manoDev4 hours ago
    > Some people don’t care enough > > The more people you hire, the more likely you are to hire people who don’t care enough about good interface design. Good interface design needs to be valued by everyone who can affect the work. That includes developers, designers, product managers, and often the CEO.

    I know where you're going with this, but here's a twist:

    A CEO who cares about interface _design_ is path to micromanaging and pain. A CEO should care about interface _designers_, who are (hopefully) the people trained on how do it well.

    Even better: CEOs should care about developers with UI/UX skills, because too often CEOs adopt designers like a pet and keep them busy 24/7 asking for mockups.

    • jonathanlydall4 hours ago
      My assumption when reading that the CEO should care, was that they give those underneath them the time and resources needed to achieve quality because they value it, not that they are necessarily involved in the details.
      • doginasuit2 hours ago
        To care enough to recognize it is out of your depth.
    • sscaryterry4 hours ago
      A CEO should know when the people working for them are bullshitting them, blowing smoke...
    • pydry3 hours ago
      >A CEO who cares about interface _design_ is path to micromanaging and pain.

      That's how Apple blew up into a trillion dollar company.

      • chrisweekly3 hours ago
        Also how countless other companies didn't.
      • Arainach3 hours ago
        ...while being a painful place to work at, so not really disproving the point.

        Plenty of other CEOs have thought the secret to Apple's success was micromanaging like Steve Jobs and been proved very wrong.

        The best CEOs hire people smarter than them (in their respective disciplines) rather than assuming they always know best.

        • testfrequencyan hour ago
          Those CEOs are often not around though once the company has fully matured. Then it’s back to micro managing and endless unclear company priorities..
  • amarant3 hours ago
    I disagree with the initial premise

    >Quality is the absence of problems

    A low quality code base can be problem free if surrounding circumstances are forgiving enough. Conversely, a high quality codebase can have a lot of problems in difficult circumstances.

    I haven't thought about it long enough to have a definition of quality that I'm really happy with, but I think a "resilience to hardships" would be a better definition of quality. Hardships can come in many forms, and often you're prepared for some of them but not all. Occasionally you'll be prepared for hardships that never occur. There is something to be said for being resilient against the correct kinds of hardships, which is why I'm not entirely pleased with my definition either.

    But absence of problems is not it. That might be entirely circumstantial and is therefore orthogonal to quality.

    • quietkoala3 hours ago
      I think you're circling the definition I most closely align with which was coined by Gerald Weinberg - "Quality is value to some person". You can have the best looking interface and the cleanest codebase, but if nobody is getting value from your software, who cares? If somebody is getting a ton of value from your software they're more forgiving of defects they run into.

      There isn't some intrinsic value to software, it's gotta be used by somebody

      • MaxBarraclough3 hours ago
        I'm not sure about that definition. If your software solves a problem that many users face, that makes it useful and, presumably, valuable, but it doesn't mean it's of higher quality than niche software of relatively little use.
    • jerf2 hours ago
      I think part of what you're reaching for is the concept of anti-fragility: https://en.wikipedia.org/wiki/Antifragility

      Properly speaking, that would be a characteristic of the entire production process, including the people, rather than a property of the code itself. (At least for now. Stay tuned with AI for further updates.) Still, you'll see it in the code.

      • amarant2 hours ago
        Yeah that seems about right! I mean, it is a property of the code itself also, but the code is not the only place quality resides. I think it's fair expect that any piece of software will require updates, and a high quality code base is easier to modify than a poor quality one. But, as you point out, surrounding process, people working on it etc etc etc are also super important.

        Software very rarely exist in a vacuum

    • chasd003 hours ago
      > But absence of problems is not it.

      i disagree, think about what defines a problem. Not being maintenable, readable, performant etc could be problems or may not be depending on the software requirments.

      > Occasionally you'll be prepared for hardships that never occur.

      this over-engineering and just as bad as failing to meet a requirement, you're wasting resources that could be spent on something else. In fact, meeting the requirements and only the requirements is requirement #1 ;)

      • 2 hours ago
        undefined
    • MaxBarraclough3 hours ago
      > I think a "resilience to hardships" would be a better definition of quality

      Does this refer only to program behaviour? I figure readability should count toward quality, but it doesn't directly affect program behaviour.

      • amarant2 hours ago
        I think readability is very important for quality. It creates resilience against any hardship that requires changing the code, which is probably most hardships.
  • chickensong3 hours ago
    I assume this is written by a UI designer or something, and it certainly feels like "notes" and not a cohesive article. Claiming "The six signals of quality in software" and then listing only user-facing concerns and including subjective items like "Beauty: Is the software as aesthetically pleasing as possible?" is questionable.

    I'm interested in quality, but I didn't find these notes enlightening, and couldn't even finish the article.

    • LoganDark3 hours ago
      Yeah, when a software focuses on beauty I only have to wonder what they sacrificed to achieve it.
  • christina974 hours ago
    Right off the bat, I disagree with the assertion that software quality is merely a concept of how it functions now. In reality software is a living thing and quality is so much more than whether there is a glaring issue right now.
  • cadamsdotcom26 minutes ago
    Since it’s so subjective let’s poll our engineers’ NPS!

    “How likely are you to work in this codebase again?”

    0 = Least likely 10 = Most likely

  • kwakker352 hours ago
    I tend to agree with a few others here, Quality is not just the absence of problems, it is something deeper.

    For me it means care and attention were paid while developing, the rough edges have been smoothed off for want of a better phrase. This doesn't mean using the latest and greatest framework or library, usually quality will come from a deep understanding of the basics and concepts like design patterns .

    You can spot quality code in the same way to can tell a fake Rolex from a real one but the quality of the movement.

  • ChrisMarshallNY2 hours ago
    > Quality is impossible at scale

    That's a "yes and no" thing. Handmade quality, yes, but some companies get pretty good at finding a "sweet spot," between better-than-average quality, and "Rolls Royce" quality.

    Source: I worked for a company that was pretty much renowned for Quality. We made stuff that is pretty near the top shelf, but still a rung or two under the top.

    It's not easy.

    Also, customers are willing to pay for garbage. As long as that continues, garbage producers will drive quality producers out of business.

  • ChrisMarshallNY2 hours ago
    I also think of Quality as “usable,” “discoverable,” “pleasant,” and “accessible.” He covers them, in some fashion.

    Some of these are difficult to quantify, but are often the difference between success or failure, in the market.

    I constantly encounter “dead” software. Software that is correct, performant, awesome (in some cases), but something that I don’t “want” to use. A “necessary evil.”

    That kind of statement doesn’t fly well, in a community of “Inspector 34”s, but it applies to those we like to call “customers.”

  • arbirkan hour ago
    > Beauty: Is the software as aesthetically pleasing as possible?

    Imo this point should be changed to reviewability. Beauty is in the eye of the beholder

  • livingsoft4 hours ago
    Corporate megasoftware suffers from the same structural problems as ancient megafauna; when there is a fixed amount of material to build the organism, it's almost always more efficient to split it into smaller, more coherent, repeatable bodies that project power through coordination, rather than a single large body that imposes its will on the world via sheer weight and size. The bottleneck was, as in the now-extinct branch of evolution, the viability of intelligence in smaller entities; that is now a solved problem. Now we are headed to an Anthropocene of cyberspace, where software is primarily a personal artefact, with optional collaboration, rather than a product designed and distributed from centralized organizations.
  • RetroTechie2 hours ago
    Strangely "elegance" isn't even mentioned. "Beauty" comes close but is not the same.

    And "simplicity" comes to mind. Also not mentioned.

  • docheinestages3 hours ago
    We should look at the nature to learn what quality means. Survive first with whatever it takes. Then if you have comeptition, keep improving.
  • Arainach3 hours ago
    > The agreed-upon best-designed software in the industry has noticeable problems.

    The what? Since when has "the industry" been able to define best-designed, much less agree on it?

  • 1970-01-013 hours ago
    Why no security? It's mid-2026, high quality software must be secure by design or you won't be using it.
  • jongjong37 minutes ago
    Absence of problems is definitely a major factor but I like to think of 'maintainability' as being the main marker of quality. Maintainable code has fewer problems because it makes problems easier to solve.
  • adamddev12 hours ago
    What a beautiful website.
  • therobopsych4 hours ago
    (Anthony has some great paper solo role playing games on his blog too)
  • 0xbadcafebee4 hours ago
    Keep in mind that there are people for whom thinking about quality has been their whole career, for decades. There've been long-running industry studies on software quality that have gathered metrics across thousands of businesses on what works and what doesn't. People have been focusing on quality in businesses in general for centuries. It's not a solved problem, but it has been tackled by experts for a long time. It's a good idea to look to their work first before taking a swing at it yourself.

    Personally I find quality to have a fundamental impact on everything every human does. It affects mental state, motivation, affects ability, necessity, and time to do things, creates or reduces costs, availability of resources, clarifies or complicates, makes life easier or harder, etc. It can save or destroy a business, make someone's life feel easy as pie or insanely frustrating. But it's not always easy to do right; you need a system to apply quality intelligently or you risk your efforts being wasted (https://global.toyota/en/company/vision-and-philosophy/produ...).

    • danhite23 minutes ago
      > It is based on the premise of making work easier for workers. The objective is to thoroughly eliminate waste and shorten lead times to deliver vehicles to customers quickly, at a low cost, and with high quality.

      ^ = from your linked Toyota Production System philosophy

      Thanks for that link! I find those two early sentences to be an insightful and relatively complete loop of process.

      When considering using automation or ~A.I. we can easily ask: which part of this loop is our addition improving (or messing up)? Where is the balance that works?

      As you point out, answering these what-works/quality questions are not solved problems and expertise is needful, but careful consideration does not seem to be a popular mode in our age of fountaining funny money and magic genies.

      I grew up in the '60s where the science fiction/future was always: march of progress and you'll have so much time and choices! Now I am in the future and the reality is close to: who has the time?

      More insidiously/invisibly: you have plenty of time for endless momentary thrills, but no one has time to make things better.

      Once upon a time there were customer complaint departments and the Production System would get fixed. Then it became suggestion boxes and returns. Then pleading for a Return Merchandise Authorization. Then it's your call is valuable to us recordings before click call hangups. Oops, unhappy customer?--give 'em a coupon to keep up the addiction, it's cheaper than Quality Control.

      The latest devolution seems like fire the workers but use AI to mesmerize customers, or just mind control ~investors and ~regulators, since who needs cover-our-costs-paying-customers anyway?

      Will the pendulum swing back?

  • sublinear3 hours ago
    > Beliefs about quality I want to disprove... (lists 38 bullets)

    Sure you didn't miss one? You can't have an exhaustive list because any of those can be just as true as false depending on the situation.

    Instead of picking the ones I disagree with most, I'll just say that low quality is miscommunication. The bugs are a snapshot of the organization.

    There are multiple facets to hang concern on that the other stakeholders don't know about or ignore. Your ability to discuss them, plan, and execute is the bottleneck. Everyone has to be on the same page.

    This cannot be the sole responsibility of the devs or small isolated teams. Scale is necessary for quality to emerge.