Cost is one of the most basic concepts of systems thinking. No outcome — no matter how desirable — can be divorced from the cost of its attainment.
UX designers most often come across this idea when it is weaponized against them in the industry’s oldest bad-faith question: “what is the ROI of UX?” It is a bad question for many reasons. One of the reasons it’s bad is that it’s an incomplete thought: what is the ROI of UX…compared to what? The choice is not between UX and nothing, but between UX and other things that cost money, time, and attention.
In finance, this is called alpha: a measure of how much your portfolio outperformed a standard index fund. In plain old decision-making, we call it opportunity cost. The real cost of a decision is the loss of the roads not taken, and the beneficial outcomes of all the options that are now closed to you.
Opportunity cost is the real constraint on product decisions
The same logic applies to product work itself, except instead of investing dollars, tech orgs invest story points and person-hours. It’s easy to come up with a feature that makes money or makes users happy. The real job is to come up with a feature that makes more money (or makes users more happy) than the best available alternative. In a functional, mature organization, defining what “best” means (and how to measure it) is the value that UX design provides.
Unfortunately, design work was never rationalized to make it legible to the business. The exploratory work to define the possibility space (from which we may then make informed decisions about investments) is illegible to businesses. Bean counters can’t process that we chose the top 1% of ideas, but they can see that 99% of our ideas never got shipped, and so the business perceives design work solely as waste.
Organizations value predictability, so that they can plan, budget, and communicate likely outcomes to their stakeholders. Predictability requires determinacy …engineering will take 6 weeks to work through these Jira tickets; marketing will spend $50,000 to draw this amount of traffic. Determinacy in turn defines legibility, the qualities of work that can be seen, appreciated, valued, and accounted for.
Much of UX/Design work is indeterminate, and thus illegible.
The thing that is most legible to the business is features. The thing that is least legible is the quality of the user experience. So it comes as no surprise that businesses erroneously believe adding more features automatically results in an improved user experience.
This is where I think Merholz’s thesis could go even broader: it is not only the work of UX that is illegible to an organization. The work of prioritization as a whole — the politics, coordination, experimentation behind choosing an org-wide direction and sticking to it — comes across simply as a distraction from the Fordist metric of how many work-units were delivered into customers’ hands. Delivery now occurs (and is demanded to occur) at such breakneck speeds that it can outpace any rationality:
Observationally for most devs the ability to produce 10x the code means that no stakeholder need ever be consulted before an ostensibly finished product is revealed, thereby resulting in a lot of shiny bullshit that no one uses
Opportunity cost is illegible to an organization that thinks this way. It can’t understand choosing between doing A and doing B. The only comparison it can draw is between doing something and not doing that thing. And doing something is obviously better. Why have 99 features when you could have 100? Why settle for 1000 linear meters of software when you can have 2000 linear meters?
Overproduction of software
Prior to 2023, managers had to face reality that they could never outrun opportunity cost. Things would always take time to build. However begrudgingly, they were forced to prioritize some features over others. Comparing features to one another inherently required a common understanding of user needs, against which the relative impact of each option could be judged. Skipping that work was seen as an abdication of responsibility, rather than a flex.
But that era is over. We are now in a new era that is defined by a single belief: AI will somehow reduce the cost of delivery to zero, and therefore we will never have to prioritize features or think about their fitness-for-purpose ever again.
This line of thinking has a load-bearing axiom: that all problems stem from not having enough software and therefore may be solved by adding more software. In reality, we face precisely the opposite problem: the system we created overproduces software (part 1, part 2). Every additional story point of velocity is likely to produce net-negative ROI.
We shipped what we thought would be crowd-pleasers, but they just added complexity. Because the use case was intermittent, the changes disoriented our users, making them feel dumb every time they picked it up again.
None of these features “worked.” We never saw another feature-based revenue bump. We did have some signals, though, that we were decreasing the value of the product with these bets.
The silver lining on this particular cloud is that, in theory, high delivery velocity can be used for iteration (through the mythical build-measure-learn loop that many product managers talk about but few manage to practice in real life).
Unfortunately, the same systemic factors that prevented teams from iterating on features in 2016 are going to be preventing teams from iterating on features in 2026. When the only thing legible to your leadership is the number of features shipped, the opportunity cost of every iteration is staggering: you are forced to choose between doing a good job, and doing the thing that is rewarded. Science shows that even when “powered by generative AI”, people choose the latter:
Rather than finding that LLMs free us to do a better job of what we were doing before they came along, they […] compel us to do more and more, faster and faster, less and less well.
The illegibility of quality is not inevitable
Today, even teams that want to iterate are doomed by this problem of legibility.
Rob Whelan has a great example of this in practice: the frustration of customers who just want to order lunch but must bear the burden of installing an app and creating an account is completely invisible to the business responsible for said app. Only clicks are visible, so more clicks means we are doing a better job. Thus, the system that produced the app is set up in such a way that it can never reach the obvious conclusion: the experience was better without the app.
Can iteration be saved through the application of AI? To answer that question, look no further than Steve Yegge himself. As the author of the original Gastown piece, Yegge is perhaps the ultimate standard-bearer of the AI era. He has now admitted that Gastown didn’t exactly work out — admitted it in a new manifesto for a town with even more gas. The proof of concept for this new approach to building software (which is just Gastown but with $87,000 worth of tokens blown every month on iteration) is the worst MMORPG you’ve ever seen, with the player base peaking at five concurrent players. The only way to have fun with it is to read Jonny Saunders’ scathing analysis of all the ways Yegge’s output falls short of his astronomical claims.
LLMs can't fix your shitty internal culture.
This infinite vortex of garbage is not, as Yegge claims, the shape of things to come. In fact, we are seeing a broad, societal-level rejection of such “inevitability”. AI, after all, is only the latest in a series of technologies that undermine the agency of their users. Yesterday, we still believed that these technologies will also be our future. Today, we are waking up to the fact that we still have a choice in the matter.
— Pavel at the Product Picnic
