• Taco (unregistered)

    Rewrite is King

  • Pippo (unregistered)

    You don't have permission to see this comment

  • s (unregistered)

    You don't have permission to see this page.

  • (cs)

    How many of these checks could be done at compile time with suitable support?

  • QJo (unregistered)

    Ah, the "whatafail" design technique.

  • (cs)
    Some folks use Waterfall

    I have not seen a true waterfall project in decades (even in military systems). If something is found to be horribly wrong (for a sufficiently large value of horrible) then there is always a mechanism for putting in a "change request".

    With true waterfall, once the spec is written, there are NO changes, no matter what, until the delivery is complete.

    That being said, the "40 hour paradox" is all too common. 66%-75% is much better loading in most cases, but management tends to not understand this.

  • An innocent abroad (unregistered)

    I thought that was called 'Waterfragile'.

  • QJo (unregistered)

    I got somewhat bruised and blistered on an agile project myself recently. Colossal amounts of time get wasted in meetings, including several man-days spent in meetings explaining what agile is and how it should be used. We were classified as either a pig or a chicken. Then it was pointed out that you have to be careful with such appellations, as certain cultures would take offence.

    Ultimately the project failed because it was being designed and built using the following analogy with the construction of a house. First we were to build the entrance hall, from foundations to roof, including installing of all the electrics and central heating system. Once that was done, and the prospective new owners were being shown round by the house agent, the front room was to be built, from digging of the foundations to etc. etc.

  • Doctor_of_Ineptitude (unregistered)

    I am confused. If I read it right, A.W. is a major dickhead for designing such a horrendous architecture. The only problem with the manager seems to be that he, umm, well over-managed stuff. But the IT fault it squarely on A.W., and he in this article he is bad mouthing the manager.

  • RFox (unregistered)

    I believe the actual name of this process is Watergate

  • Ray (unregistered) in reply to QJo
    QJo:
    We were classified as either a pig or a chicken.
    Sure you didn't work at this place?
  • faoileag (unregistered)

    Agile projects that are not much more than sub-projects managed by the waterfall method chained together and called "sprints"? Normal.

    An architect on an agile project? Not necessarily a contradiction, see Martin Fowler's Is Design Dead

    A 60 minute daily scrum??? 1st WTF.

    Additional 5 to 7 hrs a week for meetings? 2nd WTF.

    Running into problems with a schedule? Normal.

    An ACL for state variables??? 3rd, and biggest, WTF.

    If your objects represent "roles" that have a certain "authority" (or don't) to do things then your whole system must be role based. The idea that a central repository is queried every time when GUI->settings() wants to alter e.g. the Person->Name property is just simply hilarious.

    One can only hope that when they decided to rewrite the rewrite, they got themselves a new architect as well.

  • TheDaveG (unregistered)

    Project is over managed. Nothing new to see here. Move along.

    Ah, a real WTF. Architects over design a system. Classes calling PUBLIC setters have to be verified that that class can call that setter. Apparently somebody doesn't understand what PUBLIC means.

  • psuedonymous (unregistered)

    I'd have gone with Agilefall: not only are you plummeting towards the ground, but you've got to avoid obstacles on the way down.

  • Henrik Rune Jakobsen (unregistered)

    1 – Since time immemorial, new programmers have appeared in order to bring change to the world. They wish for a chance to show the world their skill and ability.

    And for their sins, they get it.

    2 – And then shall the young and inexperienced programmer proclaim loudly to all who will listen: “Those who came before me were ignorant and foolish.”

    Codethulu looks on, and says: “Well, go and see what you can do.”

    3 – The young and inexperienced programmer cries loudly to all who will listen: “This is not a program, but a refuse bin. At every turn I find snares to catch the unwary, pits of refuse and stinking entrails, and the very heart of it seems to be made of mud and sticks.”

    Codethulu looks on, and says: “Well, go and see what you can do.”

    4 – The young and inexperienced programmer cries loudly to all who will listen: “I cannot fix this. It is excrement. I can rewrite this from scratch in less time than it will take to make the changes you seek.”

    Codethulu looks on, and says: “Well, go and see what you can do.”

    5 – The young and inexperienced programmer cries loudly to all who will listen: “World, hear my cry: It would be faster and easier to cast this away into the deep, and begin afresh. I understand the way of the true methods; I will build an elegant tower rising up out of the remains of this awful rubbish.”

    Codethulu looks on, and says: “Well, go and see what you can do.”

    6 – Days pass, and seasons change. Projects fail, or succeed. The details may vary, but one thing does not.

    On the chosen day, the young and inexperienced programmer realizes that what he has constructed is simply a different collection of rubbish, mud and offal than that used by the previous tower.

    7 – Codethulu looks on, and says: “Now you have become one of us.”

  • anon (unregistered) in reply to QJo
    QJo:
    First we were to build the entrance hall, from foundations to roof, including installing of all the electrics and central heating system. Once that was done, and the prospective new owners were being shown round by the house agent, the front room was to be built, from digging of the foundations to etc. etc.

    That's not agile. It could very well be Scrum though.

  • faoileag (unregistered) in reply to Henrik Rune Jakobsen
    Henrik Rune Jakobsen:
    6 – Days pass, and seasons change. Projects fail, or succeed. The details may vary, but one thing does not.

    On the chosen day, the young and inexperienced programmer realizes that what he has constructed is simply a different collection of rubbish, mud and offal than that used by the previous tower.

    7 – Codethulu looks on, and says: “Now you have become one of us.”

    Nope. That is the moment the young and inexperienced programmer, realising that he will have to maintain the collection of rubbish, mud and offal he has created, quits.

    Although in my book of stories it was actually a senior developer who did this and his young(er) replacement actually managed to make do without a rewrite.

  • MrFox (unregistered) in reply to QJo

    That has nothing to do with Agile. Just bad managers who don't know about software development jumping on the next popular thing.

  • faoileag (unregistered) in reply to anon
    anon:
    QJo:
    First we were to build the entrance hall, from foundations to roof, including installing of all the electrics and central heating system. Once that was done, and the prospective new owners were being shown round by the house agent, the front room was to be built, from digging of the foundations to etc. etc.
    That's not agile. It could very well be Scrum though.
    No, not even Scrum.

    In Agile, you start the way the swiss do when a new house is build: they outline the dimensions with some wooden replacements indicating the corners (although they don't do it for the benefit of the person building the house).

    That's the first iteration.

    The next iteration would be to create a functional shell, i.e. erect the outer walls.

    Once these are accepted, you can put the roof timbering on the walls.

    Once the roof structure is accepted, you can put shingles (or whatever) on the roof and the interior walls in.

    Once the interior walls have been accepted... you get the message.

    Sadly enough, the department of planning and building inspection has a different approach, that being that everything has to be specified in a carefully laid out plan before construction may commence.

  • cybaz01 (unregistered)

    If you are putting ACL's on get/set routines, it doesn't matter which methodology you are using, you are going to fail

  • QJo (unregistered) in reply to Ray
    Ray:
    QJo:
    We were classified as either a pig or a chicken.
    Sure you didn't work at this place?

    Hah! It fits the model -- but not the date.

  • Meh (unregistered)

    An inappropriate mashup of waterfall and agile is called "Avalanche".

    Captcha: nulla.

    I can't believe that the ID column of this database is nulla-ble.

  • John (unregistered) in reply to psuedonymous
    psuedonymous:
    I'd have gone with Agilefall: not only are you plummeting towards the ground, but you've got to avoid obstacles on the way down.
    I thought Agilefall was when you jumped out of the airplane then held a meeting about designing a parachute.
  • Hasse de great (unregistered)

    There IS a official method for this: Water-Scrum-Fall, also named Enterprise scrum

  • (cs) in reply to John
    John:
    psuedonymous:
    I'd have gone with Agilefall: not only are you plummeting towards the ground, but you've got to avoid obstacles on the way down.
    I thought Agilefall was when you jumped out of the airplane then held a meeting about designing a parachute.

    Tomayto/Tomatoh - same thing.

  • John (unregistered) in reply to Hasse de great
    Hasse de great:
    There IS a official method for this: Water-Scrum-Fall, also named Enterprise scrum
    Enterprise:- Isn't that business talk for 10 times the price and half the functionality.
  • Maj najm (unregistered)

    Apart from the massive meetings, and the completely failed and late test this is pretty much dead on how every agile project I've ever worked on was planned...

    And when I was tricked into the role of team leader the meetings part was spot on as well.

  • Another40hours (unregistered)

    Read the first have, will read rest after I return from running a few errands...

  • anon (unregistered) in reply to John
    John:
    Hasse de great:
    There IS a official method for this: Water-Scrum-Fall, also named Enterprise scrum
    Enterprise:- Isn't that business talk for 10 times the price and half the functionality.
    Yes, but with XML! :-)
  • emaN ruoY (unregistered)

    What? No direct Monty Python references, yet?

    Those responsible for sacking the people who have just been sacked have been sacked.

    Okay, not directly relatable to the article.

  • Jack (unregistered)
    users could enter a new task-name in a web form, and the application would magically perform the described action.
    Hey! That's what my users want too. Did you open source the code for this perhaps?
  • (cs) in reply to s
    s:
    You don't have permission to see this page.
    You don't have permission to see this internet.

    (Also:

    "You don't have permission to see this universe."

    I saved all you a comment. You're welcome.)

  • Cameron (unregistered)
    Work more hours but don't bill for them. The consultants in Kerbleckistan knuckled under and did it.
    I found a way to deal with this. I was placed as a contractor by an agency. The agency billed for my hours, took a cut, and sent the rest to me. So any time I was asked to work unreported hours, I said I'd be happy to, but that would be cheating my agency out of their duly earned percentage.

    Most of the times people would immediately fold, not having a ready answer for that one. But if they tried to hold their ground, I'd say no problem, just let me call my agency and get their permission. I want to help you out, of course, but technically I work for them.

  • Len String (unregistered) in reply to QJo
    QJo:
    First we were to build the entrance hall, from foundations to roof, including installing of all the electrics and central heating system. Once that was done, and the prospective new owners were being shown round by the house agent, the front room was to be built, from digging of the foundations to etc. etc.
    No, no! That's not the way at all.

    It takes waaaay too long to build the entrance hall of bricks and wood and put in working appliances etc. just to have the owners say could you make this hallway a foot longer, and put the air conditioner over there instead?

    So you mock it up out of cardboard and paste on banner-sized photos of a real house. You take the owners for a walkthrough and they dictate all their moves and changes. You make them immediately by grabbing the cardboard walls and moving them a couple feet as requested. Eventually the owners say great, that's perfect, we're moving in tomorrow.

    Then they're astonished to find they got a cardboard house where none of the appliances have been hooked up.

  • Anon (unregistered)

    "All your variables are belong to us!", or sumfink like that.

  • (cs)

    Is it just me, or something else? When you get someone higher up doing "planning" and the "planning" has a life of its own. They look up the latest methodology that has lots of glowing words written about it, usually a single case where the proponent had success in his particular style, and attempts to implement this strategy on the project at hand.

    Then the WTFs come out of the woodwork, and not much (correct) gets done, or it doesn't get done in a timely fashion. Then the blame happens and the description ends up here at the Daily WTF.

    Maybe if the manager left well enough alone, things would be better, but somehow I doubt that this will ever happen. The people in the trenches will game the measurement system to their own benefit (several stories here) and it will all fall apart.

    Repeat and rinse. Life goes on.

  • (cs) in reply to Henrik Rune Jakobsen
    Henrik Rune Jakobsen:
    1 – Since time immemorial, new programmers have appeared in order to bring change to the world. They wish for a chance to show the world their skill and ability.

    And for their sins, they get it.

    2 – And then shall the young and inexperienced programmer proclaim loudly to all who will listen: “Those who came before me were ignorant and foolish.”

    Codethulu looks on, and says: “Well, go and see what you can do.”

    3 – The young and inexperienced programmer cries loudly to all who will listen: “This is not a program, but a refuse bin. At every turn I find snares to catch the unwary, pits of refuse and stinking entrails, and the very heart of it seems to be made of mud and sticks.”

    Codethulu looks on, and says: “Well, go and see what you can do.”

    4 – The young and inexperienced programmer cries loudly to all who will listen: “I cannot fix this. It is excrement. I can rewrite this from scratch in less time than it will take to make the changes you seek.”

    Codethulu looks on, and says: “Well, go and see what you can do.”

    5 – The young and inexperienced programmer cries loudly to all who will listen: “World, hear my cry: It would be faster and easier to cast this away into the deep, and begin afresh. I understand the way of the true methods; I will build an elegant tower rising up out of the remains of this awful rubbish.”

    Codethulu looks on, and says: “Well, go and see what you can do.”

    6 – Days pass, and seasons change. Projects fail, or succeed. The details may vary, but one thing does not.

    On the chosen day, the young and inexperienced programmer realizes that what he has constructed is simply a different collection of rubbish, mud and offal than that used by the previous tower.

    7 – Codethulu looks on, and says: “Now you have become one of us.”

    Sadhu, sadhu.

  • ¯\(°_o)/¯ I DUNNO LOL (unregistered)

    I particularly appreciate how this company managed to produce a system that works as efficiently as the company itself.

  • Jack (unregistered) in reply to herby
    herby:
    Is it just me, or something else? When you get someone higher up doing "planning" and the "planning" has a life of its own.
    Just a few weeks ago we had $everal expen$ive con$ultant$ join us for a week of meeting$ to di$cu$$ what we're going to do about a new requirement that absolutely must go live by December 31 or we lose our entire revenue stream.

    At the end of the meetings we had a meeting (surprise!) to present our fine work.

    The chief consultant said: Here's the plan we've put together for you. We need two managers and a consultant (surprise!) for six months. The first three months these three people will be dedicated to planning. The next three months they will hold meetings with all the departments that will be affected by the new edict, to help those departments put together their plans.

    That's right. After a week's work we proudly presented a plan to create a plan to create a bunch of plans.

    It never occurred to anyone that in addition to the two managers and the consultant developing plans, we might need someone to actually do anything. They figured once all the plans were documented, we're finished!

    Yeah. Come January, I'm pretty sure we will be finished.

  • Dazed (unregistered) in reply to TheCPUWizard
    TheCPUWizard:
    With true waterfall, once the spec is written, there are NO changes, no matter what, until the delivery is complete.
    Where on earth did you get that idea? I've worked on over a dozen waterfall projects, for about a dozen organisations, in four different countries, and I've never met anyone who used that definition before.

    It's true that one commonly tries to keep the number of changes down, (and sometimes people try too hard) but I've never met a project so benighted as to try to forbid them completely.

  • Dereleased-work (unregistered) in reply to Ray
    Ray:
    QJo:
    We were classified as either a pig or a chicken.
    Sure you didn't work at this place?
    Or this one?
  • (cs)

    TRWTF is most people that think a rewrite shouldn't be simpler than what it's replacing.

  • (cs) in reply to chubertdev
    chubertdev:
    TRWTF is most people that think a rewrite shouldn't be simpler than what it's replacing.
    TRWTF is people who think all rewrites happen for the same reason.
  • (cs) in reply to Zylon
    Zylon:
    chubertdev:
    TRWTF is most people that think a rewrite shouldn't be simpler than what it's replacing.
    TRWTF is people who think all rewrites happen for the same reason.

    Let's hear some reasons as to why a rewrite should be more complex.

  • anonymous (unregistered) in reply to chubertdev
    chubertdev:
    Zylon:
    chubertdev:
    TRWTF is most people that think a rewrite shouldn't be simpler than what it's replacing.
    TRWTF is people who think all rewrites happen for the same reason.

    Let's hear some reasons as to why a rewrite should be more complex.

    Scope creep.

  • (cs) in reply to anonymous
    anonymous:
    chubertdev:
    Zylon:
    chubertdev:
    TRWTF is most people that think a rewrite shouldn't be simpler than what it's replacing.
    TRWTF is people who think all rewrites happen for the same reason.

    Let's hear some reasons as to why a rewrite should be more complex.

    Scope creep.

    "should" != "can"

  • anonymous (unregistered) in reply to chubertdev
    chubertdev:
    anonymous:
    chubertdev:
    Zylon:
    chubertdev:
    TRWTF is most people that think a rewrite shouldn't be simpler than what it's replacing.
    TRWTF is people who think all rewrites happen for the same reason.

    Let's hear some reasons as to why a rewrite should be more complex.

    Scope creep.

    "should" != "can"

    Situation: Your boss's nephew just made an awesome Hello World program. Your boss wants you to morph it into an appointment scheduler. Go.

  • (cs)

    Send him an email with "Hello, world!" in it, and tell him that it's been integrated with Outlook, then show him the scheduling functionality. Bam.

  • (cs) in reply to anonymous
    anonymous:
    chubertdev:
    anonymous:
    chubertdev:
    Zylon:
    chubertdev:
    TRWTF is most people that think a rewrite shouldn't be simpler than what it's replacing.
    TRWTF is people who think all rewrites happen for the same reason.

    Let's hear some reasons as to why a rewrite should be more complex.

    Scope creep.

    "should" != "can"

    Situation: Your boss's nephew just made an awesome Hello World program. Your boss wants you to morph it into an appointment scheduler. Go.

    Also, "should" != "can"

    Not sure what you didn't get about that.

  • Will (unregistered)

    Should be called WaterFail!

Leave a comment on “Waterfagile”

Log In or post as a guest

Replying to comment #432842:

« Return to Article