惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
MongoDB | Blog
MongoDB | Blog
博客园_首页
博客园 - 三生石上(FineUI控件)
博客园 - 聂微东
B
Blog RSS Feed
D
Docker
IT之家
IT之家
大猫的无限游戏
大猫的无限游戏
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
阮一峰的网络日志
阮一峰的网络日志
罗磊的独立博客
Recent Announcements
Recent Announcements
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
A
About on SuperTechFans
The GitHub Blog
The GitHub Blog
G
Google Developers Blog
V
V2EX
量子位
雷峰网
雷峰网
月光博客
月光博客
云风的 BLOG
云风的 BLOG
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
T
Tailwind CSS Blog

Yusuf Aytas

When Code Is Cheap, Does Quality Still Matter? Why Crouching Tiger, Hidden Dragon Is a Masterpiece Why We Ignore Advice The Mirror Is Part of the Machine When Too Many Maps Overlap on One Person The Work Runs on Different Maps Your Work Introduces You Trial By Fire The Dude Why Headcount Math Lies Capacity Is the Roadmap The Roadmap Is Not the System Torres del Paine W Trek Escaping Status Theater Incentives Drive Everything Scaling Culture Without Dilution What Good Looks Like Why Airport Security Feels Random Why Politics Appear How to Work with Me The Janus Protocol Multi-Horizon Delivery Framework What Good Execution Looks Like Managing Your Manager Why Kingdom of Heaven’s Director’s Cut Is Better AI Broke Interviews Most of What We Call Progress Managers Have Been Vibe Coding All Along Stop Wasting Brainpower Why Over-Engineering Happens
Why Metrics Don’t Equal Quality
Yusuf Aytas · 2023-10-03 · via Yusuf Aytas

Published · 4 min read

In 1902, Hanoi was drowning in rats. The government was getting nervous about plague. Hence, the city put a bounty per rat tail. Suddenly, the system had a scoreboard, something you could count, stack, report, and feel good about. And it worked. Hunters brought tails in, the numbers soared, and the program looked like a win. Then reality showed up. Rats were still everywhere, and officials started finding rats alive, without tails. Because once you pay for tails, you create a tail economy. People stop solving the problem and start manufacturing the evidence. Software teams do the same thing, just with prettier dashboards.

We often pursue quality through tangible metrics like code coverage. Here's the problem. If you reward a number like code coverage, you will get more code coverage. You will also get tests that assert nothing meaningful, brittle mocks, and a false sense of safety. The metric turns green, incidents still happen, and everyone is confused because the quality score says you are winning.

The emphasis on numbers might lead us astray from the essence of what true quality signifies. We often forget that metrics are indicators not guarantees, and treating them as the final measure of quality can create a dangerous illusion of progress. Every project encounters its own set of hurdles. Be it tight deadlines, evolving requirements, or sneaky bugs. Amid these challenges, upholding your high-quality bar is really hard.

Metrics are useful indicators. They are not guarantees. Real quality shows up in judgment, collaboration, and context, especially when deadlines, shifting requirements, and production weirdness start applying pressure.

What Metrics Don’t Capture

Each iteration in a software project is another round of “tail counting.” You push a change, you watch the dashboards, you check the numbers you chose to represent quality: coverage, bugs, latency, error rate, story points, whatever your org worships this quarter. And just like Hanoi, the moment those numbers become targets, people learn to feed the metric.

Not because they are evil. Because incentives work.

Teams will write tests that technically execute lines but prove nothing. They will mock away the hard parts. They will split work to make throughput look better. They will avoid risky refactors because it might dent short-term stability metrics. The numbers improve, the system does not.

In engineering, the most important variables are usually the ones you cannot reduce to a dashboard. The context behind a change. The judgment of whether a test is meaningful. The intuition that a “green” build is still unsafe. The ability to anticipate how real users will break your assumptions. The discipline to say “this feels wrong” even when the graphs look perfect.

The variables you already measure do contribute. They are useful sensors. But they are not the craft. The craft is noticing what the metric is failing to see, and refusing to let a tail count masquerade as quality.

What matters most is usually off-dashboard. Developer intuition. Context on real user needs. Forward-thinking about stability. A team’s ability to learn from past iterations and mistakes. These shape the final product far more than a single percentage ever could.

Beyond Numbers: Quality in Software EngineeringBeyond Numbers: Quality in Software Engineering

Looking Beyond the Numbers

When a team is encouraged to look beyond numerical targets, the conversation changes. They stop asking, “How do we get this number up,” and start asking, “What will fail in the real world.”

They look at impact instead of output. They care about whether users can complete the job without friction. Whether the system behaves predictably under load. Whether the codebase can be changed without fear. They still track metrics, but the metrics serve the work, not the other way around.

For instance, you can have bug-free code and still ship a product users hate. You can hit 100% code coverage and still miss the failure mode that matters. The goal is not a perfect dashboard. The goal is software that survives contact with reality.

In practice, this means asking better questions. Does this change make the user’s job easier. Does the system degrade gracefully. Can the team maintain it without heroics.

All in All

Quality is not a number you achieve once. It is behavior your system keeps under pressure.

When you evaluate software on real properties like usability, resilience, maintainability, and clarity, you end up with something that works for humans, not dashboards. Metrics support that understanding, but they cannot replace it.

So, the next time you find yourself chasing a metric, pause. Ask what you are really trying to improve. Are you reducing rats, or just collecting tails?