, methods, techniques and tools. High level languages, structured programming, abstract data types, formal methods, non-procedural programming, object orientation, CASE, support environments exemplify innovations that were each, in turn, expected to overcome, once and for all, the many problems that have for so long frustrated consistent, cost effective, on-time development of functionally satisfactory and reliable software. None did. Current Weaknesses Despite local benefit that innovation has brought to individual development steps too many
M. M. Lehman