Windows IT Pro is the leading independent community for IT professionals deploying Microsoft Windows server and client applications and technologies.
  
  
  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 be a registered user or online subscriber to comment on this article. Please log on before posting a comment. Are you a new visitor? Register now




Top Viewed ArticlesView all articles
2009 Windows IT Pro Editors' Best and Community Choice Awards

Picking a favorite product from an impressive crowd of competitive offerings is never an easy task, and such was the case with our Editors' Best and Community Choice awards this year. ...

Is Microsoft Just Like IBM?

Microsoft has defined the way we do business from a technology perspective for years. But with a younger generation that lives in the clouds, is Microsoft's recent progress in cloud computing too little, too late? ...

Microsoft, News Corp. Discuss Locking Out Google

Microsoft and Rupert Murdoch's News Corp. recently discussed an alliance that would counter Google's fledgling online news service. ...


Development Whitepapers Global Trends: Unified SOA Performance Management Matters

The role of Service Level Agreements in Successful SOA Deployments

Related Events Deep Dive into Windows Server 2008 R2 presented by John Savill

Oracle Developer Day Online - EUROPE

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 Introducing Left-Brain.com, the online IT bookstore
Looking for books, CDs, toolkits, eBooks? Prime your mind at Left-Brain.com

Discover Windows IT Pro eLearning Series!
Clear & detailed technical information and helpful how-to's, all in our trademark no-nonsense format


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 DevProConnections IT Job Hound
Left-Brain.com Technology Resource Directory asp.netPRO ITTV Windows SuperSite 
 
 Windows IT Pro is a Division of Penton Media Inc.
 © 2009 Penton Media, Inc. Terms of Use | Privacy Statement