Live data from Hacker News

Ask HN: Why is software quality an afterthought for many people/companies?

news.ycombinator.com

91–100 of 100 posts

Re: Ask HN: Why is software quality an afterthought for many people/companies?

#91
post #74

Earlier quoted context omitted.

>> reality is going to temper their enthusiasm after a decade or so. >I've been doing this professionally for two decades and my enthusiasm for "chuck it away and do it right" hasn't waned one bit. I think it's probably somewhere in between the two extremes. I think you should have good unit tests and then refactor parts of your code where you see better generalities, or where basic code cleanliness was disregarded b…

> throwing all of it away is rarely possible without endangering the profitability of the company Well, obviously I don't mean "turn it off and wait for the new system to be finished". You build the new one whilst the old one is in maintenance mode and swap in new bits as and when you can. For example, at current $WORK, the backoffice system is a horror show of overcomplex PHP that is riddled with bugs and no-one rea…

> You build the new one whilst the old one is in maintenance mode and swap in new bits as and when you can.

Continuous incremental improvement of a production system may, over time, have the same net effect as a an idealized big-bang replacement, but it's a very different process (it's usually what people who are saying you should never do a ground-up replacement prefer instead, because actual big-bang replacements, unlike idealized ones, are usually a shitstorm: and the reason is that they are usually done to the kind of systems you describe, overcomplicated key systems with inadequate documentation or institutional memory, and they are done instead of trying to get a firm grasp on each component of the existing system before replacing that component. And so they end up, at best, being exceedingly well designed, but overlooking key elements of business function discovered and implemented, but not durably documented, in the original system.)

Re: Ask HN: Why is software quality an afterthought for many people/companies?

#92
post #35
post #32

Earlier quoted context omitted.

Theoretically software products could compete on "quality", but this is quite rare because it's hard for the customers to measure. See https://en.wikipedia.org/wiki/The_Market_for_Lemons I don't agree with the idea that free apps are inherently bad - that would rule out Open Source / Free Software, and it would also put the boundary vs "free" web pages in a strange place. "Free"+adsupported and "Free"+IAPs have certa…

We are mostly in agreement. See my other comment here: https://news.ycombinator.com/item?id=15532543 I do find open-source software to be generally lower in quality than paid products. Though there are many exceptions at this point in time where open-source is rather highly superior. However, even in cases where someone could produce a better paid software for an open-source alternative, they practically cannot as it…

In my opinion open source software typically has worse design but better implementation.

For instance, in the latest iOS there is a stupid bug where the calculator blocks the buttons if you press them too fast. So if you enter 1+2+3 the display will show 23.

In open source this would be trivial to fix. In closed source you have to wait for Apple to do its implementation, testing, distribution.

In open source you would have a customizable calculator with a million generally useless buttons though because it’s so easy to add them.

Re: Ask HN: Why is software quality an afterthought for many people/companies?

#93
post #68

Earlier quoted context omitted.

I think it is even worse than that. I would like to pay for all of my apps. I could not find any way on Android to filter out all of the free apps and just show ones that have a price.

You obviously don't want to pay for the same app+crap currently offered for free, but the purveyer would happily offer it for a fee. What you say you want isn't actually what you want. What you want is a quality filter. And that is what Apple claims to provide, and Google intentionally does not.

I would suggest that the problem is that the app stores don't properly support the free trial model.

I won't spend $10 on an app sight unseen because if it's crap or even just plain doesn't do what I need, there's no way to know that aside from trying to parse it out of the reviews that the developer probably bought from a spammer.

I will spend $10 in a heartbeat on an app that I've tried for two weeks and don't want to go back to living or working without.

But AFAICT, Apple explicitly forbids that business model in its store. Dunno whether or why Google Play apps don't use it more, tho.

Re: Ask HN: Why is software quality an afterthought for many people/companies?

#94
post #8

Software development is, apart from a few rare outposts like GOV.UK, conducted in the private sector for a profit. That means that the number one consideration for the software is profitability. For internal-only software, this means that cost is the prime consideration. In support of that, often software startups are trying to capture a winner-takes-all market, so time-to-market is critical. Thirdly, consumer protec…

Two points: First, to extend what you said about startups, you generally aren't totally sure that the market is really there. If it turns out that nobody cares about what you're building, it doesn't matter what quality you built it with. Therefore, as long as it's cheaper to build it with lower quality , startups are rational to build it with little concern for quality. Second, Toyota: I'm not going to be any kind of…

But some of the stuff they're implementing in software wouldn't have to be implemented in hardware in a less high-tech car. It would just have manual controls for a human to operate the underlying hardware that the software is now meant to control.

Re: Ask HN: Why is software quality an afterthought for many people/companies?

#95

Earlier quoted context omitted.

You obviously don't want to pay for the same app+crap currently offered for free, but the purveyer would happily offer it for a fee. What you say you want isn't actually what you want. What you want is a quality filter. And that is what Apple claims to provide, and Google intentionally does not.

I would suggest that the problem is that the app stores don't properly support the free trial model. I won't spend $10 on an app sight unseen because if it's crap or even just plain doesn't do what I need, there's no way to know that aside from trying to parse it out of the reviews that the developer probably bought from a spammer. I will spend $10 in a heartbeat on an app that I've tried for two weeks and don't want…

Google Play also doesn't really have a good way of implementing that as far as I know. You can do free app and unlock via IAP, but no matter how clearly you spell it out on the page people will not read it and kill your ratings with "1-star, SCAM!" reviews.

Something like this really should be a store-level feature

Re: Ask HN: Why is software quality an afterthought for many people/companies?

#96
You don't make money building good or bad software. You make money with mainteinance contracts.

That's what my CS 101 professor told us our fist day at the university. Heresy! you might think. But it is true.

Making software is a one-off cost for the customer. Maintenance is recurring income for you.

Custom software is Capex (Capital expenditure: investment). Mainteinance is Opex (operational, aka expenses). All Capex you spend will be in your books for several years (usually 3-5). Opex is fort the year only.

A lot of customers will happily like to pay high mainteinance fees if you can convert those fees to development of new features (in case there is little or no debugging/improvement to do).

Re: Ask HN: Why is software quality an afterthought for many people/companies?

#97
post #75
post #70

Earlier quoted context omitted.

>People that see problems and inconsistencies in software systems and try to work around them will have worse outcomes than those that just blindly follow the workflow assigned to them. Well, not always. That applies ONLY to those that find such problems or inconsistencies and workaround them in an incorrect manner. And this brings us back right to Chesterton's fence: https://en.wikipedia.org/wiki/Wikipedia:Chesterto…

Never heard of Chesterton's fence before, and it's quite interesting, but I don't see this as applicable here. This was a design error on the part of the programmers, because the software didn't make it clear why it was "misbehaving".

> This was a design error on the part of the programmers, because the software didn't make it clear why it was "misbehaving"

Partly yes, but only partly, as they did publish the "peculiar" workaround that they (the programmers) used in the update (though not giving to it the relevance that should have been given to it), but NO user actually reads the boring text that comes with the updates of course.

In this peculiar case the non-reading users were divided in three:

1) non-reading users that didn't even notice the anomaly

2) non-reaading users that noticed the anomaly and that either read the accompanying text or called to ask why the anomaly presented itself and were given a reasonable explanation.

3) non-reading users that noticed the anomaly, but, assuming that the programmers were a bunch of good-for-nothing morons [1], forced or "overruled" the settings without asking anything (and of course without even asking themselves if they were possibly causing an issue later on)

Of course both the #1 and #2 were fine, with the difference that the #1 were simply lucky, whilst the #2 "deserved" their success, as they had the curiosity to delve deeper in the issue.

The #3 are the main reason why I posted the Chesterton Fence reference, but it is applicable more generally.

Now that they were (all, users and programmers, in different ways) bitten by the issue, most probably the programmers in next release will add a field to the database so that you can have more than one payment with the same government code on the same day.

Still I can bet that in a few years the new kid on the block (among the programmers) will notice that there is a field in the database that is always set to 1, the memory of the reason why that field was added will be lost and he will probably remove that field by saying "Ha! I optimized the database by removing an unneeded field." and falling in the same fallacy.

[1] BTW, not that the opinion specifically was completely wrong, though I am not a programmer (nor an accountant) I had to deal with some of these guys to import some inventory data coming from another accounting program and it was a nightmare.

Re: Ask HN: Why is software quality an afterthought for many people/companies?

#98
The problem is, money loss through poor software quality is (and maybe can) not be calculated in a way that, for example time (for development) can be measured. Often the arguments for increasing software quality, for example through refactoring parts of a codebase, are therefor not fact-based, but mostly vague. This is often not enough to encourage the decision-makers to invest in good software quality.

Apart from that some people might deliberately choose to not care about good software quality. But in my opinion this is often a sign of missing/poor education/experience.

Post reply on HN