
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 software 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 software design. 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 data model 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- software engineering 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&ether 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.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages4 Page
-
File Size-