Comment by ryandrake
12 hours ago
The sad reality is that the vast majority of customers (whoever you are writing software for: clients, management, or end users) simply don't care as much about quality. If you give them the "time, cost, and quality" pick-two choice, 99.9% of customers are going to ask for fast+cheap. It's not the world I wish we were living in.
The most important result of quality in software is that it's faster to produce and cheaper. How are people defining quality? We're not building tables with the finest wood.
Low quality ends up taking longer to build over the long run. It gets harder and harder to add or change features.
This is why I believe true engineering art comes in actually marrying all three: build great quality quickly at reasonable (small) cost!
If you need it to work for at least a month or two (instead of one and done, which some demoware is like). Following a few rules early on will ensure you can keep evolving it — even if it's MVP/demoware/whatever — as long as you know you need to evolve it soon after you build it!
This isn't true. I don't think you or me would want a car/TV/smartphone that's cheap and flashy but breaks every two weeks. Sometimes people are strapped for cash that's why they cheap out on stuff, or really are enthusiastic about it, so they tolerate it breaking all the time, but for everything else, reliability is king.
Nobody _wants_ it, but in practice if all cars/TVs/smartphones break every two weeks, what choice do people have?
In tech, the era of competing based on quality is long gone. The winning strategy is to get a monopoly/oligopoly and then you can let the quality decay to zero and people will have no choice but to keep paying you money (or to your handful of equally-mediocre competitors).
There is a minimum but beyond that people don't care. Asian brands like Toyotas are the most reliable yet the Ford F150 is the best selling vehicle in the world.