At 23:15 -0600 02/16/2004, Greg McKaskle wrote: >Of course this is one of those >topics that is difficult to discuss in writing, so please don't use your >whiney voice when reading it. I'm simply trying to give insight into >our process.
This process is not unique. One can substitute any large software software project. I think the process NI uses is the same as almost anyone selling/maintaining software. I don't particularly like the model/existing practice. Maybe I should clarify that the sound track is NOT a whiney voice, but the distant sound of tilting at windmills! >LV is a very complicated piece of software. Like most complicated >systems, changes can be characterized by cost, risk, and benefit. These >are the what the LV team members use to decide what bugs get fixed and >when. Of course bug fixes are also weighed against the development of >additional features. But what metric is used on the space of cost/risk/benefit? Of course, ultimate responsibility of the corporation to its owners means that cost/risk/benefit are all judged in terms of fiscal income. The argument that this is bad or good is irrelevant, but this is the standard against which those terms are judged. The point of the interview I posted was that bug-fixing is low benefit, high cost using that metric. For me, the high cost is mistakes controlling equipment which for one of the long standing bugs (which is high cost, low return) is that valves get modified on actual equipment at times the operator did not intend to actuate things. This involved a rather kludgy chunk of code to get around, and then it is high cost (to me) to maintain, since explaining this obscure code takes time/effort/cost. This end user cost needs to be translated to cost to NI. >When triage is performed, these bugs frequently find their way at the >end of the list. That isn't to say they won't ever be fixed, but these >are usually batched together and dealt with when a specific feature is >reworked. Well, actually for some bugs, they will be permanently on the low end of the scale and never fixed unless that whiney voice implies that there is a cost! The Squeaky Wheel concept is certainly something that is considered during "triage". Again, maybe the squeaky wheel factor shouldn't be considered but it is. >As an example, units in LV is a unique experiment unlike what I've seen >in other programming languages or engineering tools. This is where bugs are actually a design defect and not fixable without a major rewrite/overhaul. Units are somewhat unique in the way LV handles them. Again, NI will sell more copies of LV by adding express nodes than by fixing the units problems until the users start to complain a lot. In some respects the model rewards that whiney voice. I don't like it either. >Units and charts are still on the list of things that could stand to be >improved, and my advice to you is to make sure that bug reports give the >engineer good information so they can make good estimates on the cost, >risk, and benefit. In particular, they can judge the risk of changes to >a particular area, and estimate the time to make the changes, but it is >sometimes hard for them to estimate how much time and how many LV users >are bothered by a bug. Maybe a more complete description on how to report a bug and what to do, to debug the bug. So that the information is as complete as possible. The standard report merely asks a few simple questions about hardware/software configuration. Maybe some suggestions for testing when and where the problem does or does not occur. In most cases this is an artI think I have gotten good after 20 years of beta testing various hardware/software solutions but we could all use guidance above the simple level that is posted on NI's web site. I admit, that sometimes I get sloppy and do a bad bug report as well. > Of course if you are honest, you may have just >relegated your bug to the back of the line And occasionally we get to whine about it! There was a nice article in Tech Review journal about "Why is Software So Bad". This was a nice rundown of the drivers for software development and some of the attempts to fix it. In a more perfect world with educated consumers and producers all would be fine, until then I will keep tilting at those dang windmills. They might be giants! -Scott