In a recent blog post, Deelip Menezes appears to be shocked by the very idea that a particular CAD company (no, not Autodesk) would ship software that contains known bugs. I thought he was joking, because he’s surely aware that practically all software companies with highly complex products release software with known bugs. As Deelip points out, those companies with 12-month cycles are particularly prone to doing this. There is no possible way any company can release something as complex as a CAD application within a fixed 12-month cycle without it containing dozens* of known bugs (because there isn’t time to fix them after discovery) and dozens* of unknown ones (because of insufficient Beta testing time).
Reading Deelip’s post and subsequent comments more carefully, it becomes clear that he doesn’t mean what a casual glance might lead you to believe he means. Deelip makes a specific distinction between “bugs” and “known issues”. He states that if a bug is discovered and the software is then adjusted such that it does not abort the software in a badly-behaved way, and this is then documented, then the bug ceases to be a bug and becomes a “known issue”.
I disagree. Bugs can cause crashes or not; they can cause “nice” crashes or not; they can be known about prior to release or not; they can be documented internally or not; they can be documented publicly or not. As far as I’m concerned, if the software doesn’t act “as designed” or “as intended”, then that’s a bug. Here’s what Wikipedia has to say, and I concur:
A software bug is the common term used to describe an error, flaw, mistake, failure, or fault in a computer program that prevents it from behaving as intended (e.g., producing an incorrect or unexpected result).
That doesn’t mean that software that is “as designed” (free of bugs) is free of defects. Defects are things that make the software work in a way other than “as it should”. They can be bugs, design errors or omissions, performance problems, user interface logic failures, API holes, feature changes or removals with unintended undesirable consequences, and so on. Unfortunately, defining “as it should” isn’t a precise science. You can’t just compare the software to the documentation and say that the differences are defects. The documentation could be faulty or incomplete, or it could perfectly describe the deeply flawed way in which the software works.
While I disagree with Deelip’s definition of bugs, I couldn’t agree more with a more important point he makes in his blog post. That point is of a fixed 12-month cycle being the root cause of a plethora of bugs/issues/whatever making it into shipping software, and this being an unacceptable situation. This is a view I expressed in Cadalyst before I started participating in Autodesk’s sadly defunct MyFeedback program, and it’s a view I hold even more strongly today.
In conclusion, I would have to say that the fixed yearly release schedule is not good for AutoCAD. It is good for Autodesk, certainly in the short term, but that’s not at all the same thing as being good for AutoCAD or its users.
I’m not alone in thinking this. The polls I’ve run on this subject, discussions with many individuals on-line and in person, and many comments here and elsewhere, indicate that a dislike of the 12-month cycle is the majority viewpoint. For example, when asked the question, “Do you think the 12-month release cycle is harming the quality of AutoCAD and its variants?”, 85% of poll respondents here answered “Definitely” or “Probably”. In another poll, 71% of respondents indicated a preference for AutoCAD release cycles of 24 months or greater.
Somebody please tell me I’m wrong here. Somebody tell me that I’ve misread things, that customers really think the 12-month cycle is great, and that it’s not actually harmful for the product. Anyone?
* Or hundreds. Or thousands.