Slashdot Mirror


The Mythical Man-Month Revisited

jpkunst writes "Ed Willis, over at O'Reilly's ONLamp.com, gives his varied reactions to Fred Brooks' classic The Mythical Man-Month, after 'having finally read it in its entirety'. '[...] simultaneously you can see just how much the field has changed since the original writing and just how much has stayed stubbornly the same.'"

34 of 317 comments (clear)

  1. Man-month? by Guy+Innagorillasuit · · Score: 5, Funny

    What, like a manstrual cycle?

  2. Compression by 14erCleaner · · Score: 4, Funny

    Since all the blather about "internet time" in the intervening years, I'm surprised they didn't re-release it under a new title:
    The Mythical Man-Week.

    --
    Have you read my blog lately?
    1. Re:Compression by 14erCleaner · · Score: 5, Funny

      Although now that I think of it, they could also kowtow to modern sensibilities vis-a-vis gender and religion by retitling it:
      The Hypothetical Person-Week

      --
      Have you read my blog lately?
  3. Switch to the metric month! by Hamlet+D'Arcy · · Score: 5, Funny

    My company used to have a lot of problems with the mythical man month... that is until we switched to metric month.
    We've found that we get a lot more accomplished by switching to the 10 day work week and 10 hour work days.

    Now, if only Swatch would come out with a metric time piece.

    --

    If I seem short sighted, it is because I stand on the shoulders of midgets
  4. what a stupid article by ror+omg+wtf · · Score: 4, Insightful

    next on slashdot, O'Reilley makes fun of Henry Ford for not using computer controlled robots on the assembly line.

  5. The more things change ... by YetAnotherName · · Score: 5, Informative

    Brooks put forth a lot of good ideas, some of which morphed and/or were independently discovered and some that were true then as they are today. For example, he says, "Build one to throw away." Amen to that.

    Another concept he brought to light was originally Harlan Mills's, that of making the programming team like a surgical team. A surgeon, or chief programmer, has primary architectural, design, and implementation responsibility, but is assisted by a copilot, administrator, editor, two secretaries, and a program clerk.

    While I've never seen such a team, I have witnessed pair programming that the XP (not Windows, eXtreme Programming) folks praise, and it works quite well. It may not be a full-fledged surgical team as Brooks would've liked, but the productivity of a pilot on the keyboard and a copilot following after every little mistake certainly improves productivity.

    1. Re:The more things change ... by TomorrowPlusX · · Score: 4, Interesting

      An anecdote about XP...

      My first programming gig was writing device diagnostics for prototype set-top boxes in the mid-nineties. I was still in college, and my programming experience was basically just C -- and on windows and mac machines ( I was a kid ).

      The lead programmer could tell I had potential, but knew that the only way I'd be able to do a good job was to work *with* him, since I had to learn VI and learn how to work on an old sparc ( where we crosscompiled for the embedded platform ) he figured the learning curve would be easier if he sat at the keyboard and I went over the algorithms alongside him.

      It worked beautifully; we shared responsibility and caught eachother's bugs. After a while as I demonstrated that I was catching up ( read: I learned vi ), we began to take turns as keyboard jockey -- but regardless our combined productivity was much greater than by ourselves.

      The comeraderie was great. He was an old-school AT&T programmer and I had a hoot working with him and he had a hoot teaching me how to write *tight* low level code.

      The only troublesome part was, since we were developing a precursor to modern video on demand boxes, and it was back in 1995, we had a distinct lack of movie-length mpegs to test against. So we had only _Demolition Man_ and _The Crush_... Which means that for proper testing I must have seen each at least 100 times during my employment there.

      Plus we were testing picture in picture and looping stuff for multiple mpeg streams and this meant I sometimes would be watcing demolition man while Alicia Silverstone's stunt-butt scene would loop *forever* in a mini-window.

      It drove me mad.

      --

      lorem ipsum, dolor sit amet
    2. Re:The more things change ... by duffbeer703 · · Score: 4, Interesting

      One of things that advances like email and voicemail have cost us is the elimination of secretaries and clerks.

      Those workers carried alot of instituional knowledge and brought alot of unseen benefits to organizations.

      --
      Conformity is the jailer of freedom and enemy of growth. -JFK
    3. Re:The more things change ... by nettdata · · Score: 5, Funny

      I used to be the head IT guy at Nettwerk Records, home of Sarah McLachlan and Bare Naked Ladies, Dido, etc., and my office was right over the main "dubbing station".

      There was a practice of leaving the audio up for all of the radio dubs that were made for each single, so that the glassy-eyed intern could ensure that it was recorded properly. This was done literally thousands of times... one for each major and minor radio station in North America. For each song that was released. And each interview/soundbite. All during the Lilith Fair days. Joy.

      Unfortunately, the interns didn't last too long in this job, as they quickly got very bored of it, so there would be a new one every day or two... each one initially VERY excited about working with "Sarah!", so they'd crank the volume.

      This drove me nuts. Almost literally. I'm an older Van Halen and Ozzie fan, and cannot stand to listen to Sarah's stuff more than once or twice... it's not my cup-O-tea. That being said, this was like some insane water torture for me.

      It really hit home when I was in to see the dentist a few years back, and he was doing a routine examination on me, and he started to get really concerned. "Are you in pain? There doesn't look like there should be any pain, but you're all tense and flinching... what's up?"

      It was at that point that I realized that the receptionist was a HUGE Sarah fan, and was playing Sarah's just released Mirrorball compilation in its entirety... that I'd already heard almost infinitely.

      So, I spilled the beans to the doc, and he laughed, got up, went to the CD player, and popped in some classic VH. I loosened right up, almost to the point of going to sleep, I was so relaxed.

      The next time I went in to see him, sure enough, Sarah was back on the CD player, but on seeing me, the receptionist killed it and popped in some Stevie Ray Vaughn, and all was well. They'd actually made a note in the book that said "absolutely NO SARAH while he's here".

      That dentist has my business for LIFE now, let me tell you!

      I guess what I find interesting is that such exposure to audio/video stimulus repeatedly can have big impacts on you... without even really knowing it. I wasn't actually consciously aware of my "audio rage" until it was pointed out to me.

      It's almost like it's audio/visual repetitive stress injury or something.

      Weird.

      --



      $0.02 (CDN)
  6. A wonderful dissection by tcopeland · · Score: 4, Funny

    Well done indeed:

    ================
    Regarding source code documentation:

    "The most serious objection is the increase in the size of the source code that must be stored. As the discipline moves more and more toward on-line storage of source code, this has become a growing consideration. I find myself being briefer in comments to an APL program, which will live on disk, then on a PL/I one that I will store as cards."

    For who among us is this not true? Honestly, you just can't shut me up on cards.
    ================

    Definitely worth a read. To coin a phrase: LOL.

    1. Re:A wonderful dissection by EvilTwinSkippy · · Score: 4, Insightful
      Well, I suppose you are going to complain next about having to understand binary.

      Modern computers have their quirks. In 30 years my kids are going to be asking me why I keep referring to "disk space" and "RAM." Then I'll have to explain that back when I programmed, you had two types of memory, the high-speed stuff the computer would work in, RAM. RAM was expensive, finite, and would lose it's contents when the computer rebooted. We also had "disks" that while they were slower, they stored a lot more infomation, were cheaper, and were non-volitile.

      Laugh. But you too are going to sound like and old fart one day. And the respect you show or don't show for those that came before you is going to be what you instill in those that come after you.

      --
      "Learning is not compulsory... neither is survival."
      --Dr.W.Edwards Deming
  7. Perpetual Conflicts of Interest by Moblaster · · Score: 5, Interesting

    Man months will always be mythical. Unfortunately, it's frequently in the interest of technical workers to provide their clients (internal or external) overly optimistic assessments of project feasibility. That's apart from the naturally rosy estimates of one's one programming/system admin abilities, versus a sober understanding of the full complexity of a project.

    It's also hard convincing "novice" customers that will buy into the experience-proven truth that small feasibility projects make the bigger projects cheaper, more productive and more deadline-friendly. The instant gratification complex of customers is at much at fault as the hunger to get and keep jobs among the IT workers.

    Also, programmers usually get into programming through hacking, pleasure programming, or other forms of "undisciplined" programming. Often, the impulsive "go at it" style is the only one they know and enjoy. That causes problems too. As anyone who has ever tried project-managing programmers tends to find out, managing programmers (especially newer ones) is a bit like herding cats.

    The one ugly truth nobody likes to talk about is that buggy/complicated systems help ensure jobs. Let's face it... the fact that Microsoft software crashes a lot creates good opportunities for consultants and IT staffs to justify their jobs. And does anyone think that Oracle would have grown into a multi-billion company if there weren't so many highly trained DBAs/High Priests running around promoting its mysterious wonders? Who knows how quickly this foul fruit will sour when all of this rot is billed by the hour?

  8. Re:A Classic Book by NeoFunk · · Score: 5, Insightful

    Yeah, I think you're right here - I think the problem is that most techies read this book and roll their eyes and say "yeah, tell me something I DON'T know". However, I think it would be a quite valuable read for a non-techie boss-type who wants to successfully "manage" a software project

    They should make this book required reading in all MBA programs, in other words :)

  9. Re:Still one of the best "I-was-there" books by LittleGuy · · Score: 4, Interesting

    Fred's account of the 360 project still has lessons to teach, despite the intervening years. If you haven't read it, go read it.

    And from an outsider's view of another "I Was There" project, try Soul of a New Machine by Tracy Kidder. Both books were required reading in Computer Science at college about 20 years ago.

    Now, is MMM still relevant in the current Microsoft-dominant environment, with a new Operating System every few years, impacting software development? Is the concept of software development still valid, or is it a matter of hobbling "off the shelf" solutions together?

    --
    Mod Karma -1: I sed bad wurds. If I cep my mouf shut, I wud be at riyses.
  10. Re:My Thoughts by EvilTwinSkippy · · Score: 4, Insightful
    Kinda funny. All that trash talk over the decades about C++ versus C, and who is still here.

    Like I care, I do most of my work in scripting languages. (IncrTCL if anyone cares.)

    --
    "Learning is not compulsory... neither is survival."
    --Dr.W.Edwards Deming
  11. Re:Am I the only one... by baywulf · · Score: 4, Informative

    It is a very thin book but I have only skimmed through it. The name of the book basically comes from this idea...

    If you were for example painting a big house or something it my take one man two months to complete. But if you had two men then it takes one month. The more people you add the faster the job it done. So we often talk about how many man months are needed to complete a job. But that are many tasks that cannot be made faster by adding more people. Brooks states that programming is one of those tasks. Adding too many people to the programming effort will only make it take longer because of interdependencies, communication and coordination required. The programmer and time are not fungible. We cannot simple expect to complete a project that takes 1 man 18 months with 18 men in 1 month. As you add more men the time improvements become less and less.

  12. Open source by Unnngh! · · Score: 5, Insightful
    From the article...

    There is a certain smugness at work in the idea that the architect will make better decisions here than the user will. Certainly this view is out of favor now. We normally try to find out what the user wants (somehow) and then find a way to design our software to provide this to them in the most sensible manner we can envision. I can't imagine saying "no" to the user regarding a feature...

    It seems that a lot of open source development actually adheres to the original architect premise here. In this case, the developer is the user and therefore knows best, at least for himself. I always find gathering requirements to be frustrating, and it never feels like a completed task. Especially when the developer is green in whatever industry they're developing to, the users can kill the usability of an app by nitpicking it to death--there is no real overall vision.

    It's a shame, IMO...

  13. Funny how Willis... by jbellis · · Score: 4, Insightful

    takes TMMM as an endorsement of everything XP. That's not what I took home from it...

    I guess eye of the beholder and all that. :)

  14. Infantile review by Thagg · · Score: 5, Insightful

    I believe it was Mark Twain that said "History doesn't repeat itself, but it rhymes."

    Picking on Fred Brooks' TMMM by noting it's anacrhonisms is about the most juvenile thing I can imagine. I can only surmise that the alleged reviewer was forced to read the book by somebody he did not like, and while he read the words he certainly didn't extrapolate the lessons to his present day situations.

    When I re-read The Mythical Man Month I can see, in every paragraph, perfect analogies to my work today, and the work I see of other people in other fields. I can't wait to have the reviewer look at The Soul of the New Machine and laugh about how people used to build CPUs out of discrete parts, and how therefore none of the lessons of that book have any applicability today.

    Who hasn't seen -- or lived -- an example of Brooks's "The Second System Effect?" The movie that I just finished working on, The Chronicles of Riddick was precisely an example of that paradigm with respect to Pitch Black. Every page of the chapter on The Second System Effect has one-to-one correspondences to the work on this movie.

    There are few things that I'm dogmatic about -- but Everybody needs to read this book!

    Thad Beier

    --
    I love Mondays. On a Monday, anything is possible.
    1. Re:Infantile review by EvilTwinSkippy · · Score: 4, Insightful
      Not only does everyone need to read this book, it needs to be kept on the shelf right next to their reference material.

      It's a book that requires a mature mindset to appreciate properly. (Kind of like object oriented programming.) It only makes sense after you yourself have hit the very walls the book describes.

      Shanon's theorum states that information is measured by it's surprise, what you weren't expecting. This book is one non-intuitive (at least to the layman) observation after another. But they are all true. And they all make sense once you are in the feild.

      It's that "you would have had to have been there" they makes the book such a difficult read to the layman and the newb. It's also what makes it so damn interesting to the veteren. You know you are ready for the book when every chapter you feel relief that you aren't the only person in the world who has gone through that.

      --
      "Learning is not compulsory... neither is survival."
      --Dr.W.Edwards Deming
    2. Re:Infantile review by r · · Score: 4, Insightful

      Picking on Fred Brooks' TMMM by noting it's anacrhonisms is about the most juvenile thing I can imagine. I can only surmise that the alleged reviewer was forced to read the book by somebody he did not like, and while he read the words he certainly didn't extrapolate the lessons to his present day situations.

      Indeed. The Brooksian concerns may be situated in a different era, but the reviewer's derision betrays a pervasive lack of understanding of the underlying constraints - and that within those constrainsts, Brooks actually makes some damn good points.

      For example, the APL story, where the reviewer ridicules the anachronistic idea of renting memory for software. And yet, he completely misses Brooks's larger point - that the cost of ownership for software is not just from the code itself, but from code plus the infrastructure it requires. Once we generalize it to modern kinds of infrastructure (e.g. bandwidth costs), we see the lesson is just as valid, and just as ruthless to those who haven't learned it.

      Not to mention other instances of missing the forest for the trees. Sure, Brooks may have foreshadowed XP and other strange team development approaches. But his points were much more fundamental - that team efficiency is sublinear with respect to team size and non-monotonic, that it peaks at fairly small team sizes, and then starts decreasing, etc. Indeed, this analysis did not merely foreshadow development styles - such analysis made them possible at all.

      But the author is a self-professed neophyte, so maybe this review should be taken with a grain of salt. :) However, it does make one wonder why O'Reilly would publish it. Are they that desperate for contributions?

      --

      My other car is a cons.

  15. Re:Am I the only one... by talexb · · Score: 4, Insightful

    And in fact as you add more people it takes longer and longer.

    The trick is to have a team just small enough that you get the project done as quickly as possible. It's sort of like the marginal revenue curve .. charge more and fewer people will buy the item, charge less and your profit is less.

    But the comparison to a surgical team is apt: You don't add more surgeons, necessarily, you add assistants to hand instruments to the surgeon, keep tabs on the patient, hold the light, etc.

  16. Re:Am I the only one... by AKAImBatman · · Score: 4, Interesting

    The programmer and time are not fungible. We cannot simple expect to complete a project that takes 1 man 18 months with 18 men in 1 month. As you add more men the time improvements become less and less.

    In other words, programmers tend to run afoul of Amdahl's Law. ;-)

    Actually, Amdahl's Law would probably be a good way of calculating the maximum effective team size. Unfortunately, it can be very difficult to ascertain a value for the "work" needed on a project. Not to mention the "human factor" of programmers who are faster, less experienced programmers, and "cowboy coders" who refuse to check any of their work into version control.

  17. Ed may be missing the point... by landoltjp · · Score: 5, Insightful

    [in response to a passage about developers needing their own machine (singular), and that it is supported]

    I just bet this is the root of all my problems -- I have not one but two machines all to myself at work. Do I have any systems programmers or operators? Not a one. It's a miracle I can accomplish anything at all, under the circumstances.

    Ed is missing the point here. I think that such a comment by the original author was based on the time-share days, not the more modern workstation days. "Back then", you all worked on terminals and did batch work on a central frame. Nowadays, the central server is good for no more than saving your Pr0n

    If one were to generalize, I think that it would be better to say that "Teams building core applications need a dedicated developent environment in which to work; a system that is up to the task, properly isolated, and properly supported"

    1. Re:Ed may be missing the point... by tommasz · · Score: 4, Insightful

      Brooks was writing in a time and for a time. Ed, as you've noticed, is reading the book in the now. Nothing wrong with that, but he spends far too much time in the beginning of the article laughing at Brooks' words and examples and too little time at the end in dealing with the principles that Brooks was trying to get across. Since the book is still widely read, it would have been far more helpful if he had stuck to a critique of Brooks' points in terms of today's software development environment.

    2. Re:Ed may be missing the point... by kpharmer · · Score: 4, Insightful

      > frame. Nowadays, the central server is good for no more than saving your Pr0n

      No, things haven't chanaged that much on many software projects.

      Want to develop with real data? It often makes sense to share a development database - that can be designed, populated, and maintained by the dba.

      Developing large, complex analytical applications? Is your production destination a massive cluster? Then you'll probably need a development environment that's at least a small cluster. And no - every developer doesn't get their own cluster.

      Need to interface with MQSeries, Websphere, a content manager, and a workflow manager? You really don't want to spend the time to get all that crap working on everyone's pc. Once again, you'll be way better off sharing a development server.

      etc, etc.

  18. Re:Am I the only one... by YetAnotherName · · Score: 4, Informative

    Right. My favorite way of helping "managers" see this is by rhetorically asking, "So, why can't nine women make a baby in just one month?"

  19. Programming Large scale systems by plcurechax · · Score: 4, Insightful

    I think Ed Willis missed one major point of Fred Brook's writing, and that is that when he was the manager of the OS/360 team, programming was focused on large system development. "Computers" weren't cheap microcomputers you store under the desk, but very expensive systems where priests (operators) in white robes (lab coats) keep it going, and commercial users were billed in dollars per seconds of computer time.

    Brook's writing is focused on programming large systems like operating systems, or major Information Systems (IS) like bank's accounting, or a Wall-Mart's inventory system. These are still large complex tasks, which isn't done using a couple of programmers sitting side-by-side writing a bunch of code on a couple of PCs.

    Willis' comparison to a classic book to modern programming method is laughable, because all those said modern methods (XP, Agile, iterative development, refactoring) were influenced by Brook's writings.

    IMHO Willis' piece at ONLamp wasn't very insightful and didn't do much for me. I would recommend to any new or young programmer to read The Mythical Man-Month, it's consider a classic for a reason and don't get bogged down with the historic context in which it was written or trying to poorly graft modern programming paradigms onto MMM.

  20. Re:Am I the only one... by fijimf · · Score: 5, Interesting


    The British equivalent would be C.A.R. Hoare's ACM Turing Award acceptance speech The Emperor's Old Clothes.

  21. Re:Am I the only one... by fijimf · · Score: 5, Funny

    Since one human year equals seven dog years, couldn't we save time while keeping the team size small by hiring dogs as developers?

  22. Re:A Classic Book by EvilTwinSkippy · · Score: 4, Funny
    Trained rats would be an improvement over modern IT managers. They will at least cease doing something that causes them to have their testicles electricuted.

    It warms my heart to see MBA's are getting real training. I hope some day to have to revise my targets of derision, and (gasp) perhaps raise my level of esteem of them above household vermin.

    --
    "Learning is not compulsory... neither is survival."
    --Dr.W.Edwards Deming
  23. Re:Still one of the best "I-was-there" books by Fulcrum+of+Evil · · Score: 4, Insightful

    Does Brooks' model change from that when the behemoth computers of the 60's walked the Tech World?

    No. Brooks' model is one of software development in general, so the particulars of what is being developed matter not at all.

    --
    "We returned the General to El Salvador, or maybe Guatemala, it's difficult to tell from 10,000 feet"
  24. Re:Still one of the best "I-was-there" books by dasmegabyte · · Score: 4, Insightful

    Why wouldn't it be? Back in the day, 8 man teams were stringing together different pieces of hardware with software. Now, we're stringing together difference pieces of software to create software packages. The complexity hasn't changed...because as software became abstracted, people began expecting more of it for their software dollar. In 1964, all people expected from an operating system was file operations and maybe some time slicing. Now, an OS better have a robust suite of networking tools and an MP3 player if it intends to compete. This is why so many people upgraded to XP, despite it being a mere evolutionary improvement over Windows 2000. It absorbed into the OS functions had previously been the auspice of the third party, and in doing so, (theoretically) streamlined them.

    It's no different than any other consumer market. Cars come with standard options that were top end ten years ago. What's top end now is pretty far removed from "just being a car," stuff like DVD navigation systems, radar nightvision and dynamic suspension systems. In another ten years, some of these will be standard on all cars, and what's top-of-the-line will be something that seems obscene and unnecessary to us right now.

    --
    Hey freaks: now you're ju
  25. No, Brooks' point goes beyond Amdahl's Law by JoeBuck · · Score: 4, Insightful

    Amdahl's Law just says there is a part of the work that can't be parallelized; in a system that follows Amdahl's Law, adding more resources always makes things slightly faster, though there are diminishing returns.

    Brooks' Law says that you can actually make the project later by adding more people. That's because the new people have to be brought up to speed, all the team members have to communicate, so you can lose more time than you gain.