Improving Data Warehouse and Business Information Quality
Larry P. English. 1999. New York: John Wiley & Sons. 518 pages. (CSQE Body of Knowledge areas: Software Metrics, Measurement, and Analytical Techniques)
Reviewed by Pat Delohery, BusinessEdge Solutions, Inc.
The state of information quality today is worse than it was five years ago, and it is getting worse day by day. In fact, the quality of information in many organizations is enterprise-threatening. This is the opening sentence of Larry Englishs book, Improving Data Warehouse and Business Information Quality.The well-known failures of data warehousing projects and new software development that do not meet the information requirements of the enterprise are documented daily in both information technology and business books and magazines. In addition, poor-quality data affects profitability in all industries. English gives four examples:
These are extreme examples, but damage to the profitability of enterprises occurs daily. This damage includes lost sales due to incorrect addresses, incorrect interest calculations, mass mailing to the wrong target market, and lost customers due to incorrect product delivery, billing errors, and so on.
English also points out that society is entering the Golden Age of Information and that poor-quality data affects an enterprises competitiveness and profitability.
Here the book departs from the expected: Data is identified as a business asset and analyzed based on its value to the enterprise. First, data quality is divided into two types: inherent information quality and pragmatic information quality. Inherent information quality is the correctness of the facts; pragmatic quality is the right facts presented correctly.
English then proposes a solution to reduce loss due to poor quality. His solution combines: 1) the quality principles of W. Edwards Deming, J. M. Juran, Kaoru Ishikawa, and Philip Crosby; 2) ISO and Malcolm Baldrige National Quality Award standards; and 3) manufacturing quality techniques. English equates data to a manufactured product. The same techniques in manufacturing are applied to identifying and correcting quality problems. The resulting solution is called Total Quality data Management (TQdM).
The book is divided into three parts:
Quality management principles, which have been successfully applied to product quality, are now applied to information. Information, defined as a product, has costs for creation and error correction. As in the case of defective products, defective information results in product liability, lost sales, and the inability to identify profitable customers. Applying business measurements provides the ability to analyze the cost of poor quality in financial terms.
In addition, each section contains tips on how to successfully implement the processes. Part 2 contains numerous supporting control charts and examples with checklists.
This book is a must read; it should be required reading for anyone beginning a data warehouse project or new system development. It is also valuable to anyone who wishes to improve customer service and profitability.SOFTWARE PROCESSES
Keys to Successful Software Development: Selected Readings
Edited by Phillip Laplante. 1999. Piscataway, N. J.: Institute of Electrical and Electronics Engineers. 338 pages. (CSQE Body of Knowledge areas: Software Processes, Project Management, Metrics, Configuration Management)
Reprints of 32 articles are arranged into seven chapters containing two to eight papers. These chapters are: Managing People and Projects; Software Life-Cycle Processes; Requirements Engineering; Reuse and Reengineering; Reliability, Risk Mitigation and Avoidance; Using Metrics; and Process Measurement and Cost Estimation.
How are these selections to be used? There are some helpful over-view pieces that might provide a good introduction to specific topics. A few papers are rightly regarded as classics in the field. Barry Boehm is represented by both his spiral development model and his Theory W (win-win). David Paranas has his 1966 paper on faking the design process. Other selections seem less justified as either milestones or tutorials.
The dozen from IEEE Computerare typically two- or three-page opinion pieces, while the nine from IEEE Transactions on Software Engineeringare more lengthy and technical. The only non-IEEE source used (a journal special issue guest-edited by this collections editor) covers 56 pages, including seven pages of references. In fact, that article and one other (a 33-pager with 163 references) occupy slightly more than one-quarter of the entire volume.
The editor exerts little effort to provide much context for the articles, being content to offer only brief notes at the beginning of each chapter. There is one reprint from 1979 and two from 1986, with the median age of the collection as five years. Only six papers come from outside North America, with the sole Japanese representative being a coauthor.
The articles are obviously photocopies, with their appearance ranging from acceptable to illegible (especially the poor contrast in sections that were originally in color). Some pages are so misaligned that their tops are cut off, and some figures are so smudged that they are indecipherable. The fonts used in the older reprints are also difficult on the eye.
This is an uneven collection and a possibly unsatisfying reward for the readers investment of time and money.
Three books in the ASQ Certified Software Quality Engineer bibliography were especially recommended (on customer satisfaction feedback forms) by individuals who had recently taken the CSQE exam. SQP asked its editorial board members about their experiences using these books.
Managing the Software Process
Watts S. Humphrey. 1989. Reading, Mass.: Addison-Wesley. 494 pages.(CSQE Body of Knowledge areas: Software Processes, Configuration Management)
One editorial board member says:
I use Watts Humphreys Managing the Software Process frequently. It provides valuable insight into all areas of software management. I have adopted many of his checklists (such as for inspections), and I quote him in presentations. His advice is practical, useful, and implementable. When developing new processes, I read through the appropriate sections of this book to gain a deeper understanding of the issues. I have recommended this book to several people just beginning their process improvement efforts.
This book is probably quoted more by people who have not read it than any other technical book that I know of. It is a 10-year-old book full of the right things to do in software engineering. While there is not enough space to cover everything in depth, Humphrey describes all the aspects required to successfully manage the process(es) of developing software. The book provides the background from which the Capability Maturity Model (CMM) was developed. Humphrey also describes the objectives of and use of the results from CMM-based assessments. I would recommend this book to anyone who is involved with managing organizations in which software is developed. It should be read more for its insights into the organizational aspects of developing software than for anything to do with the CMM, although that is well covered.
Metrics and Models in Software Quality Engineering
Stephen H. Kan. 1995. Reading, Mass.: Addison-Wesley. 344 pages. (CSQE Body of Knowledge areas: Software Quality Management, Project Management, Metrics)
One reviewer provides this summary:
This book presents the basic concepts of software quality in simple, clear language with supporting charts and graphics. The book provides a concise introduction to software development process models (including maturity frameworks and quality standards) and their relationship to software quality. The author explains fundamentals of measurement theory and the seven basic quality tools (including Pareto diagrams, checklists, and cause-and-effect diagrams) and applies these to software development. He discusses major software quality metrics, defect-removal effectiveness, reliability models, quality management models, and complexity metrics and models. Reading this book will provide readers with a solid knowledge of methods and measurements for engineering quality into software and plenty of references for in-depth information.
A slightly different view came from another of SQPs advisors:
Metrics and Models in Software Quality Engineering contains a wealth of interesting information related to measuring many aspects of the software development process. The author has done an excellent job collecting, organizing, and presenting information on metrics and the measurement process.
The author works for IBM/Rochester and cites many examples of how the measures he describes are used at IBM. A few examples cited from other organizations include Hewlett-Packard (HP) and Motorola. If one does not happen to work at one of these firms, however, the information presented, while interesting, will be viewed skeptically, since these are all billion-dollar FORTUNE 50 companies. The impression some readers will come away with is that only companies such as IBM, Motorola, or HP can afford to do these things. Kan also bases several measures on counting lines of code. Mostsoftware quality professionals know how unreliable this is.
Software Engineering: A Practitioners Approach, Fourth Edition
Roger S. Pressman. 1996. New York: McGraw-Hill. 852 pages. (CSQE Body of Knowledge areas: Software Processes, Project Management, Metrics)
Here is the response from an editorial board member:
Because this book attempts to cover all of software engineering, it provides more of a high-level overview than an in-depth description of software engineering topics. Sample problems at the end of each chapter range from trivial to difficult. Some references and Web sites for obtaining further information are listed at the end of each chapter.
The book briefly describes the main topics for managing software projects: software development models, risk management, software process metrics, project planning, schedule and estimating models, software quality assurance, and software configuration management. The author includes a chapter on system engineering before discussing software development.
The book identifies principles for both software requirements and designs. It contains descriptions of the major requirements specification and modeling techniques and diagrams. The book expands more on various design methods, addressing issues such as modularity, architecture, control structure, data structure, and others and features such as user interface to be addressed in a design. The author devotes a large portion of the book to object-oriented design, including metrics and testing. He provides short explanations of the basic test strategies. The final chapters address topicsthe author refers to as advanced, including formal methods, clean-room software engineering, software reuse, reengineering, client/server software engineering, and CASE.
Software Testing: Building Infrastructure, Due Diligence, and OO Software
1999. Piscataway, N. J.: IEEE Educational Activities Department. Two videotapes packaged with Bad Software: What to Do When Software Failsby Cem Kaner and David Pels. 1998. New York: John Wiley & Sons. (CSQE Body of Knowledge areas: Software Inspection, Testing, Verification and Validation)
This product, sponsored by the IEEE Reliability Society and IEEE Educational Activities, will include two videotapes, a book, copies of presentation notes (presumably the slides shown during the four prepared talks), and a written exam (by means of which a viewer can earn 0.25 Continuing Education Units). The notes and exam were not yet ready and so were not provided in the package provided for review.
Each videotape runs almost two hours. The format is similar to what one would expect at a technical conference: Each of the three main presenters speaks for approximately 45 minutes and then answers questions for another 20 minutes in a roundtable with the other participants. There are no fancy visual effectsjust the standard bulleted text slides these individuals would show to a roomful of listeners at a conference. What one has is a budget-minded distance learning resource: four guys who came into the studio for a day to talk to the camera and with one another.
Moderator Jeff Voas of Reliable Software Technologies sets the stage with 15 minutes on the ABCs of Testing. Barry Preppernau shares insights into the types of testing he has managed at Microsoft. Jeff Payne, also of Reliable Software Technologies, covers the myths, tradeoffs, and differences in testing object-oriented software. Finally, attorney Cem Kaner speaks of both the legal and economic issues in liability and customer satisfaction. He makes numerous references to his book, which is mainly oriented to customers of mass-marketed software products.
This package offers a solid, if not completely representative, introduction to these technical issues. A cross between a tutorial and a state-of-the-art briefing, it may provide useful awareness material for use on the job or to supplement a software quality course.CSQE Examination Study Material
The ASQ Certified Software Quality Engineer exam will be given in June and December each year. Many individuals and local groups undertake study sessions to prepare for the exam. The ASQ Software Division makes available, at cost, material used by a Washington, D. C. study group, which has had the highest pass rate (82 percent) in the country. Some material has been removed to respect copyright restrictions, so not all body of knowledge areas are equally well addressed. There are, however, adequate references to the material not included in this package. Provide a mailing address to Claire Lohr, the Software Divisions education and training chair (firstname.lastname@example.org or 703-391-9007), and the package will be shipped with an invoice for $35. Lohr is also interested in receiving study material from other groups, so the resource can be expanded for future users.