Anthony I. Wasserman and Steven Gutz imagined programming’s future in three stages: integrated tools, reusable components, then executable specifications. Their 1982 paper in Communications of the ACM treats usability and maintainability as part of software quality. Much of its advice concerns the work surrounding code.

  • Tools should work together. Editors, debuggers, tests, specifications, and configuration management need compatible interfaces and shared information across the development life cycle.
  • Reuse needs evidence. Components should arrive with clear specifications, comprehensible documentation, rigorous testing, and performance characteristics. An inventory of code alone falls short.
  • Prototypes help users discover requirements. A working interface lets people test assumptions before a written specification hardens into an expensive implementation.
  • Working conditions affect throughput. Interruptions, clerical work, poor documentation access, and the physical environment consume time that a better language cannot recover.
  • Higher-level tools shift responsibility. As common tasks become easier to express, developers spend more effort understanding users and building the underlying tools.

Evaluate a development tool by the handoffs it improves: from a user conversation to a prototype, from a failure to a source-level diagnosis, from a component’s promises to evidence. Faster coding covers only one part of that chain.

The forecasts are explicitly speculative. Their claim that most packaged software would ship without ongoing support is a reminder to separate durable engineering advice from predictions about the business around it.