PM Tutorial  (1:00 pm – 5:00 pm)

Measuring the Technical Quality of Software at the Systems Level

by Bill Curtis
Advanced level

Summary: The tutorial will describe six trends that are accelerating the importance of software quality in business applications.  It will argue that based on these trends, defining quality as the removal of defects is no longer sufficient.  Different sources of business value will be related to different aspects of software quality such as robustness, maintainability, security, and other such measures.  A more comprehensive definition of software quality will be presented that can be related to international standards such as ISO 9126.  It will also be argued that software quality needs to be measured at a level above simple code analysis, which often misses problems in interactions between application components written in different languages such as the database, the user interface, and the application logic.  Different methods for measuring software quality, especially at the systems level, will be presented along with guidelines for their interpretation. 

Abstract: The tutorial will begin by describing six trends that are accelerating the importance of software quality in business applications.  It will argue that based on these trends, defining quality as the removal of defects is no longer sufficient.  Different sources of business value will be related to different aspects of software quality such as robustness, maintainability, security, and other such measures.  A more comprehensive definition of software quality will be presented that can be related to international standards such as ISO 9126.  It will also be argued that software quality needs to be measured at a level above simple code analysis, which often misses problems in interactions between application components written in different languages such as the database, the user interface, and the application logic.  Different methods for measuring software quality, especially at the systems level, will be presented along with guidelines for their interpretation.  Next the tutorial will discuss the processes that need to be deployed in order to analyze software quality issues at the systems level.  These processes will be discussed in terms of the maturity of the application development organization as well as how quality roles can be incorporated into the existing structure of application development and maintenance functions.  Case studies will be used to demonstrate how software quality issues have been addressed at the system level by best practice companies and the business benefits they achieved.

Bill CurtisPresenter Bio: Bill Curtis is Senior Vice President and Chief Scientist with Cast Software, a leader in measuring application software quality.  He co-authored the Capability Maturity Model (CMM), the People Capability Maturity Model, and the Business Process Maturity Model.  Until its acquisition by Borland he was Co-founder and Chief Scientist of TeraQuest, the global leader in CMM-based services.  He is a former Director of the Software Process Program in the Software Engineering Institute at Carnegie Mellon University.  He previously worked for MCC, GE, ITT, and the University of Washington  He has published four books, over 150 articles, and is an IEEE Fellow.