Page 3 of 10
The 1960s – Disappointing Efforts of IBM to Develop OS/360 Operating System:
In April 1964, IBM introduced its new generation of mainframe computers, System/360. It was so named because it was aimed at full circle of customers, from business to science – customers who did a lot of mathematical calculations as well as those who did simpler arithmetic on large sets of data. System/360 was not just one model but a whole line of computers targeted to different customers. The major selling point was the promise that programs written for one model would also work in larger models, thus saving a customer’s investment in software as business grew. This system and its successor System/370 dominated the mainframe market in the 1960s and 1970s and its basic architecture served as the anchor for IBM’s product line into the 1990s (Pugh et al., 1991).
For this computer system, IBM also planned a very ambitious operating system, called OS/360. It was immediately recognized that the developmental effort would be huge with an initial estimated budget of $ 25 million. IBM chose Frederick J. Brooks, Jr., one of the most able students of computer pioneer Howard Aiken. Brooks eventually would become a leading advocate in the 1970s for developing an engineering discipline for software construction, and the author of one of the most famous books regarding software engineering, The Mythical Man-Month.
OS/360 was perhaps the biggest and the most complex programs that have ever been attempted. According to the initial plan, it would consist of hundreds of program components, totaling more than a million lines of code, all of which had to work in a perfectly coordinated manner. OS/360 was to utilize the technology of “multiprogramming” as well. Although multiprogramming had been successfully implemented at that time, so far, it was not implemented in such a large scale as it was in OS/360. While realizing that incorporation of multiprogramming was a marketing necessity, the design team also realized that it could delay the delivery of the OS/360 in time for System/360 introduction and thus decided to delay the delivery of a full multiprogramming system until mid-1966s (Pugh, 1991).
The development of the OS/360 control program – the heart of the operating system – was based at the IBM Program Development Laboratories in Poughkeepsie, New York. There, it had to compete with other System/360 software projects that were all asking for the company’s best programmers which were already in short supply. The development task got underway in the spring of 1964 and was methodically organized from the start – with a team of a dozen program designers leading a team of sixty programmers trying to implement some forty functional segments of code. Soon, the schedules began to slip not for any specific reason but for numerous small causes. More people were added to the development team and by October 1965, there were some 150 programmers who were at work on the control program. Nevertheless, at that time, the development was estimated to be running at about six months late. A test trial was conducted and found that the system to be very sluggish and the software needed extensive rewriting to make it usable. Moreover, by the end of 1965, fundamental design flaws emerged for which there appeared to be no easy remedy (Pugh, 1991).
In April 1966, IBM publicly announced the rescheduling of the multiprogramming version of OS/360 for delivery in the second quarter of 1967 – nine months later than it was originally planned. IBM’s problems with OS/360 development were now a public knowledge. Users were anxious and so were the shareholders. Inside IBM, there was a growing sense of desperation. The only possible response it had was to add more and more programmers to the task. This was later recognized by Brooks as being precisely the wrong thing to do. First of all, the quality of programming staff goes down as more and more people are added. Second, difficulty of coordinating between their works which became more and more fragmented is considerable. This was more pronounced in the ways when structured programming was not in existence and one programmer’s work was much more difficult to match with another. In general, writing a major piece of software was a subtle task and it did not help to keep adding more and more programmers. As Fred Brooks had noted, “The bearing of a child takes nine months, no matter how many women are assigned” (Brooks, 1974, p. 17).
At the peak, more than 1,000 people at Poughkeepsie were working on OS/360. These included programmers, technical writers, analysts, secretaries and assistants – and all together some 5,000 staff-years went into design, construction and documentation of OS/360 between 1963 and 1966 (Pugh, 1991).
OS/360 was finally introduced into the market in mid-1967, a full year late. By that time, IBM had spent half a billion dollars on it – four times the original estimate of $ 125 million. According to IBM’s chairman Tom Watson, Jr., this was “the single largest cost in the System/360 program and the single largest expenditure in company history” (Watson, 1990, p. 353).
When OS/360 came out, it was not just late but full of bugs as well, that took years to eradicate. IBM had to offer several other operating systems to the users of System/360 including its CP/CMS system which eventually developed into its VM operating system. The experience of OS/360 also provided IBM with enough experience to develop another operating system in the early 1970s called MVS. These two operating systems continued to serve the IBM mainframes until present.