BOOK EXCERPT

F TER 20 YEARS

Frederick P. Brooks, Jr. il Excerptedpom WHYIS THERE A TWENTIETH I decided not to intro- One explanation some- ~’ Chapter 19, “The ANNIVERSARYEDITION? duce myself. times heard is that the soft- :Mythical Man-Month VVhy has The ~~ythical ware development discipline After 20 Yeam,” in Man-Month persisted? Why has not advanced normally The Mythical Man- The plane droned is it still seen to be relevant or properly. This view is Month: Anniversary through the night toward to practice today? often supported by contrast- Edition, copyright 0 LaGuardia. Clouds and Why does it have a reader- ing computer software ’ 1995 by Addisow darkness veiled all interest- ship outside the software development productivity Wesley Pubhhirzg ing sights. The document I engineering community, with computer hardware Co*~ar{y, hc. was studying was pedestrian. generating reviews, cita- manufacturing productivity, 1 Reprinted -with I was not, however, bored. tions, and correspondence which has multiplied at least (: permission. The stranger sitting next to from lawyers, doctors, psy- a thousandfold over the two Artwork courtesy me was reading The &Iythical chologists, sociologists, as decades. As Chapter 16 The George C. Page Man-Month, and I was wait- well as from software peo- explains, the anomaly is not Museum of La Brea ing to see if by word or sign ple? How can a book written that software has been so Discoveries, The he would react. Finally as we 20 years ago about a soft- slow in its progress but Natura-al History taxied toward the gate, I ware-building experience 30 rather that computer tech- Museum of Los could wait no longer: years ago still be relevant, nology has exploded in a I Angeles County. “How is that book? Do much less useful? fashion unmatched in you recommend it?” human history. By and large “Hmph! Nothing in it I this comes from the gradual didn’t know already.” transition of computer man-

IEEE SOFTWARE 57 ufacturing from an assembly going to have to come from industry to a process indus- attacking the essential diffi- try, from labor-intensive to culties of fashioning complex capital-intensive manufactur- conceptual constructs. ing. Hardware and software The most obvious way to development, in contrast to do this recognizes that pro- manufacturing, remain grams are made up of con- inherently labor-intensive. ceptual chunks much larger ,4 second explanation than the individual high- often advanced is that The level language statement - :k$dkalMan-Month is only subroutines, or modules, or incidentallv about sofmare classes. If we can limit design but primarily about how PARNASWAS RIGHT AND I imlards of modules not their and building so that we only people in teams make things. WASWRONG.ABOUT own. do the putting together and There is surelv some truth in INFORMATIONHIDING I dismissed Parnas’s con- parameterization of such this; in the preface to the cept as a “recipe for disaster” chunks from prebuilt collec- 1975 edition I said that man- In Chapter 7 I contrast in Chapter 7. Parnas was tions, we have radically aging a software project is two approaches to the ques- right, and I was wrong. I am raised the conceptual level, more like other management tion of how much each team now convinced that informa- and eliminated the vast than most programmers ini- member should be allowed tion hiding, today often amounts of work and the tially believe. I still believe or encouraged to know embodied in object-oriented copious opportunities for that to be true. Human his- about the designs and code programming, is the only error that dwell at the indi- tory is a drama in which the of other team members. In way of raising the level of vidual statement level. stories stav the same. the the Operating System/360 . Parnas’s information-hid- scripts of those stories project, we decided that all One can indeed get disas- ing definition of modules is change slowly with evolving programmers should see all ters with either technique. the first published step in cultures, and the stage set- material, i.e., each program- Mills’ technique ensures that that crucially important tings change all the time. So mer having a copy of the programmers can know the research program, and it is it is that we see our twenti- project workbook, which detailed semantics of the an intellectual ancestor of eth-century selves mirrored came to number over 10,000 interfaces they work to by object-oriented program- in Shakespeare, Homer, and pages. Harlan Mills has knowing what is on the other ming. He defined a module the Bible. So to the extent argued persuasively that side. Hiding those semantics as a software entity with its that The MM-M is about “programming should be a leads to system bugs. On the own and its own people and teams, obsoles- public process,” that expos- other hand, Parnas’s tech- set of operations. Its data can cence should be slow. ing all the work to every- nique is robust under change only be accessed via one of Whatever the reason, body’s gaze helps quality and is more appropriate in a its proper operations. The readers continue to buy the control both by peer pres- design-for-change philoso- second step was a contribu- book, and they continue to sure to do things well and by phy. Chapter 16 argues the tion of several thinkers: the send me much-appreciated peers actually spotting flaws following: upgrading of the Parnas comments. Nowadays I am and bugs. l Most past progress in module into an abstract data often asked, “What do you This view contrasts software productivity has ~JK, from which many think was wrong when writ- sharply with David Parnas’s come from eliminating non- objects could be derived. ten? What is now obsolete? teaching that modules of inherent difftculties such as The abstract data type pro- What is really new in the code should be encapsulated awkward machine languages vides a uniform way of think- with well-defined interfaces, and slow batch turnaround. ing about and specifying world?” These quite distinct and that the interior of such + There are not a lot module interfaces, and an questions are all fair, and I a module should be the pri- more of these easy pickings. access discipline that is easy shall address them as best I vate property of its program- + Radical progress is to enforce. can. Not in that order, how- mer, not discernible from The third step, object- ever, but in clusters of topics. outside. Programmers are oriented programming, most effective if shielded introduces the powerful con- from, not exposed to, the cept of inheritance, whereby classes (data types) take as

58 SEPTEMBER 1995 defaults specified attributes factors in success than are and there i.r more of‘it.... Does from structures or processes from their ancestors in the the tools they use or the it real!y matter to you . . then a central question fac- class hierarchy. Most of what technical approaches they uðer quiet, space,andpri- ing the software manager is we hope to gain from object- take. vary help your current people to how to design structure and oriented programming Subsequent researches do bettrr- work or [altemative- process so as to enhance, derives in fact from the first have supported that convic- ly] help you to attract and keep rather than inhibit, creativi- step, module encapsulation, tion. Boehm’s COCOMO better people? ty and initiative. Fortunate- plus the idea of prebuilt model finds that the qu&ty ly, this problem is not pecu- libraries of modules or class- of the team is by far the I heartily recommend the liar to software organiza- es that are designed and tested largest factor in its success, book to all my readers. tions, and great thinkers jbr- rp11se.Many people have indeed four times more have worked on it. E.F. chosen to ignore the fact that potent than the next largest Movingprojects. DeMarco Schumacher, in his classic, such modules are not just factor. Most academic and Lister give considerable Small is Beautifill: Economics programs, but instead are research on software engi- attention to teamfiuion, an as ifPeople Mitteyed, propos- program products in the neering has concentrated on intangible but vital property. es a theory of organizing sense discussed in Chapter 1. tool. I admire and covet I think it is management’s enterprises to maximize the Some people are vainly hop- sharp tools. Nevertheless, it overlooking fusion that creativity and joy of the ing for significant module is encouraging to see ongo- accounts for the readiness I workers. For his first princi- reuse without paying the ini- ing research efforts on the have observed in muldloca- ple he chooses the tial cost of building product- care, growing, and feeding tion companies to move a “Principle of Subsidiary quality modules - general- of people, and on the project from one laboratory Fmction” from the ized, robust, tested, and doc- dynamics of sofmpare man- to another. Encyclical Quadragesimo umented. Object-oriented agement. My experience and A&J of Pope Leo XIII: programming and reuse are observation are limited to discussed in Chapters 16 Peopleware.A major con- perhaps a half-dozen moves. It is an injuhe and at the and 17. tribution during recent years I have never seen a success- same time a qave evil and di.c has been DeMarco and ful one. One can move mis- twbance of ngbt order to Lister’s 1987 book, sions successfully. But in assign to a greater and bigber PEOPLEARE EVERYTHING Peophw-e: Pr-odrLctiveProjerts every case of attempts to association what lesser and sub (WELL,ALMOST EVERYTHING) and Teams. Its underlying move projects, the new- team or-dinate or-ganizatiomscan do. thesis is that “The major in fact started over, in spite For every social activity ought Some readers have found problems of our work are of having good documenta- of its zwy nature to fiwnisb it curious that The MAl-~Zf not so much technological as tion, some well-advanced help to the memberr oftbe bog devotes most of the essays to sociological in nature.” It designs, and some of the social and never’ destroy and the Inanagerial aspects of abounds with gems such as, people from the sending absvrb them.... Those in com- software engineering, rather “The manager’s function is team. I think it is the break- mand should be sure that the than the many technical not to make people work, it ing of fusion of the old team more petjL+ a gr-aduated issues. This bias was due in is to make it possible for that aborts the embryonic order- is prwewed arnoq the part to the nature of my role people to work.” 1t deals product, and brings about viwiorls associations, in observ- on the IBM Operating with such mundane topics as restart. ing the principle of’sxbsidialy System/360 (now MVS/370). space, furniture, team meals fitnction, the s~onggerwill be More fundamentally, it together. DeMarco and the social author-i

IEEE SOFTWARE Znteract With Us

mrd r ~qmtnil~ili~ $tbe lowrt~ his teams: fb7wation.s 1rt-emr-efLl(y pr.e- Eachfeature team (30-40 semed, with the welt that the people)owns its feature set, its oqauization as a whole mill be srbedu*k,and even its process of “happier and mom pr-osperow.” how to define, build, dip. The team is made upfor j6zw or-fiz)e How cm7 such Mstmcture be specialties,imluding building, achieved?. . . The large oqani- testi77g,and miting. The team zation will consistof mm7y settlessquabbles; tbe bossesdo77 % Visit the semi-autonon707uunits, which I can’t emphasizeenough the we nfq call quasi-firms. Eaac-b in7po71ameof enlpowemzent, of of them will have a large sbftwwre the team being accountableto amount offi-edom, to give the Home Page itself jbr- its sums. for a look at greatest possiblechance to rye- ativity and entrepreneur- Earl Wheeler, retired where we’we been, ship.. . . Each qmsi-jhm mist head of IBIM’s software busi- where we’re headed, have botb a profit and loss ness, told me his experience and huw yuu curt be a part account, and a balancesheet. in undertaking the down- of our future. ward delegation of power Among the most exciting long centralized in IBM’s developments in software division managements: engineering are the early Our Web site includes The key tbmst [of ?.ecent stages of putting such orga- year.d was delegating power + Abstracts from current and past nizational ideas into prac- down. It w~~.slike magic! issues tice. First, the microcom- Improved qxalit?,, pladulctivity, b A calendar ofu coming theme issues puter revolution created a and cal Ps for papers mo7-ale.U ’o have small teams, new software industry of + Guidelines for k-king and with no cen~al control. The hundreds of start-ups. submitting articles teams&n the process,but they These firms, all of them + Sataffand editorial board have to have one. They have contact information starting small, and marked many difice7~ent processes. They 4 An author and sub’ect index by enthusiasm, freedom, own the schedule,bnt theyfeel for 1994-1965 and creativity. The industry & Information on copyrights, reprints, the pressureof the nzayket. Tbi.c- is changing now, as many and subscriptions pwsswe causesthem to reac-h small companies continue to for tools on their own. and more . . . be acquired by larger ones. It remains to be seen if the Conversations with indi- larger acquirers will under- vidual team members, of Vikit the BEE SoNare stand the importance of pre- course, show both an appre- Home Pagedirectly at: serving the creativity of ciation of the power and smallness. freedom that is delegated, http://www.computer.org/ More remarkably, high and a somewhat more con- pubs/software/software.htm management in some large servative estimate of how firms have undertaken to del- much control really is relin- Or accessow page via the egate power down to individ- quished. Nevertheless, the IEEE Computer Society ual software project teams, delegation achieved is clear- Home Pageat: making them approach Schu- ly a step in the right direc- macher’s quasi-firms in tion. It yields exactly the http://www.computer.org/ structure and responsibility. benefits Leo XIII predicted: They are surprised and the center gains in real delighted at the results. authority by delegating Jim McCarthy of Micro- power, and the organization !Sibftware as a whole is happier and soft described to me his experience at emancipating more prosperous. 4

60 SEPTEMBER 1995