Live data from Hacker News

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

news.ycombinator.com

61–70 of 100 posts

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

#61
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…

I just made a general comment above, but your message is very well put about software in particular.

Reading along with HN for a few years now is making me more terminology-oriented in areas of coding and capitalism, two of the major themes.

So to me it's only software if it's intended for sale (or profitable distribution), otherwise it's just computer programs.

Same with hardware, if it's not built for profit then it's not wares, just equipment.

Nothing wrong with building in quality for profit, but you may not be able to compete with low-quality-focused operators, especially ones which are strongly established.

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

#62
Here are just some causes (IMHO) of poor quality software:

1. Creative and intelligent people are forced into an industrialized process of distributed micromanagement (Scrum) which stifles their ability to create a truly wonderful product and instead leaves them feeling lost and producing their worst work.

2. Idiots are running the show.

3. Quality is seen by the above-mentioned idiots as a threat to the deadline, whereas the reality is that low quality spreads like cancer and kills projects before they can deliver unless a series of miracles occur, in which case they deliver over time, over budget, descoped, and full of bugs.

4. Implementing non-functional requirements (i.e. the environment in which features exist) doesn’t visibly demonstrate progress to stakeholders, so this activity is deprioritised in favour of building features so there will be something to demo at the next showcase and the project manager can keep his job. At some point, as developers try to implement non-functional requirements, they’re faced with features that haven’t implemented the non-functional parts and features that have to be rebuilt after the non-functional requirements are implemented. After some time, the developers “come clean” to the project manager about incomplete features when, in fact, those features couldn’t be completed at the time because the environment in which they are supposed to exist barely existed itself.

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

#63

Feature creep and timelines are in my opinion the root cause of lower quality software. Most engineers sit down planning to develop clean efficient code but that generally takes more time than they are allocated. As the deadline draws closer new features and edge cases are often added in by either management or the end user. Often these new features were not accounted for in the original design and in order to fit th…

I don't understand why people have a problem with hard-coding features. The argument is that it creates more work later. But this is a fallacy as the work "later" is not guaranteed to be necessary or requested. The idea that all software has to be abstracted, configurable, and future-proof to be "good" is just wrong. We hard code features all the time on my project. The earth keeps on spinning, the company makes mone…

For me it has to do more with the idealized way to develop a project. You have a pretty plan & design, and want to see it executed. Unfortunately that rarely happens in real life. For example on my current project I wanted a very database driven design. Essentially just be able to update records in the database and everything on the site changes accordingly.

Last minute changes and exceptions to the rule made that impossible with the given deadline. You are absolutely correct in that the end result is completely fine and the world keeps spinning.

There are no real world consequences aside from needing to remember that there are hard coded exceptions in the code. Its just the hunt for the elusive "perfect execution and design."

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

#64
post #42

Earlier quoted context omitted.

Fourthly, a lot of software is ""free"" or ad-funded. This further weakens the cost of failure. I'm not sure being ad-funded weakens the cost of failure. Losing users or having down time impacts revenue immediately if you're ad-funded.

Yes, but the users aren't going to ask for refunds. Also they feel that because it's free they aren't really entitled to customer service (and you certainly wouldn't offer them any).

Your original seems to suggest that loss of revenue from software not working will be more severe for directly-paid software than for ad-supported software. It's not clear to me that's the case, especially given that some of the highest revenue software currently in use (consumer services from FB etc.) is ad-supported.

Anyway, this is tangential to this thread, so I won't go on about it.

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

#65
Management incentives and profitability aren’t aligned to software quality...until they are (see: Equifax), and perceieved software quality is given priority over actual software quality. Also, if your product is a monopoly or relatively monopolistic, then software quality literally doesn’t matter because customers don’t have a choice...until they do (the very definition of disruption)

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

#66

A thought: The slightest design flaw or manufacturing flaw in a microprocessor or memory chip can reduce its value to zero. Generally, flaws in software are easier to correct and don't have the same catastrophic effect on value.

With respect to quality, some software is so fundamental and widely used that flaws are noticed immediately and fixed. Examples include microcode, firmware, operating system kernels, compilers, and embedded databases such as SQLite. Flaws in low-level software are generally much more destructive to value than flaws in high-level application software.

I've fixed bugs in postgres that were more than 10 years old...

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

#67

Feature creep and timelines are in my opinion the root cause of lower quality software. Most engineers sit down planning to develop clean efficient code but that generally takes more time than they are allocated. As the deadline draws closer new features and edge cases are often added in by either management or the end user. Often these new features were not accounted for in the original design and in order to fit th…

I don't understand why people have a problem with hard-coding features. The argument is that it creates more work later. But this is a fallacy as the work "later" is not guaranteed to be necessary or requested. The idea that all software has to be abstracted, configurable, and future-proof to be "good" is just wrong. We hard code features all the time on my project. The earth keeps on spinning, the company makes mone…

If your code is a mess of "this user has this feature on", "all users in this state have this other feature off", etc it's hard to revert. Especially when that mess is everywhere from years of changes. Reverting otherwise working features upsets customers. So now you have to write a rules engine to be able to replace all those hard coded use cases. Except that's not in the budget. Continuing to layer on workarounds also becomes more tricky. If you have to test as 1000 different users to hit all he edge cases, you're going to end up not testing, which results in more bugs which begets more hacks. It's a slippery slope

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

#68
post #23
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…

Only thing I can add (indirectly covered in your comment) is that software companies are competing with each other too. So once quality vs. price bar gets set, it is hard for another company to offer a better quality while asking for a higher price. This is one of the reasons how a lot of software has gotten to ad-funded. Dan Ariely (author of the book Predictably Irrational) called allowing free apps on AppStores to…

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.

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

#69
post #56
post #43

Earlier quoted context omitted.

I've managed developers for the same software product (accounting system) over the last 15+ years. That amount of time gives you some perspective. A common thing that new hire developers do is call for "a complete rewrite", they do this because when they first approach a large old code base, its daunting and seems impenetrable. Of course they are right, but naive in thinking a "rewrite" will help. Any new rewrite wil…

>I've managed developers for the same software product (accounting system) over the last 15+ years. You will probably appreciate this little piece of anecdata, last July there was an update change in some fiscal Laws in Italy, so that a number of firms had to make a certain payment of taxes within the 31st of July, BUT the change was communicated/published almost "last minute" (as often happens) and a software house…

This is the future of learned helplessness. 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.

Seems like one needs to be controlling the spec and writing the code not to get stuck in this trap.

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

#70
post #69
post #56

Earlier quoted context omitted.

>I've managed developers for the same software product (accounting system) over the last 15+ years. You will probably appreciate this little piece of anecdata, last July there was an update change in some fiscal Laws in Italy, so that a number of firms had to make a certain payment of taxes within the 31st of July, BUT the change was communicated/published almost "last minute" (as often happens) and a software house…

This is the future of learned helplessness. 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. Seems like one needs to be controlling the spec and writing the code not to get stuck in this trap.

>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:Chesterton's_fence

that can be invoked both when users do silly things, but also when programmers do them.

Post reply on HN