Design quality SAS software and evaluate SAS software quality
SAS Data Analytic Development is the developer's compendium for writing better-performing software and the manager's guide to building comprehensive software performance requirements. The text introduces and parallels the International Organization for Standardization (ISO) software product quality model, demonstrating 15 performance requirements that represent dimensions of software quality, including: reliability, recoverability, robustness, execution efficiency (i.e., speed), efficiency, scalability, portability, security, automation, maintainability, modularity, readability, testability, stability, and reusability. The text is intended to be read cover-to-cover or used as a reference tool to instruct, inspire, deliver, and evaluate software quality.
A common fault in many software development environments is a focus on functional requirements--the what and how--to the detriment of performance requirements, which specify instead how well software should function (assessed through software execution) or how easily software should be maintained (assessed through code inspection). Without the definition and communication of performance requirements, developers risk either building software that lacks intended quality or wasting time delivering software that exceeds performance objectives--thus, either underperforming or gold-plating, both of which are undesirable. Managers, customers, and other decision makers should also understand the dimensions of software quality both to define performance requirements at project outset as well as to evaluate whether those objectives were met at software completion.
As data analytic software, SAS transforms data into information and ultimately knowledge and data-driven decisions. Not surprisingly, data quality is a central focus and theme of SAS literature; however, code quality is far less commonly described and too often references only the speed or efficiency with which software should execute, omitting other critical dimensions of software quality. SAS(r) software project definitions and technical requirements often fall victim to this paradox, in which rigorous quality requirements exist for data and data products yet not for the software that undergirds them. By demonstrating the cost and benefits of software quality inclusion and the risk of software quality exclusion, stakeholders learn to value, prioritize, implement, and evaluate dimensions of software quality within risk management and project management frameworks of the software development life cycle (SDLC). Thus, SAS Data Analytic Development recalibrates business value, placing code quality on par with data quality, and performance requirements on par with functional requirements.
Praise for SAS DATA ANALYTIC DEVELOPMENT
"The quality of your programs is often reflected in the quality of your data, and your programs will be substantially improved by implementing the concepts presented in this book. All programmers, even non-SAS programmers, who write programs that work with data will find this book both highly useful and interesting, especially so if you have ever backpacked."
--Art Carpenter, California Occidental Consultants
"Troy's fantastic book will greatly increase the ability of the reader to positively impact their organization. He raises the capabilities and maturity of the SAS community by sharing his many years of software development experience with us in a style that delights and clearly informs. Thank you, Troy!"
--Chuck Kincaid, Senior Engagement Director, Experis Business Analytics
"Troy's book has prompted a paradigm shift in my own work: I realize that the SAS programs I write are deserving of the same rigorous quality controls, and the same steps to ensure quality, as all software products. I heartily recommend this book to SAS practitioners (and their managers) involved in data analytic development-- those who 'produce the golden egg--the valuable data product.'"
--Louise Hadden, Lead Programmer Analyst, U.S. Health Division, Abt Associates
"Concepts are well defined, usually starting with a general statement and followed up with a technical definition (for example, from ISO documentation). I think all experienced SAS programmers can benefit from the book, and it is a must-read for all new SAS programmers."
--Peter Eberhardt, Consultant, Fernwood Consulting Group Inc.
"An absolute must-read for data analysts to remind them that software programming is a very central component of their job. Concepts, best practices, and SAS code examples perfectly illustrate this increasingly important topic."
--Gerhard Svolba, Ph.D., Data Scientist, SAS Institute