login

Prospects for an engineering discipline of software

IEEE SoftwarePublished 1 November 1990Open access
Mary Shaw
Citations340
View PDF

TL;DR

Five basic steps that the software engineering profession must take to become a true engineering discipline are described, covering the nature of expertise, recognizing different ways to get information, encouraging routine practice, expecting professional specializations, and improving the coupling between science and commercial practice.

Abstract

Software engineering is not yet a true engineering discipline, but it has the potential to become one. Older engineering fields offer glimpses of the character software engineering might have. From these hints and an assessment of the current state of software practice, we can project some characteristics software engineering will have and suggest some steps toward an engineering discipline of software. The term software engineering was coined in 1968 as a statement of aspiration -- a sort of rallying cry. That year NATO convened a workshop by that name to assess the state and prospects of software production [NATO 69].Capturing the imagination of software developers, the phrase achieved popularity during the 1970s. It now refers to a collection of management processes, software tooling, and design activities for software development. The resulting practice, however, differs significantly from the practice of older forms of engineering. The paper begins by examining the usual practice of engineering and the way it has evolved in older disciplines. This discussion provides a historical context for assessing the current practice of software production and setting out an agenda for attaining an engineering practice.

Keywords

Computer Science