Forgot your password?
typodupeerror

Tim Lister on Project Sluts and Strawmen 128

Posted by CowboyNeal
from the fancy-lingo-for-good-sense dept.
cramco writes "Tim Lister, principal of Atlantic Systems Guild and co-author of 'Waltzing with Bears: Managing Software Project Risk,' and 'Peopleware: Productive Projects and Teams' talks about the patterns that help determine software success or failure. Patterns good and bad include project sluts, Brownian motion, the strawman, and the safety valve."
This discussion has been archived. No new comments can be posted.

Tim Lister on Project Sluts and Strawmen

Comments Filter:
  • by Anonymous Coward on Thursday July 12, 2007 @07:53PM (#19844691)
    The whore my book pattern.
    • by neoshroom (324937) on Thursday July 12, 2007 @08:34PM (#19844921)
      The whore my karma pattern.
      • Re: (Score:1, Funny)

        by Anonymous Coward
        The whore my karma pattern.

        Oh, looks who's talking... ;)
      • by Anonymous Coward
        It was actually a typical example of the Anonymous Coward pattern
      • Re: (Score:3, Informative)

        by un1xl0ser (575642)
        You don't get karma for 'Funny' posts. This is a pretty informative post, I reckon.
    • by smitty_one_each (243267) * on Thursday July 12, 2007 @08:47PM (#19844987) Homepage Journal
      The WMB pattern is really a specialization of the traditional whore_my_product pattern.
      Specializations of the WMP pattern invoke a whore_method() call, with returns along the lines of:
      • Cheesy sex tape leak
      • Customs bust while travelling
      • Messy divorce, with optional taped calls to children
      • Wardrobe malfunction
      • Altercation with police, typically un-sober
      • Provocative language directed at another media/political personality
      • Endorsement of whacky fad (911-truther, Holocaust denier, global warming radicalism)
      The whore_method() takes no arguments initially, but always throws a very public exception, littering the cable news stack with arguments.
      In the absence of actual news, natural disasters, or death-porn, these arguments can reverberate on the cable news stack for weeks, becoming tedious.
      The quality of the product varies inversely to the tastelessness of the whore_method(): real artists just deliver the goods.
  • by NeuralAbyss (12335) on Thursday July 12, 2007 @07:59PM (#19844713) Homepage
    Looks like yet another slashvertisment for an upcoming book/conference.

    It's a nice start, but lacking any real depth - the article could be summarised in one or two sentences, listing a number of good and bad practices. I know it's stripping people of their $DEITY-given right to derive fiduciary advantage from relaying information and opinion, but can we please have some /real/ in-depth software engineering articles for once in a while?
    • by tomhudson (43916)

      That's not what a quicky article is for. And the book sounds interesting enough after reading the blog entry that I'd consider buying it. I recognize the brownian motion pattern (been there), the dead fish pattern (been there), and if I had the book, I'd probably recognize a few others.

      The books' value is two-fold: an interesting read, and being able to put it under other people's noses and say "Hey - THIS is what we should be doing!" I'm a big fan of the "test before you test" pattern, the strawman - t

    • I don't understand why are these supposed to be relevant to software engineering ( not comp science). This is true for any engineering activiy. I simply don't agree that software engineering is much more complex than Designing a product or civil engg. I think they are even more complex as the constraints can be more physical in nature with a much larger number of people involved.
      • by NeuralAbyss (12335) on Friday July 13, 2007 @07:27AM (#19847539) Homepage
        Software engineering is not art as a whole, but there are facets where the decomposition and implementation of a software system can be viewed as an artform. Personally, my view is that it is seen as an art not only because of the creative aspect of programming (algorithm design or selection), but also due to the lack of maturity of the software engineering industry.

        Industries such as Civil Engineering have had centuries of refinement, whereas the SE industry is relatively young, only really developing in the last half-century. We haven't had the same amount of time to derive generic methods to decompose systems, and as a whole, the industry acts as a set of disconnected islands - predominantly, not sharing information or practices.

        In the last couple of decades, there have been forward strides made with regards to identifying patterns and other generic, reusable software engineering assets, but the overall industry is still immature. In addition, the diversity of projects leads to a higher degree of perceived (and perhaps, actual) complexity - to take a Civil Eng analogy, one day we (Software Engineers) are building bridges, the next we'll be building a space elevator, and the day after, constructing a skyscraper.

        My personal belief is that it's a matter of time before software engineering as an industry matures, and before that occurs, the degree of sharing and derivation of generic, reusable software components needs to increase rapidly.
        • by tc9 (674357)
          Excellent summary, Inciteful of the challenges ahead, and I have no mod points, but nothing to add, either.
    • [...]but can we please have some /real/ in-depth software engineering articles for once in a while?

      Ummm ... No.

  • by khasim (1285) <brandioch.conner@gmail.com> on Thursday July 12, 2007 @08:00PM (#19844719)
    You get the project.

    You get the people for that project. You work to form them into a team that can handle that project.

    You adjust the specs as the project evolves until it either dies or hits the target.

    Yeah, it's a bit more complicated than that. But that's the basics. Any company that has people juggling multiple projects is going to have problems. The same with any company that forms teams without projects.

    And getting together with your co-workers after work just so you can bond? Fuck that. If it happens, it happens. But do NOT try to institutionalize it. All you'll do is end up with a bunch of people waiting for the first person to leave so they can all go home to their families.
    • by GizmoToy (450886)
      Sounds dead-on to me.
    • by neoshroom (324937) on Thursday July 12, 2007 @08:43PM (#19844971)
      And getting together with your co-workers after work just so you can bond? Fuck that. If it happens, it happens. But do NOT try to institutionalize it. All you'll do is end up with a bunch of people waiting for the first person to leave so they can all go home to their families.

      Obviously, you hold their families hostage at an undisclosed location until the conclusion of the bonding is complete. [wikipedia.org]
    • Re: (Score:2, Interesting)

      by Repossessed (1117929)
      I've seen organized get together work pretty well actually, It's all about how you go about doing it. Do *not* make it mandatory, or even suggest that it should be. Instead offer a non-work related incentive for people to come. (Free pizza/beer/bowling alley fees, or whatever will be attractive to your team). The people who want to show up to an event do so, the people who don't go home. If somebody has a bad time, they only have themselves to blame (or maybe an offending coworkers).
      • Well, yes, if it's well organized and everything, it can work and I've seen it work even without any freebies (though they help.) No arguments there.

        What makes people shudder at the thought of institutionalizing it, though, are experiences of places where it was institutionalized in all the wrong ways. E.g., they were mandatory (complete with roll call or signing your name on a list, and emails reminding everyone that they damn better have a great excuse if they dare not show up), _and_ instead of socializ
    • Re: (Score:3, Insightful)

      by Alpelopa (864348)
      Lister promises to provide advise on how to stop bad project management patterns and how to promote good ones within an organization. Presumably different patterns lend themselves to different techniques. If both the patterns and the techniques were obvious, bad project management would never occur. But alas, like democracy, good management is not an organizational pattern folks just fall into naturally absent impediments.

      It would also appear from the interview snippet that the authors plan to use a patt
      • by chromatic (9471)

        A few more ideas for how to change that perception could be useful.

        As them for first-hand evidence that a waterfall project has ever met the needs of its users and ended on time and at budget.

        You might not want to try this if you work for NASA. I hear they actually do have one example.

    • by JaredOfEuropa (526365) on Friday July 13, 2007 @03:59AM (#19846789) Journal
      So aspriring project managers do not need books like Lister's, they can just read your post and know all there is to know? The point of books like these is to take a critical look at the set of common practices you call "basic project management", examine the good and bad parts, and suggest better alternatives.

      You get the people for that project. You work to form them into a team that can handle that project.


      Lister talks about getting the right people for that project, and that means that you don't fully staff it before you know what you're going to need.

      You adjust the specs as the project evolves until it either dies or hits the target.


      There are still managers out there who think that the specs that were agreed up front are set in stone, and not to be changed. Even if you do change them, when do you adjust the specs and how do you go about it? As far as I can see from the short article, these are questions addressed by this book.

      There are enough managers who still royally screw up the "get people", "build the team" and "adjust specs" jobs, to warrant a book on the subject. There are a fair few out there already and I haven't read this one, but if Lister's previous work is anything to go by it might be a worthwhile read.

      And getting together with your co-workers after work just so you can bond? Fuck that. If it happens, it happens. But do NOT try to institutionalize it. All you'll do is end up with a bunch of people waiting for the first person to leave so they can all go home to their families.


      I tend to agree with you there, but you can be a bit more creative than either doing nothing to socialise or saying "we *are* having drinks this Friday afternoon". A manager can certainly make a difference in how a team bonds, and for those managers I have three magic words: "during office hours". Take the team out for a nice 3 Martini lunch, or an afternoon of paintball. The cost of doing this during work hours looks daunting on the spreadsheets, but it will generally earn itself back a few times over.
      • by kent_eh (543303)
        A manager can certainly make a difference in how a team bonds, and for those managers I have three magic words: "during office hours".

        How timely.

        Last month, our GM had scheduled for the whole office to go to an afternoon baseball game on a Thursday. Unfortunately it got re-scheduled due to the game being rained out. No biggie, it happens.

        The re-scheduled event is today, we're going to a football game.
        In the evening.
        A friday evening.
        Staff only.

        I think less than half of the staff are going, as opposed to nea

    • Yes and no (Score:4, Insightful)

      by Moraelin (679338) on Friday July 13, 2007 @04:18AM (#19846863) Journal
      Well, yes and no. Probably most people have some intuition the basics, but:

      1. Some people are just incapable of implementing them, or can't be arsed.

      2. Some people are operating in a brain-dead rules zone.

      E.g., it's easy to say "hiring lots of people before you know what you'll use them for is wrong" (what he calls "brownian motion"), but sometimes lobotomized corporate rules twist one's arm to do exactly that. It could be that you have a fixed time window to do the hiring, or the ever popular "if we don't use this year's budget fully, we'll get a budget cut next year", etc. You'd be surprised how many anti-patterns are really just work-arounds for rules that sounded good on paper, to someone who's (A) not qualified to take that kind of decisions, (B) bored enough to take them anyway, or a new boss pissing on everything to mark his territory, (C) way too far disconnected from the data to base those decisions on, (for example by being several hierarchy levels too high, or in a whole different brach of the hierarchy altogether, and having no communication level to the people who actually know what's happening there), and (D) shielded from the effect of bad decisions (e.g., if there are any good results it's his merit, if it goes south fast, it's the fault of the henchman who had to implement them.)

      Heck, you've given a very good example yourself. Even good ideas can be turned into bad and annoying rules, and there are a lot of places where exactly that happens. Bonding between people can be a good idea, and it can even be helped along a bit (but it's hard and most people don't have the necessary skills.) But then department A comes with a rule that says "thou shalt meet with your team mates at a pub once a week" (more often is always better, right?), department B comes and says, "but thou shalt do it on their free time, because we're not paying you lot to sit around and chat", department C comes and says, "and we're not paying for it", a boss change comes at department A and says, "nah, thou shalt use a meeting room, it's cheaper", and boss D come and says, "cool, I'll come along and motivate people with a speech. What could be more bonding and motivational than everyone hearing how great I am, and how any good results are due to my enlightened leadership?" What started as a good idea, was turned into the perfect recipe for a morale disaster.

      (And, sadly, the above paragraph isn't made up. I know one place where exactly that setup was institutionalized.)

      3. Some people operate on bogus data, and often are deliberately fed bogus data, for example by some underling who has something to gain from forcing a bad decision.

      E.g., manager X figures out he'd get a promotion if he got just 5 more people under him (usually again a case of brain dead rules), so he'll actually support anything that makes it look like his project needs more people. Or will actively argue for "brownian motion" kind of arguing.

      E.g., I've actually seen one sad case where someone sabotaged his own project just to show everyone that Java sucks, unlike his beloved VB. The guy not only couldn't be arsed to actually manage that project, and spent 90% of his time trying to manipulate unrelated non-technical managers (this wasn't a software house but a manufacturing corporation with an IT department) into seeing it all as "that's the kind of extra complexity Java produces), but actively changed specs or introduced random new requirements when the project looked like it was getting anywhere.

      4. Some are just dishonest fucks, and just follow their own goals, which aren't the same as the company's goals. E.g., the guys mentioned at the previous point.

      5. Some actually know what should be done, but don't have the spine or the authority to counter client aikido maneuvers.

      E.g., saying "you should first make a disposable low-cost prototype" is good and fine. But I can tell you first hand that in a lot of cases the client has no clue what's the difference between a HTML prototype and a full
      • Re: (Score:3, Insightful)

        by psmears (629712)

        E.g., saying "you should first make a disposable low-cost prototype" is good and fine. But I can tell you first hand that in a lot of cases the client has no clue what's the difference between a HTML prototype and a full working program. A lot (most?) non-technical clients think the hard part is placing the buttons or getting the colours right, so if the prototype looked right, that must be almost ready as the application goes.

        Very true—non-technical people judge how ready your application is and how well it is built by how pretty it looks. A useful technique for dealing with this problem is to turn it to your advantage: for your prototype, make sure it is as ugly as possible while still achieving its aims (e.g. mismatched fonts, badly aligned fields, poorly chosen colours, blocky graphics etc). With luck, your customers will agree that it sort of does the right thing, but couldn't possibly be used as a basis for future w

    • Re: (Score:3, Informative)

      The biggest problem in many companies is, in fact, getting the project instead of choosing not to get it. This is mentioned in the article and referenced in the summary.

      So you've missed the most basic thing of all.

      Be careful in oversimplifying for no purpose other than to be dismissive of somebody else's opinion or even expertise. Being modded insightful by Slashdot on people issues isn't much of an endorsement.
    • That is a pretty good assessment. The problem is almost always with the personnel involved, whether it be managers, or the workers.

      As for not wanting to hang out with your co-workers...that is indicative of the quality of our coworkers (i.e., they probably suck). I would love to hang out with my coworkers. As soon as my company hires a few competent human beings, I'll be all over it!

    • by Rogerborg (306625)

      Basic reading comprehension is another important skill. It's just a shame that you answered the article without bothering to either read or comprehend it first.

      In what way is "setting up opportunities for people to get to know one another outside of work" equivelant to "[institutionalizing] getting together with your co-workers after work just so you can bond"?

      If I wanted to pay someone money to fix my development process, I can be pretty sure that the only thing I'd pay you for is to obtain Lister's p

  • Dreamtime. (Score:1, Informative)

    by Anonymous Coward
    Another good book to read is: Dreaming in code by Scott Rosenberg.
  • by AuMatar (183847) on Thursday July 12, 2007 @08:03PM (#19844743)
    Let me tell you, nothing motivates me more at work than a project groupie who will bang me for completing on time.

    What do you mean not that type of slut?
  • by darekana (205478) on Thursday July 12, 2007 @08:07PM (#19844767) Homepage
    But I still can't imagine being in a meeting and telling the boss...

    Sir... are you trying to make us into "project sluts"?
    Where we bang any project that has a spec?

  • by vux984 (928602) on Thursday July 12, 2007 @08:16PM (#19844803)
    FTFA...

    Lister: I get chills when I hear that phrase. From my point of view there are some pretty good practices, but no best practices ... I'd like people to think about patterns - abstracting their work and recognizing the patterns they're in, good and bad, and making informed decisions to promote those patterns or replace them.

    So, Lister... would thinking about patterns be a best practice?

    Uh-oh! the chain of logic has been attached to itself, we're trapped in a circle from which there is no escape!!

    • by Kreigaffe (765218)
      Good thing we're not in a film or tv show from the 1970s or our computers would be exploding!
      • by Arimus (198136)
        What you mean they are not suposed to have smoke and sparks comming out of them? Why did noone tell me this before...
    • So, Lister... would thinking about patterns be a best practice?

      While I agree with you that talking about positive things is more important, I have to say that as a person who currently working on a dead project, I found this article to be very helpful. At least as a reference: now I can tell my boss, why I think our project was born dead and refer him to this article.

  • From TFA (Score:2, Funny)

    by guzzirider (551141)
    "My dad once said, "it's hard to hate someone when you know their name."

    Well Adolf Hitler comes to mind, I know that name ...
  • by Anonymous Coward on Thursday July 12, 2007 @08:55PM (#19845021)
    Similar to the project slut pattern, but instead of saying "yes" to each project, multiple projects are forced on you, whether you can take it or not. Can lead to many "dead fish" projects (and bad jokes dealing with fish and fish smell).

  • strawman (Score:4, Insightful)

    by KillerCow (213458) on Thursday July 12, 2007 @09:09PM (#19845091)

    One of the best is strawman: building low-fidelity, low-cost prototypes for projects even if you know the approach isn't right.


    Yes, it's an awesome idea until some PHB doesn't realize that software development is like and iceburg [joelonsoftware.com] and forces dev to use the prototype as the production version.

    "But, it looks 90% done!"
    • Re:strawman (Score:5, Interesting)

      by Shados (741919) on Thursday July 12, 2007 @09:18PM (#19845151)
      I had to quit a job because of that. My boss kept asking me to make prototypes to prove concepts, which I did...then ask me to build entire ERP and CRM systems around the prototypes, which obviously was impossible within the constraints given, and definately impossible to keep maintainable, and mostly secure (they were web based systems exposed to the net, and the prototypes were not security aware...). I quit rather than take the responsability behind that...
      • Re:strawman (Score:5, Funny)

        by xero314 (722674) on Thursday July 12, 2007 @10:58PM (#19845625)

        My boss kept asking me to make prototypes...then... build entire ERP and CRM systems around [them]
        I'm guessing you used to work for SAP.
      • Re:strawman (Score:5, Insightful)

        by SpaghettiPattern (609814) on Friday July 13, 2007 @01:03AM (#19846109)
        quit rather than take the responsability behind that...
        I know what you mean. However, my experience is that doing the contrary and to NOT code until everything is documented and blessed by everyone is the wrong way to do it. In large organisations (which where I work mostly), before the documentation is finished a couple of project leaders have come and gone. The GO AHEAD AND CODE is given in despair, the concepts in the docs are overtaken by evolution and the bright people have left.

        I am willing to take on a bit more responsibility to have more fun at my work. Having said that, I live in Europe and over here things like responsibility/liability are taken differently than in the US.
        • by Shados (741919)
          I am not american :)

          And there is a difference between coding before the specs are set in stone, and building over a prototype. Its 2 totally different, 100% unrelated things.
    • Re: (Score:2, Interesting)

      by fractoid (1076465)
      Oh god, don't remind me. That is, in my mind, the biggest weakness of rapid prototyping. You get an interface, sometimes a whole product mocked up to "is that how you like it, mr beeblebrox?" level, and suddenly your boss / project manager / client is thinking "wow, it's nearly finished!" followed by the inevitable "well, that works, let's just use that!"

      And then they blame you when they realise that the prototype is actually a flaky piece of s#!t because all it was designed to do was pretend to be the pr
      • by Torvaun (1040898)
        This is why you must always be very careful when displaying the prototype to mention that this is not a functional product, and make some sort of analogy to movie trailers.
  • [["We also see a pattern called dead fish. This is a project that is doomed from the start because the schedule is outrageously unrealistic."]]
    Checking Amazon, Edward Yourdon's "Death March, Second Edition" was released in 2003, I had not realized there was a second edition: "...companies continue to create death-march projects, repeatedly! What's worse is the amount of rational, intelligent people who sign up for a death-march project - projects whose schedules, estimations, budgets, and resources are s
    • Re: (Score:2, Insightful)

      by dr.g (158917)
      The very worst thing about "dead fish" and "death march" projects is how easy it is for ANYONE to label the Bringer of Bad News (i.e.: he who points out the hard, cold realities) a NEGATIVE INFLUENCE. This then reinforces the more cynical attitude of just shutting up and letting shite hit fan, especially if by doing so, OTHER PEOPLE will be splattered with said shite. Sad that by this, one becomes known as a "team player". Bleh.
      • The Google query (( "KICKING THE CAN DOWN THE ROAD" debt social )) verifies this latest catchphrase for what is indeed such a fundamental issue. (( "Tragedy of the Commons" HARDIN )) fetches Garrett Hardin's Ur-Rant on this. Another favorite game-theory-phrase is "Individually Rational". I have read a couple of Hardin's books, what I like best is his recognition of "Adverse Selection" - yes you can call for sacrifice, and some people will, and then those folks are Gone... War isn't about who's right, it'
      • by platypus (18156)
        "Either you are part of the solution, or you are part of the problem." ... I hate that saying
  • What I find laughable about this post and the Atlantic Systems Guild in general is that they seem to think that a system is only about software. A system is about far more than just application software, especially in a enterprise production environment where things like security, system monitoring, back-up/restore, operations etc are just as important as any end user experience.

    A pattern that is probably completely beyond their competence horizon is where the application developers do not know where the
  • Are the abstraction heuristics beyond further synergy? Can Idiomatic Representations still be Frameworked into Generic Self-Similarities? Is the bullshit stinking so bad that even the middle management is shying away from the cows?
  • by stewbacca (1033764) on Friday July 13, 2007 @02:12AM (#19846371)
    Why am I not surprised that a bunch of slashdot nerds are on the defensive just because a project manager points out a couple of common project problems? One of the main problems in any project is when the low-man-on-the-totem-pole thinks he knows better than the manager. That's exactly what this discussion thread has turned into so far.
    • by DrXym (126579)
      Why am I not surprised that a bunch of slashdot nerds are on the defensive just because a project manager points out a couple of common project problems?

      Defensive or just tired of seeing yet another medicine show promising to cure all ills with their wonder tonic?

    • by Shados (741919)
      Yup, i'm exactly in that situation right now. Some hot shot wanna be developer, who thinks he knows everything and has a bit too much influence, is making changes in the project scope constantly. So now we went from a scope that meant "Holy crap, this is gonna be some rough deadlines" to "err...I'm going to retire before this project is halfway through..."
    • Why am I not surprised that a bunch of slashdot nerds are on the defensive just because a project manager points out a couple of common project problems? One of the main problems in any project is when the low-man-on-the-totem-pole thinks he knows better than the manager. That's exactly what this discussion thread has turned into so far.

      I work for a very large bank (actually, now the largest in the country) and am a software testing project manager. I did QA and testing for about 13 years before this, and

    • by Rycross (836649)
      Bullshit. The manager is not some infallible perfect being. Sometimes the low-man-on-the-totem-pole does know better than the manager. The manager doesn't have 100 percent of the information because he isn't working on the software. The coder doesn't have 100 percent of the information because he isn't working with all the other developers and the clients. The key is communication, and both parties being able to recognize when they need to listen to the other.

      The "management always knows best" screeds
      • My balls are bigger than my paycheck ;-) I agree with what you've posted too. What I originally meant is that the low-man that THINKS they know everything is the problem, but not that all low-men are that way. Of course a bad manager who doesn't know what the hell is going on is even worse.
    • People that actually do real work know more about the project then the PHB. Why is that hard to understand?

      Granted in the case of the .001% of managers that could find their ass in broad daylight with a map you might have a point. You don't sound like one of them so I'd say the discussion is moot.

  • ... of project managing agile systems.

  • by Anonymous Coward
    I'm posting this from a different machine to my normal office workstation because my corporate firewall blocks the slashdot front page due to that sl*t word.
    • by xappax (876447)
      I'd like to recommend finding a job that treats its staff with a base-level of respect and trust, instead of complaining that Slashdot doesn't preemptively self-censor for the convenience of your employer.
    • by pclminion (145572)
      Yes. We will hereby implement censorship of Slashdot just so YOU can read it.
    • I've got to get my boss to lax NetNanny on my computer. I can't read any articles containing the words "safety valve".
  • I knew damn well 'Project Sluts' wouldn't be what I hoped, and went and read the article anyway. Damn tease sucked me in without any follow through...

    I was kinda hoping for something like the cute dev who gave many of us lap dances at an office party before the bubble burst in 2000.

When all else fails, read the instructions.

Working...