Volume 1 • Number 4
The National Conference of Commissioners on Uniform State Laws (NCCUSL) is an organization funded by the 50 states to promote uniformity among state laws by drafting model legislation for their consideration. The work of the NCCUSL is not binding on the states, but bills submitted to state legislatures based on NCCUSL drafts are often enacted into law.
NCCUSL voted, on July 29, 1999, to pass on to the states a model law affecting contracts for the sale, licensing, development, documentation, support, and maintenance of com-puter software known as the Uniform Computer Information Transactions Act (UCITA). There has been much controversy throughout the development and debate of this draft, with strong arguments on its advisability presented by both sides. These two position papers were prepared prior to the July meeting of NCCUSL, but they continue to provide insights that may help software quality professionals take an informed position on the UCITA proposal.
Key words: consumer rights, contract law, cost of quality, electronic commerce, public policy, quality management, Uniform Computer Information Transactions Act
by Cem Kaner
Editors Note: This Talking Points section is offered as a Point/Counterpoint with a pair of opinion pieces. Many software quality practitioners may not have heard of the Uniform Commercial Code or tried to untangle the legal intricacies of warranty and liability. SQP is printing this material, however, (and featuring more on its Web site) because such legal, regulatory, and public-policy issues are unavoidably part of our future professional environment. For instance, a new lobby group composed of major Internet firms announced its formation in July, saying it believed that Over the next few years, the future of the Internet will be determined more by policy choices than technology choices. We must be informed on the competing claims in these policy debates if we are to be knowledgeable citizens and responsible professionals.INTRODUCTION
The Uniform Computer Information Transactions Act (UCITA) is a proposed new law that will govern all software transactions, including contracts for sale, licensing, documentation, maintenance, and support of computer software. It will also govern contracts involving electronic information (such as movies, music, text that one can download or buy on a CD) and, at the vendors option, can govern the sale of computers and other devices that are sold in conjunction with software.
Until recently, UCITA was proposed as an amendment to the Uniform Commercial Code (UCC), and was called Article 2B. However, the American Law Institute (ALI), one of the two organizations that must approve all changes to the UCC, recently withdrew from the Article 2B project. The other organization, the National Conference of Commissioners on Uniform State Laws (NCCUSL), decided to rename the bill the Uniform Computer Information Transactions Act and go forward with it.WHY SOFTWARE QUALITY PROFESSIONALS SHOULD OPPOSE UCITA
Using this definition, when software is assessed as having higher testability, it means that incorrect output will likely occur if a defect exists. To understand why faults hide during testing, one must know the sequence of events that must occur in order to observe incorrect output:
The simple and short answer is that UCITA will dramatically reduce a software publishers external failure costs for defective software. It does this brilliantly, in many ways, reducing the costs of customer support, lost sales due to competition, and legal action. As a result, UCITA changes the economics of software publishing.
When we reduce the risks (to the publisher) of selling defective software, we reduce the incentive to spend the money and time to prevent, search for, and fix defects. In turn, this says that the American software industry:
For the last three and a half years, I have spent a sizeable amount of time explaining software quality issues to legislative drafting and regulatory bodies. I have provided input to drafting committees for uniform laws (Article 2B/UCITA, Article 2-UCC law of sales, and the Uniform Electronic Transactions Act), to people drafting laws and treaties to govern international electronic commerce (a State Department study group and members of the American Bar Association), to the Federal Trade Commission (FTC), and to various consumer protection groups. Several other software quality advocates have shared in this work, and software-related professional societies, including the Association for Computing Machinery, the Institute for Electrical and Electronics Engineers, and the Independent Computer Consultants Association, have submitted letters criticizing UCITA/Article 2B.
Here are a few things that I have learned. First, UCITA is just one of several legislative proposals involving software quality that will go to the state and federal governments over the next few years. It is currently the most important. I expect to also see proposals to:
There will probably be plenty of other proposals.
Second, wesoftware professionalsare credible sources of information on these types of issues. We are industry insiders. We are not embittered whistle-blowerswe want the industry to succeed. We also have special insightwe know how products fail, we understand the difficulties of making perfect products, and we know how defects affect customers.
Our input is valuable because most of the people who will have to evaluate these proposed laws are lawyers, and most of them are unsophisticated about software. Many of the lawyers working on committees writing legislation to govern electronic commerce did not even have e-mail accounts when they started work. Many of the lawyers who will vote on these proposed laws still do not have e-mail, let alone more sophisticated e-commerce experience.
Even those with some experience as software users get a huge portion of their education about software development and marketing from other lawyers who represent software publishers. This bias is pervasive. Legislative drafting committees dealing with software are visited or advised by many paid lobbyists for software publishers and by very few, usually unpaid, consumer advocates (almost none of whom have software-related backgrounds). Additionally, courses and industry seminars on software law are typically taught by lawyers who represent software publishers or consultants, and speakers at conferences on software law are typically lawyers who represent publishers. There are hundreds of lawyers working for software sellers, but I can count on one hand the number of lawyers who publicly advocate for software quality. If legal drafting bodies and legislatures are going to deal sensibly with the proposed laws to govern software quality, they need input from software quality professionals.
Third, we can provide inputwe are welcome to provide inputas individuals and as professional societies. People are hungry for our input. Nonlawyers can have a significant impact on laws by addressing technological issues and explaining the consequences of technology-related decisions. Software developers and testers have not been that well received in the UCITA/Article 2B drafting committee meetings, but they have had big effects elsewhere. For example, Bob Johnson is responsible for many significant improvements to the Uniform Electronic Transactions Act. Even in the UCITA process, our comments have been effective in slowing the process down and convincing decision makers to consider UCITA more carefully. ALI would probably have approved UCITA/Article 2B if it were not for our many comments.
In my experience, regulatory agencies, such as the FTC, are even more interested in our input than legislative drafting groups. With particular reference to UCITA, we can do the following:
The total quality cost for a product is the sum of:
The external failure costs in this model are the costs of the seller or manufacturer, not the costs of the customer. This model ignores the customers costs (Kaner 1996).
Normally, the best way to reduce external failure costs is to improve the product, especially by preventing defects or finding them early in development. A company can reduce its external failure costs, however, by handling them (such as customer complaints or lawsuits) more efficiently.
UCITA provides another approach: Reduce external failure costs directly. I classify external failure costs into three categories:
Note that publishers do not reduce their customers losses by reducing these costs. In many cases, publishers will save money by increasing their customers losses under UCITA.Customer Support Costs
Here are some ways UCITA lets publishers reduce their technical support costs (without improving the product). Citations are to the July 1999 draft of UCITA:
Here are some ways UCITA lets the publisher reduce its risk of legal liability for defective products without making the product less defective.
This article focuses on UCITAs impact on software quality, but UCITA has many other serious problems involving electronic commerce and intellectual property rights. For more details or to offer help, please write me at email@example.com.
Sidebar: Some Organizations That Oppose UTICA
Hatton, L. 1995. Safer C: Developing software for high-integrity and safety-critical systems.New York: McGraw-Hill.Kaner, C. 1996. Quality cost analysis: Benefits and risks. Software QA 3,no. 1: 23. Available at www.kaner.com/qualcost.htm. Kaner, C. 1998. Article 2B and reverse engineering. UCC Bulletin (November): 1. Available at www.badsoftware.com/reversea.htm. See also The problem of reverse engineering, Software QA. Available at www.badsoftware.com/reveng.htm.
Braucher, J. 1999. Why UCITA, like UCC Article 2B, is premature and unsound. UCC Bulletin(July). Available at www.2BGuide.com/docs/0499jb.html .
Copyright 1999 Cem Kaner.
Cem Kaner is senior author of Testing Computer Software.He has worked with computers since 1976, doing and managing programming, user-interface design, testing, and user documentation. Through his consulting firm, KANER.COM, he teaches courses on black-box software testing and consults to software publishers on software testing, documentation, and development management. Kaner is also the founder and cohost of the Los Altos Workshop on Software Testing. He is writing a book,Good Enough Testing,with James Bach and Brian Marick.
An attorney whose practice is focused on the law of software quality, Kaner usually represents customers and individual developers or small consulting firms. He is active (as an advocate for customers, authors, and small development shops) in several legislative drafting efforts involving software licensing, software quality regulation, and electronic commerce. He is the coauthor of the book Bad Software: What to Do When Software Fails(John Wiley and Sons, 1998).
Kaner holds a bachelors degree in arts and sciences, a doctorate in experimental psychology, and a law degree. He is an ASQ certified quality engineer. He can be reached at the Law Office of Cem Kaner, P. O. Box 1200, Santa Clara, CA 95052 or by e-mail at firstname.lastname@example.org.
(0) Member Reviews