< Prev Next >
NATO SOFTWARE ENGINEERING CONFERENCE 1968
25
4. Design
The real problem is training the people to do the design. Most designers of software are damn well incompetent, one way or another.
Paul: The customer often does not know what he needs, and is sometimes cut off from knowing what is or what might be available.
Perlis: Almost all users require much less from a large operating system than is provided.

The handling of user requests within a design group caused some discussion.
Goos: A main question: Who has to filter the recommendations coming from outside? The man or group who filters user requests to see what fits together is the most important aspect of design guided by user requirements.
Hume: Experience is the best filter.
Randell: Experience can be misused as a filter. It is very easy to claim that one’s own experience denies the validity of some of the needs expressed by users. For example, this was one of the causes for IBM’s slowness in responding to users’ expressed needs for time sharing facilities.
Galler: We should have feedback from users early in the design process.
Randell: Be careful that the design team will not have to spend all its time fending off users.
Goos: One must have the ‘filter’ inside, not outside, the design group.
Letellier: (from The adequate testing and design of software packages)
»… any limitations, such as a number of variables or a maximum dimension, must be discussed with the user; new concepts have to be understood by the designer who must refrain from sticking to his own programmer’s concepts; this is not as simple as it looks.
As soon as a draft of the external specifications is drawn up, the designer must go to the users and ask them to describe typical uses of the product to make sure that operational flexibility will be convenient.«
The effect a software system can have on the users also gave rise to comment.
Hume: (from Design as controlled by external function)
»It must be noted that the software can control or alter the way that users behave and this in turn generates demands for equipment. For example, software that offers a variety of languages in an interactive mode requires a different hierarchical arrangement of storage than that required if only one language is to be available.«
Ross: On this point of the system affecting the user, one little example is that recently a new command was put into the MAC CTSS system called BUY TIME, by which the individual user is able to purchase time within  his own allotment from his supervisor, instead of having to go and ask the supervisor for more time or tracks. When this system was put into effect, our own group began to use significantly more resources and my group leaders assure me that there is more work being done at the same time. It is interesting that just taking out of their loop the finding of the man who could assign them more time really had an impact on their work.
Perlis: I think everybody who works with a big computer system becomes aware that the system influences the way people react to it. In a study we made we observed, what should have been obvious, but had not been, that if one depends on a system over which one has no control, the one thing you wish from it is that the system match your expectations of it. So anyone who runs a system and gives the service he promises, however bad that may be, is giving something much better than someone who promises a great deal and then does not deliver it, except perhaps on a random basis.
Quite specific user wishes were also discussed. The views are summarized below.
Harr: (from Design as controlled by external function)