Critical Bugs and Stop Ship Issues

After reading my opinions in the last couple of posts and comments on the issue of bugs and known issues some readers of this blog think that I have lost it. I now know why. It appears that my readers and I are not talking about the same thing, and maybe I am to blame for that.

Throughout this discussion I have used the word “crash” in conjunction with “bug” to signify that I am talking about bugs that cause a crash, not “this-tool-does-not-work-that-way or that-tool-does-not-work-this-way” kind of logical bugs. I am talking Crash! Boom! Bang! here.

As always, things are best explained by means of an example. So I will use one that I talked about on this blog earlier – the AutoCAD PolyFace Mesh issue. After I reported the problem to Autodesk (for the second time), they analyzed it, admitted it was a bug, limitation or whatever you want to call it, after which they arrived at the conclusion that it was not a “stop ship issue”. Means it didn’t cause a crash. Means there was no need to stop shipping the product. Surely reporting that a mesh has -1218 vertices and 0 faces (see image) is as big a bug as can be. But it didn’t cause a crash. So they went ahead and released AutoCAD 2010 with this bug/limitation. And this kind of a bug is precisely what I have NOT been talking about.

Compare this to what Kevin Quigley said in a comment:

“I am talking about bugs that are logged in the system as bugs, that are perhaps not critical but cause features to fail or behave inconsistently. These are bugs, they are logged as bugs and they are released as known bugs – just look at the release notes of any application under ‘known issues’. In your utopian programmers world no software should be released like this? Really? That is a recipe for bankruptcy.”

Clearly we are talking two very different things here. Lets be clear. Bugs that cause crashes are critical bugs, stop ship issues or whatever fancy term that a developer many choose to use to describe them. My point is that no self respecting developer, whether it is a mammoth company like SolidWorks or a puny outfit like SYCODE, will (or rather should) ship a software with a critical bug that causes a crash. And if they have to release the software for whatever reason, they will (or rather should) convert it into a known issue by hard coding a check just before the crash occurs which make the operation abort gracefully. I don’t think I can be more clear that that.

Now if any user (SolidWorks or otherwise) can show me a critical bug (which caused a crash) that was reported and which was not addressed in a future service pack or new version, I would appreciate it.

Of course, contrary to what some think, I happen to live in the real world and can understand if a few critical bugs slip though the cracks. But for users to come up in arms like the way they have, these issues have to be much more than just a “few”.