2008年(3010)
分类: LINUX
2008-05-27 13:20:29
In many ways, managing a large computer programming proj-
ect is like managing any other large undertaking—in more ways
than most programmers believe. But in many other ways
it is different—in more ways than most professional managers
expect.
The lore of the field is accumulating. There have been sev-
eral conferences, sessions at AFIPS conferences, some books,
and papers. But it is by no means yet in shape for any systematic
textbook treatment. It seems appropriate, however, to offer this
little book, reflecting essentially a personal view.
Although I originally grew up in the programming side of
computer science, I was involved chiefly in hardware architec-
ture during the years (1956-1963) that the autonomous control
program and the high-level language compiler were developed.
When in 1964 I became manager of Operating System/360, I
found a programming world quite changed by the progress of
the previous few years.
Managing OS/360 development was a very educational ex-
perience, albeit a very frustrating one. The team, including F. M.
Trapnell who succeeded me as manager, has much to be proud
of. The system contains many excellencies in design and exe-
cution, and it has been successful in achieving widespread use.
Certain ideas, most noticeably device-independent input-output
and external library management, were technical innovations now widely copied. It is now quite reliable, reasonably efficient,
and very versatile.
The effort cannot be called wholly successful, however. Any
OS/360 user is quickly aware of how much better it should be.
The flaws in design and execution pervade especially the control
program, as distinguished from the language compilers. Most of
these flaws date from the 1964-65 design period and hence must
be laid to my charge. Furthermore, the product was late, it took
more memory than planned, the costs were several times the
estimate, and it did not perform very well until several releases
after the first.
After leaving IBM in 1965 to come to Chapel Hill as origi-
nally agreed when I took over OS/360, I began to analyze the
OS/360 experience to see what management and technical les-
sons were to be learned. In particular, I wanted to explain the
quite different management experiences encountered in System/
360 hardware development and OS/360 software development.
This book is a belated answer to Tom Watson's probing ques-
tions as to why programming is hard to manage.
In this quest I have profited from long conversations with
R. P. Case, assistant manager 1964-65, and F. M. Trapnell, man-
ager 1965-68. I have compared conclusions with other managers
of jumbo programming projects, including F. J. Corbato of
M.I.T., John Harr and V. Vyssotsky of Bell Telephone Labora-
tories, Charles Portman of International Computers Limited,
A. P. Ershov of the Computation Laboratory of the Siberian Di-
vision, U.S.S.R. Academy of Sciences, and A. M. Pietrasanta of
IBM.
My own conclusions are embodied in the essays that follow,
which are intended for professional programmers, professional
managers, and especially professional managers of program-
mers.
Although written as separable essays, there is a central ar-
gument contained especially in Chapters 2-7. Briefly, I believe
that large programming projects suffer management problems different in kind from small ones, due to division of labor. I be-
lieve the critical need to be the preservation of the conceptual
integrity of the product itself. These chapters explore both the
difficulties of achieving this unity and methods for doing so.
The later chapters explore other aspects of software engineering
management.
The literature in this field is not abundant, but it is widely
scattered. Hence I have tried to give references that will both
illuminate particular points and guide the interested reader to
other useful works. Many friends have read the manuscript,
and some have prepared extensive helpful comments; where
these seemed valuable but did not fit the flow of the text, I have
included them in the notes.
Because this is a book of essays and not a text, all the ref-
erences and notes have been banished to the end of the volume,
and the reader is urged to ignore them on his first reading.
I am deeply indebted to Miss Sara Elizabeth Moore, Mr.
David Wagner, and Mrs. Rebecca Burns for their help in pre-
paring the manuscript, and to Professor Joseph C. Sloane for ad-
vice on illustration.