ABSTRACT

Over the course of the next decade, the costs and challenges associated with developing computer programs, or "software", became increasingly apparent. Even as computer technology was becoming ever smaller, faster, and more reliable, computer software development projects acquired a reputation for being over-budget, behind-schedule, and bug-ridden. Programming a computer is, at its essence, a twofold series of translations: first, the translation of a real-world problem into a series of steps, known as an algorithm, that can be performed by a machine; and, second, the translation of this algorithm into the specific instructions used by a particular computer. Flowcharts were intended to serve as the blueprint for computer programmers, an intermediate step between the analysis of a system and its implementation as a software application. Although programming languages and other utilities helped computer users to develop their software more effectively, programming costs remained the single largest expense of running a computer installation.