Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Software engineering--missing in action: a personal perspective
Parnas D. Computer44 (10):54-58,2011.Type:Article
Date Reviewed: Feb 10 2012

For over 20 years, Parnas has published insightful and thought-provoking papers on software engineering; this easy-to-read paper continues that practice. Parnas provides a personal perspective on what he regards as the failing of software engineering to live up to the promises of its name and to become a well-defined, disciplined, and well-respected engineering discipline.

The premise he offers is that every engineering discipline has a “core body of knowledge” that every student and practitioner must grasp and put into practice. The core body of knowledge is based on sound mathematics, scientific principles, guidelines, and regulations. Furthermore, the core body of knowledge is determined by the profession itself at the state or national level, and academic programs are periodically accredited to ensure that each of the elements of the core is taught effectively. New engineers are required to work under the watchful eye of a licensed professional before they themselves can become licensed--a process that includes a comprehensive assessment of the engineer’s knowledge of the core body of knowledge.

Parnas admits that the approach taken by the engineering discipline may not be perfect and that subpar engineers are still produced. While there is no licensing requirement for professional software engineers in most states (or countries for that matter), the real issue, Parnas contends, is the lack of a well-defined body of knowledge in software engineering. Further compounding the problem is the fact that academic computer science research and industry-based software development practices tend to pay little attention to each other: industry-based groups are formed to address the need for improvement, but this takes place with little academic involvement; academics develop new notations, formalisms, and design approaches, and these gain little traction in industry. This hinders the development of a regulated profession with a well-defined core body of knowledge.

Parnas’ arguments are logical and well supported. They lead the reader to his intended conclusion: the lack of a core body of knowledge is the single most significant impediment to software engineering truly becoming an engineering discipline capable of building correct software on time and within budget more often than not. Unfortunately, Parnas neither identifies the core body of knowledge nor a process that may be adopted by industry and academia to identify that core body of knowledge. He does, however, point out some important essential characteristics that need to be supported by the core body of knowledge and the way it is taught. For example, focus on core underlying scientific and mathematical principles rather than on specific techniques and tools applied by rote.

In the introduction, Parnas identifies the secret to success for the engineering disciplines: practitioners are taught how to do their job; they are taught the basic mathematics and science needed to perform their jobs; and, finally, they are taught to follow strict rules and to understand that a failure to follow them may lead to accusations of negligence. He also points out that this approach does not constrain engineers’ ability to design elegant solutions to problems; however, it does make them more versatile and adaptable to change, because they understand the principles and can thus apply them to a range of problems. The paper builds on Parnas’ supporting case; it leaves the reader asking what the core body of knowledge is and how we should move the field forward to truly become a software engineering discipline.

Reviewer:  Michael Oudshoorn Review #: CR139847 (1207-0706)
Bookmark and Share
  Reviewer Selected
Featured Reviewer
 
 
General (D.2.0 )
 
 
Software Development (K.6.3 ... )
 
Would you recommend this review?
yes
no
Other reviews under "General": Date
Development of distributed software
Shatz S. (ed), Macmillan Publishing Co., Inc., Indianapolis, IN, 1993. Type: Book (9780024096111)
Aug 1 1994
Fundamentals of software engineering
Ghezzi C., Jazayeri M., Mandrioli D., Prentice-Hall, Inc., Upper Saddle River, NJ, 1991. Type: Book (013820432)
Jul 1 1992
Software engineering
Sodhi J., TAB Books, Blue Ridge Summit, PA, 1991. Type: Book (9780830633425)
Feb 1 1992
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy