Introduction

This book is intended as a primer for those who need to understand the concepts and value of software quality management. It is not intended to be the "cutting edge of technology" reference for the experienced software quality practitioner. It is a description of what the 10 major software quality elements are and how they combine to form a solid software quality program. It is not the definitive text on how to accomplish all the software quality tasks available today.

The implementation of a software quality system is heavily dependent on the organization and its software work. The sample software quality system plan provided in Appendix B covers all 10 of the basic elements and should prove sufficient for most organizations. Those being audited for compliance with an ISO 9000 standard, or one of the several process maturity or process improvement models, may need to augment the sample plan to address organization-specific issues.

The basic elements of the quality system apply to any software development or maintenance. Small organizations will use these elements but, to a degree, commensurate them with their needs. Large organizations will also use these elements but will find that their application is more sophisticated and elaborate. Further, organizations, large or small, that are involved in the most current techniques and applications such as client-server, graphical user interfaces (GUIs), distributed processing, and the like will find the need to extend these elements beyond the basics given here. Similarly, organizations using advanced development methodologies such as information engineering, object-oriented techniques, mathematical proofs of correctness, and so on will use these quality system elements, but, again, will implement them in more sophisticated ways than organizations that are more traditionally oriented.

So, then, why should you read this book? Well, perhaps your situation parallels one of the following scenarios:

  • You have done a good job testing the last few projects and your boss promotes you to software quality manager. Corporate headquarters has decided that all software projects will be subject to quality management and, as the director of information services, you are to implement a software quality program.

  • The chair of the ISO 9000 certification project has informed you that you are to bring the software area into line with the quality management precepts of ISO 9001.

  • An assessment of the software development organization, against the Software Engineering Institute's (SEI) Capability Maturity Model Integrated (CMMI), shows your organization to be at level one, and as vice president of management information systems, you are to take action to raise that level.

  • You are a senior systems analyst, and the head of software quality wants you to learn more about software quality and how you can effect and affect it.

All of these, and many others, are good reasons to start your quality system understanding with this book. There are no magic solutions in this book. As previously stated, its goal is to provide insight into software quality systems. There are many other books available that will assist you in the application of each specific element in this text. If you are a tester, there are excellent texts on all sorts of testing concerns and applications. As a disaster recovery manager, you can find much material that will tell you how to prepare for and recover from disasters.

Each chapter contains two final sections, "The next step" and "Additional reading." "The next step" includes one or two texts that I believe to be sources of material for the where-do-we-go-from-here question. "Additional reading" includes texts generally applicable to the software quality elements discussed in each section. The inclusion of these titles does not infer an endorsement of them nor a negative endorsement of those not included. As everyone knows who has ever visited the computer section of a leading bookseller, there are far too many books to list in an introductory volume such as this one. The reader will note that a few of the "Additional reading" texts are from outside the United States. This may constitute an endorsement of sorts. I believe these to be of sufficient value as to warrant the extra effort it may take to acquire them. The rest of the books listed are those that I have found beneficial.

The order of the chapters in this volume is, perhaps, an indication of the relative importance I attach to the 10 elements of a software quality program. It must be stated, though, that I recognize that this is almost certainly not the order in which you will implement, or have implemented, whatever software quality activities you are undertaking. I suspect that virtually all organizations do some sort of testing, conduct reviews, have some standards in place, and so on.

I would like you to use the order of the chapters as an agenda for your evaluation of your software quality program and its improvement.

Chapter 1 introduces my view of the content of a beneficial, and intentional, software quality system. Chapters 2 through 9 present discussions of each of the elements of the quality system, their areas of interest or application, and why they are important in a software quality system.

Chapter 10 could have been the first as well as the tenth. No project is complete without the documentation that defines its purpose and direction and describes its approach and progress. The documentation itself may be considered to be outside the purview of a quality system. It is, however, the basis for the vast majority of the quality system. A popular misconception is that the product of software development is the code, the whole code, and nothing but the code. Code is merely one of the documents that are the ongoing and sequential set of software development products. As anyone involved in a dispute over the terms of an agreement will tell you, if it isn't written, it isn't! The importance of documentation cannot be overemphasized. Its inclusion in a book on quality is part of that emphasis.

Chapter 11 considers the implications and concerns surrounding the actual implementation of the software quality system. Again, this text is not a step-by-step, how-to-implement-quality-management cookbook. This chapter, then, presents a discussion of things to remember when planning the introduction or improvement of the quality system.

As an added emphasis of the importance of documentation, a set of appendixes is included. These appendixes contain examples or starting-point outlines for some of the documentation discussed in the rest of the text. Many of the outlines are taken from, or based on, IEEE standards that address the specific topic. (Appendixes A, D, G, and H have been reprinted with permission from applicable IEEE standards. Full citations accompany each appendix.)

Appendix J, "Sample software quality charter," was contributed by an organization that requested anonymity. The charter is, though, the charter in place in that organization.



Practical Guide to Software Quality Management
Practical Guide to Software Quality Management (Artech House Computing Library)
ISBN: 1580535275
EAN: 2147483647
Year: 2002
Pages: 137
Authors: John W. Horch

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net