Free Technology Newsletters
» All 33 InfoWorld Newsletters
Technology & Business Daily
 
InfoWorld
 
   

Is Software Quality Getting Worse?

By Ed Foster, Section Columns
Posted on Tue Mar 21, 2006 at 12:21:07 AM PDT

With all the recent news stories about zero-day bugs in IE and anti-virus updates that quarantine AOL or Excel, you might wonder whether the quality of software products is deteriorating. Judging from the everyday complaints the GripeLog hears about software that just doesn't work, I'd say you need wonder no longer. Software is indeed buggier than ever.


Software bugs have been with us ever since there's been software, and customers have certainly shown a willingness to tolerate glitches that would be unacceptable in other industries. But it's a little harder for customers to understand how today's software giants with their large quality control departments can so often prove unable to deal with bugs that can render their products unusable.

"I recently downloaded the Intellisync Handheld Edition Multilingual version," wrote one reader. "I had an earlier version of this program from Pumatech, but when our office upgraded to Groupwise 6.5, it would no longer work, even after downloading an upgrade that was supposed to do the trick. When I discovered they had a new version that supported Groupwise and the Smartphone 2003, I downloaded the entire program brand-new rather than going the upgrade route, jut to get a clean install free of any kind of legacy corruption. Surprisingly, it refused to recognize the activation code they provided and would not install. I went through a long process with their tech support trying to get it to work, and their response was basically that it was my problem and our IT should fix it. Our IT picked apart the problem to no avail, so basically I have this software I paid for that is useless and there is no known explanation for why the activation code would never work."

Fortunately for that reader, Intellisync did ultimately agree to refund his money. One company that's been much less willing to make any concessions to users over the very buggy recent releases (see "Sage Has a Tough ACT to Follow") of its ACT contact management program is Sage Software. "Having been an ACT user since day one, I could hardly foresee the ungodly mess that was sold to us as ACT 2005," one reader wrote. "Obtaining assistance from customer (no) service during the warranty period was bad enough, but to be forced to ante up for additional service to seek help to work around problems created by the software is insufferable! This whole gig seems to be nothing more than a ploy to line their pockets by creating booby traps within the program. Now they expect us to buy ACT 2006. If I go back to my boss and hit him up for hundreds of dollars in tech support and a new upgrade, I might as well get my resume ready."

Why don't customers simply force software companies to take responsibility for their bugs by going to the competition? Well, there's no guarantee the competition doesn't have even worse quality control problems, as shown by the example of a reader who just wrote me about a bug with TurboTax deductible calculations. "I call Intuit about this -- they say I must pay for them to help," the reader wrote. "Then I see this article describing the same problem. But (because the article writer is reviewing TurboTax), Intuit does not make the author pay. Why must I?"

Had that reader instead tried H&R Block's TaxCut, however, he might very well have run into an even worse deduction-related bug reported by a different reader. "I purchased H&R Block TaxCut's Premium+State package, and the CD with TaxCut is fine," the H&R Block customer wrote. "But the second CD, which is supposed to contain the DeductionPro utility and which is labeled as such, actually contains a program called 'NTI Backup NOW 4.' I talked CompUSA into opening another package and swapping its DeductionPro CD, and the replacement is also really a copy of NTI Backup. So it appears to be a manufacturing defect somewhere. I wrote H&R Block about it, and all I got back was some gibberish from an appeasement clerk whose job is to answer without telling me anything. Just to add spice to the experience, the version of NTI Backup appears not to work either -- I tried to back up a couple of gigs of hard drive material, and all I got was seven CDs marked as full without there being any readable data. Life is fun, isn't it?"

Sure, software bugs have been with us a long time, and it's doubtful we'll ever see the back of them. But when even big software companies like these can't overcome dead-in-the-water software quality issues for their customers, you have to wonder. So what do you think -- is software quality deteriorating? Post your answer below, or write me at Foster@gripe2ed.com.

--------------------

Post your comments about this column below or write me directly at Foster@gripe2ed.com. To receive this column every week in my free e-mail newsletter, please go to my subscription page and follow the instructions to opt-in for the EdFoster mailing list.

< Reading Ticketmaster Terms on the Clock | Getting Dell Media Becomes Endurance Test >


Display: Sort:
Is Software Quality Getting Worse? | 42 comments (42 topical) | Post A Comment
I agree...[ Reply to This ] (none / 0) (#1)
by Anonymous User on Tue Mar 21, 2006 at 07:34:29 AM PDT

Quality is getting worst. I'd say mostly with middle-tier programs though. After all, when Microsoft has a bug, their products are often so big that it creates enormous media pressure. Same with a corporation like Oracle, or Apple.

On the other hand, look at the recent new release of Nero 7 by Ahead software, a medium-sized software company. Big enough that their program is sold by B&M's such as Best Buy; not big enough that everybody knows what the product is (CD/DVD burning suite with A/V editing tools bundled). It's been an incredibly buggy release, with tons of angry and frustrated customers, and a lot of poor support (most likely because the support dept. is overloaded by the sheer volume of users with issues). I'm sure they're working hard to fix the issues, but it sounds like it stems from the number one problem with apps like these: pressure on the developers from the beancounters/sales folks to release a product before its ready for prime-time, and that middle-level products often don't have the resources to test the diverse amount of hardware that a big developer does.

Another big example is the new Pinnacle Studio 10. Like version 9 before it, riddled with bugs (worse yet if you have an AMD processor apparently, according to MaximumPC's latest review). Unfortunately, if less than 50% of the population uses such a software product, it makes it easy to sweep under the rug. I'd like to see more class-action suits against developers who create these problems, but without some tort reform, it will only benefit the lawyers doing the suing.

[ Reply to This ]



Not so sure...[ Reply to This ] (none / 0) (#2)
by James Farmer on Tue Mar 21, 2006 at 08:15:23 AM PDT

I'm not sure if software is getting buggier so much as the environment in which software operates is getting more and more complex. You no longer just have to worry about your own software; you also have to worry about lots of operating system variants, hardware, memory-resident utilities, libraries, environment paths, memory architectures, RAID arrays, etc etc etc. And especially with stuff like copy-protection which is designed to operate "on the edge", so to speak, the infinite variety of supposedly-compatible computers means there just so much room for things to go WRONG. The O.S. is supposed to hide this complexity from the programmer, but in my experience it doesn't do so perfectly.

[ Reply to This ]


Copy protection[ Parent | Reply to This ] (none / 0) (#18)
by Anonymous User on Wed Mar 22, 2006 at 12:08:57 AM PDT

If a vendor's copy protection introduces bugs and incompatibilities, it's their own damn fault. It's not functionality that the users either need or desire, and if they think it will stop people torrenting the software they're dreaming. (Lower prices, OTOH, may well encourage more users to buy legit.) Same applies to any other bundled "features" that provide no added value to the end user (*cough*spyware*cough*).

------------
I am the terror that flaps in the net!
I am the broken script that crashes your browser!


[ Parent | Reply to This ]



Sure...[ Parent | Reply to This ] (none / 0) (#27)
by James Farmer on Thu Mar 23, 2006 at 04:02:19 AM PDT

Oh, of course. I was just pointing out a possible reason for there being so many copy-protection bugs - because vendors are relying on flakey, non-standard or badly-understood features in their quest to "prove" a copy is good (or drive people towards Warez, depending upon your point of view). Personally, as a software professional, I feel the complexity of the environment we have to deal with now exceeds by far what I was encountering ten or fifteen years ago. If I'd known it was going to get this bad, I never would have gotten into this profession.

[ Parent | Reply to This ]


Sometimes there is no competition[ Reply to This ] (none / 0) (#3)
by Anonymous User on Tue Mar 21, 2006 at 09:56:22 AM PDT

I recently was appalled that the new version of Retrospect clients for Windows were severely limited when backing up to a Retrospect server hosted on a Macintosh. It was just another step in the direction that EMC has taken since it acquired Dantz away from the platform, but this time it was revealed in the lack of QA versus the lack of update support. Unfortunately, I'm not aware of any competition to Retrospect in the multiple platform backup realm whatsoever. It makes it hard to leave if there isn't anywhere else to go. Developers do seem to be increasingly pressured to deliver at specific times regardless of the quality. It is a poor practice and just shows which companies have moved to more agile processes. Then again, many programmers in the US are feeling the squeeze when faced with replacement by overseas counterparts. If I worked for even a medium-sized commodity software company, you can bet I'd deliver something whenever my marketing director wanted it.

[ Reply to This ]


I do/don't agree[ Reply to This ] (none / 0) (#4)
by Anonymous User on Tue Mar 21, 2006 at 10:21:09 AM PDT

Software complexity plus the interactions of software packages with OS, utility and other applications all lead to more opportunities for bugs.  The state of the art in software design quality control has not kept up with the pace of increased complexity.  Brute force debugging by herds of QC staff is not sufficient.  Thus, bugs proliferate.  

On the other hand the bugs in prior generations of software were dealt with more effectively.  Simply stated, the pathetic decline in the quality of software support is, in my view, the major culprit.  The number or severity of bugs is not the issue.  Without a sufficient number of flyswatters, the infestations will remain intolerable!  (Where's that can of Flit when ya need it?)


[ Reply to This ]



Software Quality...Because the BUYER deserves it.[ Reply to This ] (none / 0) (#5)
by Anonymous User on Tue Mar 21, 2006 at 10:52:28 AM PDT

It is amazing at the number of excuses given for deteriorating software quality: Software is more complex The Operating System Blah Blah Blah The fact of the matter is, people do not have a decent understanding of the IMPACT selecting a piece of software will have, more specifically, they don't understand HOW LONG THE SOFTWARE will impact them. For example, everyone who purchased WINDOWS 3.1 set the standard for the crummy operating systems to follow. Why would anyone build a decent operating system or application when it is evident people will spend hundreds of dollars for something that doesn't work the way it should. This is not to pick on Microsoft. This can be said for most ACCOUNTING packages, and probably most MRP packages. What is interesting, is I don't think this can be said for TECHNICAL software, such as CAD. The market rules...if people are willing to spend HUNDREDS OF DOLLARS for crummy software that doesn't work, why spend the money to write good software.

[ Reply to This ]


Companies at fault, too.[ Parent | Reply to This ] (none / 0) (#7)
by foxyshadis1 on Tue Mar 21, 2006 at 11:17:25 AM PDT

Same idea goes for "enterprise" software, the stuff that (as Alex Papadimoulis alludes to yesterday) is just shoddy sub-consumer software with extra zeros on the end. Sometimes the backend is nice, but the frontend hides it all behind ugliness and unusability. When companies are willing to drop $50,000 on something like that, sometimes without even testing it, where's the pressure to improve?

[ Parent | Reply to This ]


Not QA Dept's Fault[ Reply to This ] (none / 0) (#6)
by Anonymous User on Tue Mar 21, 2006 at 11:07:20 AM PDT

"today's software giants with their large quality control departments"

Where have you been, on another planet? ;-)  The adequate (never large) SQA depts all but disappeared in the mid- to late-80's.  But you can't "test in" quality, it has to be developed with a quality focus in the first place.  Testing can veto release, *if* the bugs are found, but only if they can get their voice heard over project managers/bean counters/marketing depts.

The real issue you should be highlighting is not the capability of "quality control (sic) departments" but the software development talent.

Could there be a connection to the amount of relatively recent offshore development, and layoff of older/senior/experienced developers onshore?  You think?  It's not to say that offshore or lower cost staff are naff per se, but anything that puts a large geographic and/or time distance between the company and its designers is going to make quality harder to achieve, esp. if the time to market constraints remain the same.

Manufacturing has been exported to lower cost locals for years with success, but how often is the whole hardware design team exported too successfully?  This is the corrollary to software, outsourcing your detailed product design.  And without even a rigorous definition language a la mechanical drawings, schematics and document control depts.

[And no I'm not a disgruntled laid off programmer ;-)  Just an ex software quality exec who saw the writing on the wall. ]

[ Reply to This ]



Amen to that.[ Parent | Reply to This ] (none / 0) (#15)
by Anonymous User on Tue Mar 21, 2006 at 08:14:33 PM PDT

Well said. - Quality-conscious programmer

[ Parent | Reply to This ]


They just renamed it[ Parent | Reply to This ] (none / 0) (#20)
by Jarulf on Wed Mar 22, 2006 at 01:22:39 AM PDT

>The adequate (never large) SQA depts all but >disappeared in the mid- to late-80's.

It didn't dissapear, they just renamed it to "customers"!

[ Parent | Reply to This ]



It's the Microsoft Model[ Reply to This ] (none / 0) (#8)
by chuckbo on Tue Mar 21, 2006 at 11:32:48 AM PDT

I think the last big company I remember having exceptional code was Bourland, back when Philippe Kahn ran the show. I remember him giving a demo of the unreleased version of Quattro where he'd say hey let's try this, and you could see the programmers shaking their head while Philippe left their script. And it would still work. But I also know that buggy software is due to the Microsoft Methodology. When I was a corporate programmer in the 80s, we wouldn't dare delivery code with bugs, and if one was found, we'd be up overnight to fix it. Bad code was like career-limiting moves. But as the business got used to paying less on PC software, they'd question the costs we were quoting. I started cutting out huge chunks of time that would've been spent reviewing requirements, testing, and debugging. I'd tell clients that I was using the Microsoft Methodology which meant that we delivered a version of the product that wasn't fully debugged, but the user would get it weeks or months sooner and cheaper, and they would help find bugs to be fixed in the next release. And they'd always nod enthusiastically and agree that that was a good model because that's how Excel/Word/Project (fill in your favorite MS product) worked.

[ Reply to This ]


I'll certainly agree[ Reply to This ] (none / 0) (#9)
by LasVegan on Tue Mar 21, 2006 at 12:12:05 PM PDT

I think the problem is that there's no clear payback for testing $s and no clear measurement of what is enough testing. Managers save money by cutting back on testing--by the time the effect shows up in poor sales for the next version they've moved on and aren't hurt by it, it's someone else's problem. Furthermore, the support people seem to be trained to ignore bugs so there isn't even any direct feedback showing how badly they messed up.

[ Reply to This ]


Verification is a hard problem[ Reply to This ] (none / 0) (#10)
by RainyDayPursuits on Tue Mar 21, 2006 at 01:19:06 PM PDT

What it really comes down to is that software has bugs because producing bug-free software is very difficult. There are lots of valid reasons why it is difficult, with the complexity of the sofware itself one of the primary reasons. Some companies just don't want to expend the effort to tackle the hard problem. Some companies don't want to spend the money it takes to solve the hard problem, often for valid business reasons. (If a company spends twice as much and takes twice as long to test and debug as their competitor, they are longer out of the market longer, their product costs twice as much, and it sells fewer copies because most consumers are price-oriented, not quality-oriented.) Most companies try to find an optimal balance of cost vs. quality for their product. Ultimately, the market drives quality. If customers refuse to buy products that are below a level of quality, companies will respond. Everyone likes to say they make buying decisions based on quality, but they really want the best price. If all products in a category are below the quality bar, however, people are still going to buy the programs because they have tasks that need doing. As long as there is a strong downward pressure on price, companies will try to reduce costs by testing "just enough", which is never enough to make a rock-solid product.

[ Reply to This ]


Sadly, I agree[ Parent | Reply to This ] (none / 0) (#13)
by ekuns on Tue Mar 21, 2006 at 07:19:42 PM PDT

And this is true in more than the software world. The furnace in my house has outlived the company that made it. This company made superior furnaces that would outlast their competition by five to ten years, but of course this made their furnaces cost more. Enough consumers bought the lower quality furnaces from other companies (probably thinking, "I won't be living in this house when this new furnace fails in ten years") and few enough consumers bought the higher quality furnaces that this company went out of business.

This makes it difficult for those of us who value quality over price, or who at least consider quality as more important than price alone. We are a minority. This often means that everyone pays more in the long run, because people who optimize for short term cost usually totally neglect to consider the long term cost.



[ Parent | Reply to This ]


Windows Vista - Case in point[ Parent | Reply to This ] (none / 0) (#21)
by RainyDayPursuits on Wed Mar 22, 2006 at 11:31:36 AM PDT

The reaction to Microsoft's annoucement that they are delaying the release of Windows Vista is an excellent example of this. They delay the release to give more time for testing and stabilization, and the result is that the stock price goes down, bloggers make snide comments, and they get general criticism for being slow to market. Face it - customers want feature-rich, complex software that is fast to market and cheap. Oh, and high quality, too. You just can't have it all.

[ Parent | Reply to This ]


Conspiracy Theory Anyone?[ Parent | Reply to This ] (none / 0) (#23)
by srynas on Wed Mar 22, 2006 at 12:01:48 PM PDT

First, to be on topic, I would agree that software quality is getting worse for the reasons previously cited.  I would also like to add, that some software comes with partner & affiliate applications that are pure junk.  Furthermore, in many cases when loading your newly bought software it is unclear whether these add-ons belong to the software you actually bought and whether they should be installed.

Second, I "know" (based on paranoia and skepticism) that the delay in VISTA has nothing to do with quality control.  Let's look at the fact that Sony has delayed the introduction of its Playstation3 due to unspecified technical "problems".  Time Warner also announced a delay in releasing HD-DVD citing technical "problems".  The press buzz alludes to the fact that these delays are really due to an inability to get DRM to work correctly.  Based on this obvious clear-cut trend, Microsoft must be having trouble getting its anti-consumer DRM technology to work in VISTA.  


[ Parent | Reply to This ]



Sounds about right[ Parent | Reply to This ] (none / 0) (#25)
by Anonymous User on Thu Mar 23, 2006 at 03:37:29 AM PDT

Let's just hope that this means the "trusted computing" garbage MS and friends want to push on us will turn out to be technically infeasible, and they're forced to continue letting us have genuinely general-purpose computers and operating systems... -------- I am the terror that flaps in the net! I am the license agreement that is written in a tiny, unreadable font!

[ Parent | Reply to This ]


Bah![ Parent | Reply to This ] (none / 0) (#26)
by Anonymous User on Thu Mar 23, 2006 at 03:45:48 AM PDT

Bah! Someone change the stupid thing's default to plain text please, so it works like every other forum site on the planet???

--------
I am the terror that flaps in the net!
I am the bank error that eats your newly-deposited paycheque!

[ Parent | Reply to This ]



Not all software getting worse[ Reply to This ] (none / 0) (#11)
by glenn354 on Tue Mar 21, 2006 at 02:00:44 PM PDT

It is amazing that we don't read about a piece of banking software that won't allow a clerk to post a check, we don't read about how the IRS's software computes deductions incorrectly, we don't read about Peoplesoft having a bug that causes employees to be suddenly terminated. It seems to be only the software sold to thousands of small individuals and companies that are the problems. Don Glenn

[ Reply to This ]


You just don't read about it[ Parent | Reply to This ] (none / 0) (#12)
by Anonymous User on Tue Mar 21, 2006 at 06:24:52 PM PDT

You don't hear about it because the big software has (in the IRS case) one customer and a team of people supporting it.

It isn't that the bugs aren't there, it's just that there's a team of people working 24-7-365 to keep it running.

The same is true in software running at banks, insurance companies, everywhere. Stuff written in-house has in-house support teams to keep it limping along. Stuff they bought does most of the time, too - or a big hefty contract with the vendor to do the same.

As someone who works for a mult-billion dollar company in the IS department, let me tell you - the bugs are there. We just keep it limping along.

[ Parent | Reply to This ]



IRS? Ha-ha-ha...[ Parent | Reply to This ] (none / 0) (#16)
by Anonymous User on Tue Mar 21, 2006 at 08:17:21 PM PDT

I get your point.

But don't hold the IRS up as an example!

Do a bit of research on their systems... strapped together with Band-Aids and duct tape.


[ Parent | Reply to This ]



Different markets...different requirements[ Parent | Reply to This ] (none / 0) (#22)
by RainyDayPursuits on Wed Mar 22, 2006 at 11:37:48 AM PDT

Software for a vertical market (such as a bank or for the space shuttle) often has a different standard for acceptable quality. There is a reason why these applications costs hundreds of thousands or millions of dollars; the cost to produce that level of quality is significant. And the cost to respond to bugs immediately is also very high. In these markets, you have a small number of customers who are more willing to wait until the quality is acceptable and who spend a lot of time evaluating the software before and after purchase.

[ Parent | Reply to This ]


Poor quality software really is nothing new...[ Reply to This ] (none / 0) (#17)
by Anonymous User on Tue Mar 21, 2006 at 10:37:29 PM PDT

Let's go down memory lane here with some of history's greatest software bugs (ignoring IE...)
  • WordPerfect 5.1 for DOS--first version that came out in 1990 was worthless; bugfixes were still created as late as '95 (5.1+ for DOS)
  • Windows 3.0--couldn't load images greater than 64K into memory (solved with 3.0a and 3.1), among its other proglems
  • WordPerfect 5.1 for Windows--totally unstable piece of crap that needed a whole new release to save-face (5.2)
  • MS-DOS 6.0 & Doublespace--not only were many of the Microsoft rebranded apps buggy, Doublespace was a nightmare to which Microsoft gave away MS-DOS 6.2 to save-face; then Microsoft got sued by Stac for patent infringement with Stacker and had to have offer MS-DOS without compression (6.21) and then with a new compression scheme called Drivespace (6.22)
  • WordPerfect 6.0 for DOS--useless until at least 6.0b
  • Word for Windows 6.0--Microsoft was releasing bugfixes up to 6.0c
  • WordPerfect 6.0 for Windows--incredibly buggy and required a 7 disk 6.0a patch (which was pathetic given that 6.0 needed 12 disks to install!)
  • Windows 95 with Plus--caused recalculation errors in Excel 95
  • SoftRAM 95--lawsuit over the fact that the program did nothing
  • Netscape 2.0--first version to include Java & Javascript; all versions thru 2.02 were unstable and Netscape had to release 3.0 to save-face
  • Windows 95B--USB support existed which usually brought down the OS if used; Windows 98 had to be used to resolve
  • Word 97--couldn't save files in Word 6.0/95 format
My point--how quickly we forget that we were complaining about the same things a few years ago. The only advantage is that software development, especially in Office suites and Windows-based operating systems has slowed to a crawl so these apps have become reasonably stable... But little has changed--only the product names and in some cases the vendors...

[ Reply to This ]


I agree[ Parent | Reply to This ] (none / 0) (#28)
by Anonymous User on Thu Mar 23, 2006 at 06:37:45 AM PDT

Software is built on the moving target of hardware and software.

To stablize software, we would need a complete freeze on all new hardware and software, then testing for at least 1 year. At that pace, computers would not evolve as rapidly as it is now.

So suck it up, and stop griping about it - you (the user) has asked for it by buying the upgrades to your software AND hardware.

If you were really interested in perfection you would have stayed with a very old computer and with the most stable of software you had.

[ Parent | Reply to This ]



Good news[ Reply to This ] (none / 0) (#19)
by Anonymous User on Wed Mar 22, 2006 at 12:24:17 AM PDT

Well this is good news. If they now actually have such a job description as "appeasement clerk", then the industry has hit rock bottom.

Which means the only way to go now is up.

------------
I am the terror that flaps in the net!
I am the crippled wma that won't play on your ipod!


[ Reply to This ]



2 Ways to go[ Parent | Reply to This ] (none / 0) (#30)
by Garminski on Thu Mar 23, 2006 at 12:18:19 PM PDT

Actually, there are 2 ways to go. You are evidentally an optimist and assume the only way to go is up when you hit rock bottom. I on the other hand am a "realist". The other way they can go is sideways. :-)

[ Parent | Reply to This ]


Software Feature Creep[ Reply to This ] (none / 0) (#24)
by Anonymous User on Thu Mar 23, 2006 at 02:19:27 AM PDT

The bugs are due to the economics of size and feature creep. I don't mean money economics here, but rather I'm referring to statistics. More features=more lines of code. More lines of code=more opportunites for Bugs=more Bugs. Pretty simple math. The size of the product increases so the bug count increases. Recent experience: We use Quickbooks for church finances. We vote in a new Treasurer. The 2 other people who utilize the files are forced to upgrade so files will be in sync. (You can't buy the old version anymore.) I install the new version. BIG! BLOATED! SLOOOOOW! A couple of new bugs. One of the 3 of us has an older computer. REALLY SLOOOOOOW! As far as I can tell the only truly new feature is they tacked on a new front end. One more layer to wade through to get your work down. I end up wasting my time figuring out how to disable the new timewasting garbage so I can just get my work down the old way. But whether or not you use them, the new features are there, slowing down load time and execution time. I loved QB 99. Loaded fast and did accounting great. But their sunset policy forced me to upgrade to support payroll.

[ Reply to This ]


Excellent article on this from a couple years back[ Reply to This ] (none / 0) (#29)
by Anonymous User on Thu Mar 23, 2006 at 08:15:43 AM PDT

Article from Computerworld, 6/2004:
http://www.computerworld.com/developmenttopics/development/story/0,10801,94040,00.html?SKC=websitemg mt-94040

May not be new to people here but this article confirmed my suspicion that the problem is certainly not accidental or random but, at least in some cases, pretty much built into the system itself, unfortunate as that sounds.

Of course it's not just software: I think it was David Halberstam who wrote a fabulous book some years back -- think it was The Reckoning -- that showed how the shift in management priorities over the decades from production to financial has lowered quality throughout. He talked about the auto industry here but the concepts were more or less universal.

I think Ed is doing a fabulous job with this site, nice going Ed! Specifically on this topic, I have discovered two excellent anti-virus packages from reading this site -- AVG and NOD32 -- in time to recover from Symantec's apparent meltdown and the well-documented problems with NAV. Whatever any of us can do to encourage the ones that are still trying to put stuff out that works, while discouraging the others, is our best bet. Or maybe our only bet, hard to say.

[ Reply to This ]



Wrong model[ Parent | Reply to This ] (none / 0) (#32)
by Anonymous User on Fri Mar 24, 2006 at 08:23:53 AM PDT

The referenced article is valid, it is not however directly applicable to the situation raised by Ed.  It applies to the Corporate IT Dept, and internally developed software for it's own use to boot.  But boy is it true, and has been so for almost all of the history of computing.

In the personal confuser market, there is an analogy, and that's the screwed up rewards system used in companies today, at least in the western culture.  (Deming's gone and long forgotten - in the West.)  All the focus, reviews and rewards - and bennies that accrue from thenm - are on SHORT TERM ROI achievements.  I've seen hundreds of cases where a project manager and/or the entire team has been feted for meeting a release date - or near-missing a release date - regardless of what they actually shipped.  But I can count on 1 hand the number of times anyone was held liable or even cited as accountable for releasing too early, or releasing a bad product.  And even in those few cases it only amounted to a slap on the wrist.

And if you look closer you'll find an even more obvious incentive to release the runt early:  most bugs found by the punters - err, I mean customers - are NEVER fixed.  If they were found and fixed pre-release it would cost money.  If they recover the development cost in initial sales BEFORE the bugs are found, then, wow, WINNER!

So the subliminal message to the product management is simple - don't release TOO BAD of a product, but release to schedule.

And consider the corrollary:  Stuff that publicly slips - think Vista - you know just has to be really, really REALLY bad ;-)  

[ Parent | Reply to This ]



Taxcut bugs[ Reply to This ] (none / 0) (#31)
by Anonymous User on Thu Mar 23, 2006 at 01:40:50 PM PDT

I ran into a couple of bugs in the TaxCut 2005 software recently and duly notified them of the problems in the hopes that they might want to try to fix them.  The first problem was that I could not use the online help unless I was logged in with administrator rights (on XP Home, at least).  I routinely log on as a standard user to help prevent malware or root kits from installing themselves without my knowledge.  It is frustrating to have to switch user just to use the taxcut software.  

The second issue was with importing.  I started the new return by importing my previous year's return, which included a schedule A.  When I entered my 1099G for State income tax refund, though, the program refused to treat it as taxable income because I had not itemized the previous year!

The response to my attempt to notify them of these errors was totally unrelated to the problem.  It took 3 or 4 emails till I got someone who could even come close to understanding what I was saying.

Then, after I e-filed my return, the program refused to acknowledge that I had done so when I asked it to check the status, even though when I went back through the efile questions all the answers were there.  

I would love to go to a competitor, but I view Intuit as evil and only buy TaxCut as the lesser of two evils.  Are there any other good alternatives out there?

[ Reply to This ]



Alternatives[ Parent | Reply to This ] (none / 0) (#33)
by sconeu on Fri Mar 24, 2006 at 08:50:50 AM PDT

Only used the free version a few years back, but what about TaxAct?

--
I am not merely a "consumer" or a "taxpayer". I am a Citizen of the United States of America.
[ Parent | Reply to This ]



I agree[ Parent | Reply to This ] (none / 0) (#34)
by Anonymous User on Sat Mar 25, 2006 at 12:02:26 PM PDT

I have used TaxAct for the last two years and have been very happy with it. I download the deluxe version & pay the fee to encourage them to continue to develop the software.

[ Parent | Reply to This ]


TaxAct and Cut[ Parent | Reply to This ] (none / 0) (#38)
by Anonymous User on Mon Apr 03, 2006 at 01:52:29 PM PDT

I switched to TaxAct from TaxCut this year because TaxCut didn't do a Mac version this year. (They were kind enough to send me a CD of the PC version. How they thought I was going to use it is beyond me.)

TaxAct was cheap, I did the $10 online version, and worked ok. Proof is if I don't get audited. I found it less helpful and occaisionally more frustrating than the Mac versions of tax programs I've used. I used the TaxCut for 1 or 2 years, and TurboTax (nee' MacIntax) for years before that. I switched before the activation fiasco because TaxCut was OSX compatible first, IIRC.

Would love some way to download the file, but at least I have a PDF of the finished return and a copy of the PDF on my computer.

[ Parent | Reply to This ]


Feature Rich Programming???[ Reply to This ] (none / 0) (#35)
by Anonymous User on Thu Mar 30, 2006 at 01:55:16 PM PDT

I have developed a bit of software - macros really - for MS Office programs.  Over time, I have had to modify features, add features, remove features and correct deficiencies due to bad definitions, programming errors, typographical errors and more recently I had to make changes to accommodate for upgrades to newer MS Office versions.

One thing I can certainly say about "Bugs" is that most of them are not noticed until the software has been deployed for a while.  I run extensive checks on the code, including input tests, code read-through, module level testing and finally end-to-end tests of invalid input to check that the error checking works.

After all these reasonable checks, I will deploy the product and have someone using it for a few days only to send me a report that some feature I tested doesn't do what they expected.  After checking I find that they are passing values I didn't plan for, or data is longer than I expected, or even better, the value calculated is being modified by some other part of the program which should not be doing anything with the results.

Some times it is flawed logic, or a lack of understanding of what I did a few months or years ago when I started to write the program.  Other times it is a transcription error, where the value or function is correct, but invalid for the situation.  All-in-all, most of my problems are related to the "Coder" and the "Software Definition" and not the level of complexity of the project, or the operating environment.

Once these types of "Bugs" have been eliminated, I have run into a few other very hard to handle problems. First, there is the timing issue when running code affecting data on a remote server.  I find that at times the process "Times-out" and I get corrupted inputs in my database.  Other times the network "Times-out" and I lose my database connectivity.  Finally, the speed hit I take when running across a network with one or two other people connected, as opposed to running on my local workstation/PC is so significantly bad, that I find I cannot reasonably expect to get any work done until after hours.

The state of the industry is where it is for a number of reasons.  Most of which were discussed already by people who are probably tied very closely into the software industry.  The only problem I see which seems to be the most significant problem, is that as programs grow larger and larger, they begin to use features which are not necessarily understood by the programmers - since they did not write them - and the results can be unpredictable.  More than that, when a program uses a feature of the operating system, or of some other part of the operating system, it becomes less and less robust and eventually can become unstable or non-functional, simply because it is not encapsulated within the program itself.

My favorite gripe is programs which replace parts of the operating system so that they "Work for all configurations" or which modify the components of the operating system to "work cleanly".  This was more prevelant with development programs like Visual Basic 4.0/5.0 where certain files would be over-written in the /system folder, like VBX or OCX files, and existing programs would crash because the addressing of the functions contained within the VBX or OCX files had changed due to the new program's "Customizations".

I also should not fail to remind people of "DLL HELL" which everyone who had a Windows 98 or NT machine had to deal with.  Just go on and install that program, and it puts a '98 DLL in - overwriting your 64 Bit NT dll and crashing your graphics sub-system or your file sub-system.

Feh, we don't have major problems with software yet.  The industry is just starting to grow unweildy.  Wait until windows becomes not only the operating system, but also has all the email, tcp/ip & internet network management, voip, dvd read/write, television, telephone, cell-phone, stove, refrigerator, car, stereo... (oh, right it does that now... ha ha), and then you'll go to call your mother on the phone and you need to put your Windows password in first, with no place to type it in...

[ Reply to This ]



Unit Test[ Parent | Reply to This ] (none / 0) (#36)
by sconeu on Fri Mar 31, 2006 at 08:24:27 AM PDT

After checking I find that they are passing values I didn't plan for, or data is longer than I expected

This is what unit testing is for.  You check edge cases/invalid input/buffer overrun, etc...

--
I am not merely a "consumer" or a "taxpayer". I am a Citizen of the United States of America.
[ Parent | Reply to This ]



Unit Testing[ Parent | Reply to This ] (none / 0) (#37)
by Anonymous User on Fri Mar 31, 2006 at 11:50:17 AM PDT

Good Catch.  I tend to enter "Allowable/Invalid" values, rather than "Idiotic" values (example: a person's name is expected, test value 60 characters, not some 400 character text paste from some other program containing "Special Characters").  Perhaps I should do a bit of reading on error checking and discuss my test philosophy with our software engineering specialists.  They probably have standard unit test modules I can use for my software test & verification plans.

[ Parent | Reply to This ]


Lesson learned?[ Parent | Reply to This ] (none / 0) (#39)
by Anonymous User on Wed Apr 05, 2006 at 06:22:12 PM PDT

Lesson learned then -- you have to test for robustness in the face of even "idiotic" values. And even values that seem idiotic to you may not be truly idiotic; your "Special Characters" may be part of the correct spelling of the name of some guy from Japan or Tuvalu or wherever.

Java is probably the best mature language for complex enterprise apps now -- it is by nature insusceptible to buffer overrun code execution vulnerabilities, there are excellent *free* debug/development tools (Eclipse comes to mind), the language encourages and aids defensive programming, and there's out-of-the-box support for not only those new-fangled 80s-style variable-length strings, but even for those funny international characters that only came in vogue in the 90s. :) So if someone has a 400-character name full of umlauts, it may be weird but it won't crash the software or cause odd behavior.

Did I mention Java also supports remote ODBC, RMI, and concurrency out of the box? The standard class library is the most comprehensive I've ever seen, for any environment. Oh, and you automatically, without extra effort, can have ports that run on Macs, unix, Linux, *BSD, ...

Of course, it's quite possible to write horrible code in Java (or any Turing-complete language), but it can be easier or harder to write non-horrible code of course. Java also runs in an emulation sandbox (which helps further with making apps more difficult potential entry points to one's system for attackers), and consequently an app may run a bit slower and be more of a memory hog than if it were written in C. For anything but serious scientific number crunching and top-of-the-line gaming, this is probably not a problem. Good Java code is no more slow or bloated than the usual Microsoft C, C++, or (egads!) Pascal cruftstrosities, and much more stable and secure than the "usual suspects"...

--
I am the terror that flaps in the net!
I am the awful coworker who insists on PERL!


[ Parent | Reply to This ]



Better Tools Required[ Parent | Reply to This ] (none / 0) (#40)
by Anonymous User on Thu May 04, 2006 at 06:01:59 PM PDT

-- you have to test for robustness in the face of even "idiotic" values. Why isn't this automatically tested for in the coding environment somehow? Why is there not an automatic unit test in visual studio that writes a text box input string of idiotic characters. The international "idiot" string. My point is better tools that try to enforce these things will produce better code. Environments need to manage the vast number of average coders who are under time pressure. Tim

[ Parent | Reply to This ]


circus circus casino reno [ Reply to This ] (none / 0) (#94)
by Anonymous User on Wed Sep 20, 2006 at 03:35:52 PM PDT

<h1>clumsy insurrection outside soothes bodyguards constructibility snowflake </h1>

[ Reply to This ]


I think...[ Reply to This ] (none / 0) (#184)
by Sandy on Fri Feb 29, 2008 at 01:43:19 PM PDT

That software is getting a lot worse, and that's very hard to understand since you could think that the companies should have learned from their mistakes and know how to deal with upcoming problems. And it's not easy to get around this problems since most companies seems to have them.
Sandy, Freelancer currently working on the herbal remedy for hair loss project.
[ Reply to This ]


Is Software Quality Getting Worse? | 42 comments (42 topical) | Post A Comment
Display: Sort:
Recent Entries
Apple Leaves Hawaiian Investor in the Cold
2 comments

Riding the Autorenewal Express
8 comments

Comcast Gets Nominated for Worst ToS
3 comments

Taxing Software Experiences
12 comments

Terms of Ridicule
8 comments

Sneakwrapped Medical Forms
7 comments

More The Gripelog...

Submit a gripe
About the Author
Email Ed Foster

Help Ed and his readers build these projects:
The Gripewiki
The EULA Library

Login
Make a new account
Username:
Password:

Live Gripes
Has AOL Changed Their Ways?
4 comments

A Nestle SweeTarts Conspiracy
15 comments

AT&T Kills "Bad" Username
12 comments

DESPERATE! AOL HAS TAKEN OVER MY COMPUTER
28 comments

parkingticket.com SCAM on refunds
30 comments

Don't let Net Enforcers Ruin Your Day.
16 comments

More Live Gripes...

Sign up for my newsletter

To have my column automatically e-mailed to you, submit your email address in the form below. Of course, I will not turn your address over to any other party or send you any unrequested e-mail.

Infoworld Blogs

Recomended Sites
The AFFECT Coalition
Electronic Frontier Foundation
Electronic Privacy Information Center
Free Software Foundation
HearUsNow.org
Public Knowledge
StopBadware.org

Jeff Angus
Ben Edelman
Dan Gillmor
Bob Lewis
Brian Livingston
Freedom to Tinker
Lawmeme
PC World's Techlog
SunBeltSoftware Blog
Troubleshootsers.com

Rss Feeds
How this works
 Top News 
 Columnists 
 Tech Watch 
 Test Center Reviews 
 Applications 
 App Development 
 E-Business Solutions & Strategies 
 End-user Hardware 
 Networking 
 Operating Systems 
 Platforms 
 Security 
 Standards & Protocols 
 Storage 
 Telecommunications 
 Wireless 
 Web Services 

 

create account | faq | search