Slashdot Mirror


World's Biggest 'Agile' Software Project Close To Failure

00_NOP writes "'Universal Credit' — the plan to consolidate all Britain's welfare payments into one — is the world's biggest 'agile' software development project. It is now close to collapse, the British government admitted yesterday. The failure, if and when it comes, could cost billions and have dire social consequences. 'Some steps have been taken to try to rescue the project. The back end – the benefits calculation – has reportedly been shifted to a "waterfall" development process – which offers some assurances that the government at least takes its fiduciary duties seriously as it should mean no code will be deployed that has not been finished. The front end – the bit used by humans – is still meant to be “agile” – which makes some sense, but where is the testing? Agile is supposed to be about openness between developer and client and we – the taxpayers – are the clients: why can’t we see what our money is paying for?'"

17 of 349 comments (clear)

  1. Agile doesn't mean that the project won't fail by kthreadd · · Score: 5, Informative

    But it might make it clear that it will fail much earlier and then at a lower cost.

    1. Re:Agile doesn't mean that the project won't fail by Anonymous Coward · · Score: 5, Insightful

      ...since there is daily accountability and you're working on smaller pieces.

      So that means it's impossible to do anything big or that requires extended planning? Sometimes a developer needs to be left alone for a week to come up with something good. Regimenting the process into days and forcing a daily bullshit update is just abusive to the creative process.

    2. Re:Agile doesn't mean that the project won't fail by tgd · · Score: 5, Interesting

      Pretty much this exactly. Also, it's tough to get programmers and managers who have never worked in an Agile environment to buy into it. My company started using it 4 years ago and we still have a few holdouts despite the obvious benefits in both productivity, cost and simply a better work environment for everyone. Hell, I think the best part about the Agile process is those one or two guys on a piece of a project that never seem to do anything and could end up causing drama simply doesn't happen in a proper Agile setup since there is daily accountability and you're working on smaller pieces.

      "Waterfall" -- i.e., the "old fashioned" way of doing things -- does one thing very well that Agile loses. And that thing is something that was understood for a century of large project management planning. Waterfall ensures quality with a team of varying abilities, or large teams. Agile ensures predictable delivery, but quality is very dependent on the individual abilities of the team members.

      Anyone who has done large projects would know immediately that you don't do a billion dollar project with a pure Agile methodology. You simply can't get enough people who are strong enough to deliver a quality output without a very high amount of formal planning and progress gates.

      The most successful large (multi-hundred engineer) projects I've seen in the last five years tend to use waterfall for the overall project, but encourage teams to run their parts of the work in an agile manner. You get the visibility into progress that way, but the formality of process to ensure you're really building the cohesive system right.

    3. Re:Agile doesn't mean that the project won't fail by Anonymous Coward · · Score: 5, Interesting

      The short(er) and honest version is that projects like that are inclined to fail, spectacularly and at great expense, whilst everyone on the job gets paid either way.

      People are either accountable or not. When you have teams of "project managers" that don't know shit about shit, shoveling ridiculous and disparate feature changes into the (often offshore) dev shops inbox, while their programmers simply crank out code to match, you're begging for the whole thing to go right in the toilet.

      Large consulting firms like Accenture build their entire business around this kind of approach. The result is always a failure that costs millions (or in this case billions) of company/government dollars on a product that doesn't do what it was supposed to.

    4. Re:Agile doesn't mean that the project won't fail by gutnor · · Score: 5, Interesting

      Actually Agile would probably handle mediocrity quite well, at least making it apparent.

      What agile really sucks at is handling the political aspect of the project, because simply agile requires complete honesty and honesty does not scale very well above a small team. In a very large project involving loads of teams, management is a lot closer to a poker game and you don't win at poker by showing your cards to all the players.

    5. Re:Agile doesn't mean that the project won't fail by ShieldW0lf · · Score: 5, Interesting

      I hate to break it to you but "fully defined requirements analysis" is a pipe dream filled with rainbows and unicorns. I have never, not once, seen a requirements document that accurately captures exactly what the system will do.

      Well, I've written them, and I've never had a project fail.

      One example involved interviewing

      i) the owners of the company

      ii) an executive from each department

      iii) a "regular joe" representative from each department

      This became a 40+ page project specification, which was signed off by all stakeholders and became the contract.
       
      Then this document was fed into a series of code generation engines, which created hundreds of thousands of lines of code. This was all done with an eye towards allowing various professionals to go away and do what they do best without getting held up waiting on each other or tripping over each other, filling in the missing functionality in the generated code.
       
      That system is still in operation close to a decade later, organizing the working lives of thousands and serving the needs of millions.

      Now I work in Agile. I hate it. I'm always having to check with other people constantly to move forward, I never get in the zone, there's a lack of clarity and vision, and I feel like I'm getting stupider each day and I'm not producing my best work.

      --
      -1 Uncomfortable Truth
    6. Re:Agile doesn't mean that the project won't fail by Aighearach · · Score: 5, Insightful

      The benefits it promises come only from the synthesis of ALL its components.

      Yes, yes, we've heard it a thousand times, if an agile project fails, it must not have been truly agile. Probably isn't a true Scotsman, either.

  2. What's that saying about agile? by NotSoHeavyD3 · · Score: 5, Insightful

    Agile assumes you have smart, talented, dedicated individuals doing the work. Then again if you have that pretty much anything works.

    --
    Did you know 80 to 90% of the moderators on slashdot wouldn't recognize a troll even if one dragged them under a bridge.
    1. Re:What's that saying about agile? by jacobsm · · Score: 5, Insightful

      Agile is just the latest management fad. In a year or two something else will come along, and the lemmings will follow.

  3. Yeah... by Greyfox · · Score: 5, Insightful

    Just because you're agile, doesn't mean you crap daisies and unicorns. I often see inept upper managers latch onto agile as the latest magic bullet which will solve all their problems with no other changes on their part. Except they keep all the micromanagement bits, discard all the engineer empowerment bits and hand their scrum team a year's worth of priority 1 stories to implement in the next sprint. Good managers will likely be successful no mater what methodology they use, bad ones will likely fail no matter what methodology they use and the ones in between will have mixed results no matter what methodology they use.

    --

    I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

  4. Agile is (usually) BS by Anonymous Coward · · Score: 5, Insightful

    All Agile methodologies really are are different ways of implementing the Spiral Model of development. If used correctly, any of them can work fine. Unfortunately, that's only in theory. In practice, Agile generally becomes an excuse to use Code and Fix, which is the worst methodology and the most prone to failure. Beware anyone who claims that Agile is the solution to anything.

  5. Re:Because by PNutts · · Score: 5, Funny

    You wouldn't understand it.
    You would exploit it.
    You wouldn't do anything to make it better.
    You would waste time complaining about everything.

    Burma Shave!

  6. Brogrammers by Anonymous Coward · · Score: 5, Interesting

    A lot of the 'agile' models reward talkers and people who take immediate action and can rattle off buzzwords, at the expense of more introverted engineers who like to investigate and plan before they act. In a continuously moving environment such as a social networking site, that reward system might be appropriate. In a financial back end doing mission critical work, that sounds like a disaster. So, no surprises here. One size does not fit all companies.

  7. Re:Where's the testing? by Anonymous Coward · · Score: 5, Funny

    That question would indicate to me that they're doing Agile wrong.

    Agile, unlike everything else in the world, is the perfect silver bullet. There can't be anything wrong with Agile. The seminar even said so.

  8. Re:world's biggest? by Kjella · · Score: 5, Insightful

    The most important thing is tight iterations. If a 2 week sprint fails, then it is not that big of a deal. If a 2 year death march fails? Someone's getting fired, since its the equivalent in agile-land of failing 52 sprints straight.

    But is it two weeks sprint down a dead end? For a project this size, agile is like trying to build a skyscraper first as a one story building, then two story building, then three story building and so on. Apparently you're making great progress the first sprint and you have a shack up, that's 1/100 floors done already. Except it doesn't work like that, so sometime around the 20th floor you've got people all over the first 19 trying to build in extra support columns and stronger walls and propping up the foundation. Things grind to a halt and you're not making any real progress. Then the orders come to get moving and you start going upwards again more and more rickety until eventually you find the straw that broke the mule's back and it all comes crumbling down.

    Agile is nice if you're close enough you can start delivering actual features that would belong in the end product at the end. In practice it often means you build the first iteration with string and duct tape planning to replace it with something more solid on the back end in time, but I think everyone knows how that goes - the string and duct tape has a tendency to stay because that part is "done". Of course hindsight is always much easier but agile I feel lacks foresight, we do this now to meet our sprint goals and then if we need to change something to meet our next sprint goals, we'll deal with that then. In practice, there's not time to go back and rework things every time you figure out this should have been done differently.

    --
    Live today, because you never know what tomorrow brings
  9. Re:It is based on Linux.... by rtfa-troll · · Score: 5, Interesting
    There are many possible reasons for failure.
    • you are stupid
    • you base your product on .NET
    • you fail to start a testing program
    • you are the British government
    • bad luck.

    Just because the failure of one project is caused by .NET does not mean that a project not based on .NET is going to succeed. In fact, traditionally 80% of software projects fail.

    This project is clearly failing for the second from last reason. It is also failing because it is not an "agile project". An "agile" project cannot fail and cost Billions because it must always deliver runnable software with a maximum of a few weeks delay if you use some "semi agile" process like scrum or immediately any point if you use some true agile process.

    Once you deviate from "Working software" for more than a couple of sprints (everybody can make a mistake) then you are no longer doing agile. I have seen so many "agile" projects which seem to define "Working" as meaning something like "a prototype which would never work at full scale" and so they have never addressed the major problems of their class of system.

    If they are "billions" of pounds down whilst doing agile, then they should have already delivered plenty of working systems and have hundreds of happy users. In this case they are a "success" even if they were a bit slower and more expensive than some other projects. If, however, they really haven't delivered anything then what they were doing was an unplanned disaster using "agile" as an excuse for not having a proper plan.

    Whilst I know that the "waterfall" method of development is famed for it's failures. Whilst I know that those failures are spectacular and huge. I really don't see how you deliver, for example, 5% of a working mobile phone network. You just have to have a big interlocked plan with a working phone, transmitter, backend, management and interconnection all planned together. I don't believe that such a thing can be done in a true "agile" way and pretending that you are doing it in an agile way is a dangerous fantasy. Only once you have a working network can you start to improve it in Agile increments.

    --
    =~ s,(.*),<sarcasm>$1</sarcasm>,g if any_point_you_wish();
  10. Mandatory requirements and Agile fallacies by Anonymous+Brave+Guy · · Score: 5, Insightful

    An "agile" project cannot fail and cost Billions because it must always deliver runnable software with a maximum of a few weeks delay if you use some "semi agile" process like scrum or immediately any point if you use some true agile process.

    The trouble is, you can have software that runs and passes some tests, yet still does not meet all of the mandatory requirements for the project and therefore may have no value at all in the real world. You don't get any credit for meeting 90% of the mandatory requirements on a job like this. The idea that having software that runs and maybe passes some tests has some sort of inherent value might be the biggest fallacy perpetuated by the whole Agile movement. It's just not true, and therefore neither is the claim that agile projects can't fail as a result.

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.