Windows IT Pro is the authoritative and independent resource for windows nt, windows 2000, windows 2003, windows xp. Features a collection of resources and magazines for windows IT professionals.
  
  
  Advanced Search 


July 2000

Do Betas Work?


RSS
Subscribe to Windows IT Pro | See More Development Articles Here | Reprints | Or get the Monthly Online Pass—only $5.95 a month!

Time for a new approach to quality in software

[Editor's Note: "Do Betas Work?" is Mark's last En Garde column in Windows 2000 Magazine. You can find more of Mark's opinion columns in the free email newsletter Windows 2000 Magazine UPDATE Special Edition. To receive UPDATE Special Edition (look for it on the last Friday of each month), go to http://www.win2000mag.com and subscribe to Windows 2000 Magazine UPDATE.]

Bugs. We hate 'em. Whether you're running software from Microsoft, IBM, Novell, or another vendor, you've probably struggled with serious organizational or project setbacks because of defects in software. You probably heard about the internal Microsoft memo that claimed that Windows 2000 shipped with 63,000 bugs. If Win2K did ship with only 63,000 bugs, Microsoft should take a bow. Given the size of Win2K and standard industry quality expectations, Microsoft could have shipped a product with 10 times as many bugs and not blushed. The software industry considers about 15 bugs per thousand lines of code to be normal. If you believe the rumors that put Win2K at approximately 40 million lines of code, simple math reveals that we could expect 600,000 defects if Microsoft wrote Win2K to "normal" standards.

Software firms try to achieve quality in their products through testing. Some testing involves automated testing scripts that run interim versions of the program under development on a variety of hardware. Another kind of testing is beta testing, by which software firms let their customers see preproduction builds of upcoming software. But most software firms I've spoken with claim that outside beta testers don't find all that many bugs. I recall Frank Artale, then a program manager at Microsoft, reporting in 1996 that outside beta testers found fewer than 1 out of 10 of the bugs uncovered during Windows NT 4.0's testing process.

I suspect that the true value of most betas is marketing: Beta testing involves customers in the development process, so customers feel that they're part of the product's development. During beta testing, the software vendor is receptive to customer suggestions. Because many of those suggestions are often good, the product ends up better overall. Perhaps we ought to stop calling the process of early customer involvement "beta testing" and call it something like "previewing."

Why bother with this linguistic nicety? Because many software quality experts think that the only way to stop shipping products with hundreds or thousands of defects is to stop using testing as the main road to quality. One software quality expert, Watts Humphrey of Carnegie Mellon's Software Quality Institute, puts it this way (in "Comments on Software Quality," http://www.2bguide.com/docs/whsq.html): "No technologically intense industry, other than software, relies exclusively on product testing to remove defects. It has been known for over 20 years that testing is an expensive and ineffective way to eliminate defects from any product, including software."

If we don't use testing to create quality software, what can we use? Software engineers have created many approaches over the years, so I can't do justice to the alternatives here. But most alternatives to testing borrow from more than 50 years of experience in improving industrial processes. Look at the problem this way: What if Boeing adopted a software engineer's approach to designing a new jet? ("So, Smithers, are we ready to ship the new 787?" "Looks good to me, J.B. None of the beta testers have reported any plane crashes in the past month or so.") Instead, Boeing employs a development process that emphasizes design over testing. That way, Boeing doesn't need to build a lot of beta test jets that don't work. Software vendors could benefit from this approach by spending more time designing their code and less time typing it in, running it, and waiting to see whether it blows up.

But can this approach work? Motorola employed a quality design process while it was developing the software for the popular StarTAC cellular phones. The result? In 2MB of code, no more than 24 known defects exist. Perhaps one day a major software vendor will employ nonstandard quality approaches to the development process. One day, perhaps.

End of Article



Reader Comments
<br><br>In En Garde: "Do Betas Work?" (July 2000), Mark Minasi states that the software industry considers 15 bugs per 1000 lines of code to be normal. I find that figure unacceptable! Why should I have to pay money for software that has even 1 bug, much less 63,000? If programmers can't write code that actually works, they shouldn't be marketing themselves as programmers. Development is a highly skilled, highly compensated career. With that compensation comes responsibility and accountability. Legislation such as the Uniform Computer Information Transactions Act (UCITA), which is clearly designed to protect software makers from liability for poor products, only serves to encourage sloppy coding. If beta testing is necessary to catch bugs, great--­but why were the bugs coded to begin with?<br><br>

John Boots September 14, 2000


<i>I don't think the software industry norm is acceptable either. Imagine if a fast-food restaurant worked that way: One out of every 50 burgers would give you food poisoning, and the company's answer would be, "Golly, we're sorry; here's a coupon for two more." <br><br>
--­Mark Minasi</i>

Mark Minasi September 14, 2000


Well, if only creating software were as simple as cooking burgers...but it's not. With software, especially software for the Wintel platform, there are so many potential combinations of operating system/applications software/hardware/network operating system that a software developer can't possibly reproduce all of them in-house. This is another reason for beta testing--putting the software to work in a real-world, not simulated, environment. You can design your software for expected environments that you anticipate finding 90% of the time, but if you're lucky, a beta tester will run into something unexpected. You probably won't get a lot of good bug reports from beta testers, but just a few good ones can be worth it. We try to involve customers and potential customers while we're designing a product, too.
While we're at it, what about the customer's responsibility here? You're constantly demanding newer versions of software and you don't want to pay a lot of money for them. Why are you surprised at the quality you get?
I wouldn't tout the Motorola StarTac as any design triumph, either. A Nokia user in the US,I rented a StarTac on a trip to Europe this summer. Yes, it was smaller and lighter than the Nokia, but the battery life was dreadful and they must have forgotten to do usability testing on the user interface. I won't be buying one anytime soon.

Gerald Kelly November 08, 2000


You must log on before posting a comment.

If you don't have a username & password, please register now.




Top Viewed ArticlesView all articles
PsExec

This freeware utility lets you execute processes on a remote system and redirect output to the local system. ...

Microsoft Delivers Service Pack 2 Beta 2 for Vista, Server 2008

Microsoft on Tuesday announced the availability of the Beta 2 version of Service Pack 2 (SP2) for Windows Vista and Windows Server 2008. Since both operating systems were developed from the same code base, they have a common servicing structure and thus ...

Command Prompt Tricks

One reader shares his tip for setting up the command prompt to reflect a remote path. ...


Development Whitepapers Batch Job Scheduling and .NET in 2008

Related Events SQL Server 2008 – Can You Wait? | Philadelphia

SQL Server 2008 – Can You Wait? | Atlanta

SQL Server 2008 – Can You Wait? | Chicago

Check out our list of Free Email Newsletters!

Windows OSs eBooks Understanding and Leveraging Code Signing Technologies

A Guide to Windows Certification and Public Keys

SQL Server Administration for Oracle DBAs

Related Windows OSs Resources Become a VIP member of the Windows IT Pro community!
Get it all with the VIP CD and VIP access. A $500+ value for only $279!

Subscribe to Windows IT Pro!
Solve your toughest technical problems with our experts and access 10,000 + articles online. 30% off

Monthly Online Pass - Only $5.95!
Get instant access to 10,000+ articles from Windows IT Pro Magazine!

TechNet Virtual Labs
Evaluate and test Microsoft's newest products.


Windows IT Pro Home Register FAQ for Windows WinInfo News
Europe Edition About Us Contact Us/Customer Service Media Kit Affiliates / Licensing  
SQL Server Magazine Office & SharePoint Pro Windows Dev Pro IT Job Hound ITTV
IT Library Technology Resource Directory Connected Home Windows Excavator Windows SuperSite 
 
 Windows IT Pro is a Division of Penton Media Inc.
 Copyright © 2008 Penton Media, Inc., All rights reserved. Terms and Use | Privacy Statement | Reprints and Licensing