Software customers have had the same choices. The problem is not to restrict infor- mation, but to ensure that relevant information gets to all the people who need it. Fifth, when schedule slippage is recognized, the natural and traditional response is to add manpower. More seriously, they reflect an unvoiced assumption which is quite un- true, i. Furthermore, the daily change distribu- tion averaged two inches, some 150 pages to be interfiled in the whole. Digging-in showed that the control program modules were each making 100 Ten Pounds in a Five-Pound Sack many, many disk accesses.
Interactive Discipline for the Architect The architect of a building works against a budget, using estimat- ing techniques that are later confirmed or corrected by the con- tractors' bids. It is this fact that makes it feasible to set space budgets. In fact, a tree organization really arises as a structure of au- thority and responsibility. This work proceeds in parallel with architecture and implementation. Adding more men then lengthens, not shortens, the schedule. The fraction devoted to planning is larger than normal. A formal project workbook must be started at the beginning.
We need to develop and publicize productivity figures, bug-incidence figures, estimating rules, and so on. In order to see how this should work for a software project, let us examine the specific documents useful in other contexts and see if a generalization emerges. And the productivity number is a good average between the control program and translator productivities of other projects. The manager of architecture, the manager of control program implementation, and I were threshing out the plan, schedule, and division of responsibilities. Let it suffice here to say that the entire system also must have concep- tual integrity, and that requires a system architect to design it all, from the top down.
I thought I could do it. As a result, any programmer in size trouble examined his code to see what he could throw over the fence into a neighbor's space. They tend to be complete; gaps show more conspicuously, so they are filled sooner. It will additionally need support in finance, personnel, space, sec- retaries, and machine operators. The specialized function of the program clerk relieves pro- grammers of clerical chores, systematizes and ensures proper per- 34 The Surgical Team formance of those oft-neglected chores, and enhances the team's most valuable asset — its work-product. It is better to have a system omit certain anomalous features and improvements, but to reflect one set of design ideas, than to have one that contains many good but independent and uncoordinated ideas. If the prices are below those postulated, a joyous success spiral begins.
These sessions were held just before major freeze dates for the manual. The first is a weekly half-day conference of all the architects, plus official representatives of the hardware and software implementers, and the market planners. Furthermore, if the architecture team did it, his 150 men would sit twiddling their thumbs for ten months. The fiercer the struggle, the more entangling the tar, and no beast is so strong or so skillful but that he ultimately sinks. Then they said to one another, ''Come, let us make bricks, burning them well.
Meanwhile, at the realization level, circuits, cards, cables, frames, power supplies, and memories must each be designed, refined, and documented. With any creative activity come The Woes of the Craft dreary hours of tedious, painstaking labor, and programming is no exception. Add 6 men to the 3 assigned. With modern programming systems this gain does exceed the cost, but in recent years the ratio of gain to cost seems to have fallen as more and more complex functions have been added. The group attempts to invent many solu- tions to problems, then a few solutions are passed to one or more of the architects for detailing into precisely worded manual change proposals.
In preparing this retrospective, I have sought the current views of friends who are indeed at work in software engineering. As soon as ease of use is held up as the criterion, each of these is seen to be unbalanced, reaching for only half of the true goal. One rarely controls the circumstances of his work, or even its goal. It is the culmination of batch debugging facilities, fur- nishing truly elegant snapshot and core dump capabilities. The inadequacies of the tree approximation give rise to staff groups, task forces, committees, and even the matrix-type organization used in many engineering laboratories. We quickly decided that each programmer should see all the material, i.
The maximum number of men depends upon the number of independent subtasks. The two new men, however competent and however quickly recruited, will re- quire training in the task by one of the experienced men. He needs a toolsmith, responsible for ensuring this adequacy of the basic service and for constructing, maintaining, and upgrading special tools — mostly interactive computer services — needed by his team. Second is the pleasure of making things that are useful to other people. Yet another example is the scheduler, which provides truly excellent facilities for managing a fixed-batch job stream.
File-editing, text-editing, and interactive debug- ging services are now readily available, so that a team will rarely need its own machine and machine-operating crew. The provision of enough time came from the schedule of the new technology; the political equality came from the simultaneous construction of multiple implementations. When he does his third and later ones, his prior experiences will confirm each other as to the general characteristics of such sys- tems, and their differences will identify those parts of his experi- ence that are particular and not generalizable. One must look at what is being produced. Consider as a stronger case the architecture, implementation, and even the realization of the Stretch computer, an outlet for the 56 The Second-System Effect pent-up inventive desires of many people, and a second system for most of them.