David Parnas (2010)
If I had to identify a single prime cause for the sorry “state of the art” in software development, it is documentation. Failure to document designs properly, reduces efficiency in every phase in a software product’s “lifetime” and is a major cause of the low quality software that we see today.
If I say, “documentation” to software developers, they assume that I am discussing a collection of wordy, unstructured, introductory descriptions. They picture thousands of pages that nobody trusts and nobody wanted to write. If I say, “documentation” to Engineers in more traditional disciplines, they envision precise blueprints, circuit diagrams, and mathematical component property specifications. Developers do not know how to produce equivalent documents for software.
Among the benefits of good documentation would be: easier reuse of old designs, better communication about requirements, easier integration of separately written modules, more effective inspection, more effective testing, and more efficient maintenance. The role of precise (mathematically based) documents in each of these activities will be illustrated and explained. Some recent improvements in software documentation methods will be shown and some important research problems will be described.
The approach described has been used in “real” products and can be used today but there is a great deal of room for improvement by researchers who are willing to invest time in truly difficult problems.
Dr David Lorge Parnas has been studying industrial software development since 1969. Many of his papers have been found to have lasting value. For example, a paper written 25 years ago, based on a study of avionics software, was recently awarded a SIGSOFT IMPACT award.
Parnas has won more than 20 awards for his contributions. In 2007, Parnas was proud to share the IEEE Computer Societyʼs one-time sixtieth anniversary award with computer pioneer Professor Maurice Wilkes of Cambridge University.
Parnas received his B.S., M.S. and Ph.D. in Electrical Engineering from Carnegie Mellon University. and honorary doctorates from the ETH in Zurich (Switzerland), the Catholic University of Louvain (Belgium), and the University of Italian Switzerland (Lugano). He is licensed as a Professional Engineer in Ontario.
Parnas is a Fellow of the Royal Society of Canada (RSC), the Association for Computing Machinery (ACM), the Canadian Academy of Engineering (CAE), the Gesellschaft für Informatik (GI) in Germany and the IEEE. He is a Member of the Royal Irish Academy.
Parnas is the author of more than 270 papers and reports. Many have been repeatedly republished and are considered classics. A collection of his papers can be found in:
Hoffman, D.M., Weiss, D.M. (eds.), “Software Fundamentals: Collected Papers by David L. Parnas”, Addison-Wesley, 2001, 664 pgs., ISBN 0-201-70369-6,.
Dr. Parnas is Professor Emeritus at McMaster University in Hamilton Canada,and at the University of Limerick Ireland and an Honorary Professor at Ji Lin University in China. He is President of Middle Road Software.