Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
Businesses Politics IT

Playing Politics With Agile Projects (cio.com) 145

A harsh perspective on agile software development, shared by Slashdot reader itwbennett: Politicians would be utter failures as agile project managers, writes David Taber, and for all the reasons you might imagine, but mainly because they wantonly make promises they have no hope or thought of keeping. But then he gets into the political attributes successful project managers need. And that's where things get interesting because, while he points out that agile was 'conceived of as a way of bypassing bureaucracy and internal politics,' the attributes he says are required for success are pretty much the worst of the political behavior we've all witnessed in our organizations.

For example, "A key success factor for agile projects is the ability for every team member to talk expectations down at every possible juncture. Agile should inherently involve frequent 1:1 contact with users: use that time to lower expectations! Without this habit, the inevitable scope creep and the impulse to believe "of course the system will do X for me" will get you."

His submission ends with this question. "Is it any wonder why users hate agile?"
This discussion has been archived. No new comments can be posted.

Playing Politics With Agile Projects

Comments Filter:
  • FrAgile (Score:1, Insightful)

    by Anonymous Coward

    I am a software dev of many years and now a software dev manager on top of that (still do dev work). Agile has got to go. Developers think that because they're programmers, they're special and deadlines don't apply to them.

    The prototypical case against waterfall is BS, by the way. Short, incremental waterfall, with requirements defined by product owners and sales, with set timeframes based on developer consensus and prior work, works extremely well.

    Also, and this is THE KEY reason that I'll never accept agi

    • Different development methodologies are appropriate for different projects. One size does not fit all.

      • by Anonymous Coward

        That's sort of true. There are two possibilities (and of course shades of grey between them.. but that can be decomposed into separate bits with these characteristics)

        a) you are doing something that has been done before

        b) you are doing something new

        In case a) then what you are doing is really IT. You will find that waterfall may well work okay as long as you can stick in this region. Unsurprisingly, lots of IT projects go horribly wrong because they fall over into b) for some small part of the project wh

        • Re:FrAgile (Score:5, Insightful)

          by HornWumpus ( 783565 ) on Sunday June 12, 2016 @12:46PM (#52299765)

          Waterfall doesn't have analysis and planning phases?

          You're just wrong, waterfall handles 'honestly new' just fine. Virtually every piece of software used was built with waterfall.

          What it doesn't handle is 'constantly shifting demands', but agile doesn't handle that at all well either, nothing does. If the customer doesn't understand the problem, you have an analysis problem, no methodology will solve it.

          If the problem changes faster than you can release, the best move is not to automate that part until it settles down.

          Agile is just waterfall with all the roles and phases renamed and with a fixed, very rapid, iteration cycle.

          • Agile is just waterfall with all the roles and phases renamed and with a fixed, very rapid, iteration cycle.

            I thought that, and then I thought "surely there's more to it, or why is everyone talking about it?"

            And then I figured technology is as prone to hemline oscillation and varying tie widths as the clothing industry.

          • by golodh ( 893453 )
            Waterfall works really well when you have a big coherent system to maintain with all kinds of long-distance couplings in e.g. the software architecture (what should the software do and what not, which part does what, which parts provide services to other parts), data-structures (field definitions, encoding schemes, tracking id's, etc.), database engines, database consistence rules, timing requirements, etc.

            You really really don't want some SCRUM team messing around with those.

            And yes, Agile is superior

        • Re:FrAgile (Score:4, Insightful)

          by sjames ( 1099 ) on Sunday June 12, 2016 @02:33PM (#52300231) Homepage Journal

          It's all iteration. Waterfall is a special case where the iteration count is one. Agile is a special case where the iterations are arbitrarily short. In some of the most successful projects, the length of an iteration is determined informally in the planning phase based on logical stopping points. The rest is largely window dressing based on the principle that all teams and all programmers are exactly alike.

          Managers (especially the MBAs that have never programmed) tend to like waterfall and Agile because it lets them stick to hard fast rules. Managers that came up through the ranks and kept current will be more open to variable iteration.

          • Waterfall is a special case where the iteration count is one.

            That isn't actually true, it is just an assertion by the anti-waterfall people that usually goes unchallenged.

            Even the canonical waterfall project, engineering a structural bridge, contains multiple planning iterations before getting to the implementation. The iteration of the whole project is one, but that is true for agile too; if you ever accidentally implement all the requirements, you've finished. The only "iteration count" that is "one" is one in both situations; there is one overall project that some

      • The main reason I like Agile-style development is sometimes the programmers have a chance to finish the task before the users change their minds.
    • by Anonymous Coward

      I think you mostly think of cases where software, and sale of a "finished" product is what you are working on.
      A lot of people work more in areas where software is a support role, where what your software needs to do changes with the problem the main business is facing just now etc. (and there is no sales involved anywhere, and your users are sitting in the office down the hallway).
      In one case, you produce a reasonable product and your users and who exactly buys your product will adjust as long as you produc

    • by Anonymous Coward

      My problem with Agile is the stand up meetings. I have been at places where they go for 2-3 hours a day, with people doing little each day, and using "Wah, I'm blocked" as a way to blamestorm and shift responsibilities to other parties. I could be doing a -lot- more with my time than hearing some other person talk about their stuff, what they did today in detail, down to how many times the HANA developer shook her weewee in the restroom, what their aspirations are tomorrow, and "what have you done tomorro

      • by Pembers ( 250842 )

        I have been at places where they go for 2-3 hours a day, with people doing little each day, and using "Wah, I'm blocked" as a way to blamestorm and shift responsibilities to other parties.

        Then you're doing it wrong. Our company is officially agile (though really it's more like waterfall with daily status meetings), and the meetings rarely last more than 15 minutes. If person A says they're blocked waiting for person or team B to do something, we can normally trust them to sort it out themselves. Sometimes the scrum master will set up a meeting of just A and B (plus himself, to keep them honest), and then report the outcome of that to the rest of the team at the next stand-up meeting.

        To be fa

        • That's what always saves Agile. If you have problems, it means you're not doing True Agile.

          It can easily leave onlookers thinking that Agile isn't very agile. Maybe it is just too hard to be practicable?

          • by Pembers ( 250842 )

            You could say that about a lot of things, but yes, Agile does seem to have more than its share of "you're doing it wrong."

            The notion that if you have a fixed release date, you should sacrifice features for quality, seems counterintuitive to many. It's much easier for a sales or marketing person to say, "Our next release will be on this date and have these features," (and leave unsaid, "But we have no idea how good any of them will be.") than it is to say, "Our next release will be on this date, and we don't

            • I'm going to suggest that more people get Agile wrong than get a lot of other things wrong. One thing that hurts Agile is that it's fully buzzword-compliant nowadays, which means that it's a lot more tempting to have some sort-of ill-defined process and call it Agile than to call it Waterfall. Moreover, the Agile Manifesto doesn't translate well into typical management-speak, and the whole concept is not really well-defined.

              • by Pembers ( 250842 )

                Good points. It sounds, then, as though the majority of people who are doing Agile wrong will only stop doing it wrong when the next shiny buzzword-compliant methodology comes along, leaving the ones who were doing it right still doing it.

      • You used past tense, so I hope you're no longer at such a place. Even so...

        Holy crap... hours? Did they realize the entire point of making the meeting "stand up" is to encourage people to keep the meetings extremely brief? Did they actually *stand* through those entire meetings? I hate the kindergarten mentality behind it, but I'm all for keeping meetings as short as possible. If a team can't even get that right, then no methodology is going to help. It's critical to keep the number of participants do

        • I've been in meetings where it started going that way, and the boss suggested (i.e. told us, but nicely) to sort it out later among ourselves.

          "Shall we report back?"

          "To me when you're done, short summary to the group next week."

          And then we finished the rest of the agenda and went to the pub.

    • Half agree (Score:3, Insightful)

      by raymorris ( 2726007 )

      I absolutely agree that the Agile theory that you don't find out the requirements before you begin work is stupid. Over the medium to long term, without a plan you end up either doing work and then throwing it out three months later, or constantly working around earlier decisions, ending up with a system full of duct tape hacks. That creates unreliable systems that are difficult and expensive to maintain.

      Artificial deadlines are just as problematic, however. Properly designing and building a system with

      • Re: (Score:2, Interesting)

        by Anonymous Coward

        I absolutely agree that the Agile theory that you don't find out the requirements before you begin work is stupid.

        So I'm going to AC this one... at work we're doing a project where 2.5 years out of 3 has been dicking around with the spec. Or rather creating lots of wordy documents, fancy presentations, flowcharts and magic boxes that supposedly solve problems. No developers were involved, because we were not in the development phase. The first month of the "development" project I spent ripping the spec apart saying we need design choices, not vague descriptions of many ways to accomplish the same thing like data acquis

      • You talk about throwing work away as though it's a bad thing. My experience tells me that the first version of any complex piece of software or software component you try to create is going to be garbage anyhow. Maybe it would be better to count on calling your first try a prototype, learn the hard lessons about what doesn't work and why, and then scrap as much of it as you need and write version two with the lessons you gleaned from the prototype.

        The problem with detailed planning is that there's simply

        • by Lotana ( 842533 )

          You talk about throwing work away as though it's a bad thing. My experience tells me that the first version of any complex piece of software or software component you try to create is going to be garbage anyhow. Maybe it would be better to count on calling your first try a prototype, learn the hard lessons about what doesn't work and why, and then scrap as much of it as you need and write version two with the lessons you gleaned from the prototype.

          In my experience, this never goes down well with management. The expensive development team has spent the last four weeks doing something that now will be thrown out and redone. All in the name of "quality" that the client will never appreciate (or indeed know about) in the short term. Not to mention the deadlines on which the upper management signed off on to the client. Really, the management will rather ship mostly working "garbage" now and meet the deadline, rather than spend the time to throw out the p

          • All in the name of "quality" that the client will never appreciate (or indeed know about)

            This is the difference between having a client, and being a professional. It is easy for consultants to become sleazy, because the incentives are often misaligned due to the pricing structure.

            This is why it is better to have employees writing software. They won't save money by writing something that sucks, they'll just have to fix it. They'll plan to throw the first idea away, and they'll talk about it as a prototype from the start. It will be part of the original plan do testing and additional planning bef

          • On the largest agile project I've been involved with, we started by refactoring some pretty basic elements of the system. ("We have A, B, and C, which we're special-casing in the main code. Now you want to add D. We're going to pull a lot of that stuff out, make a class that knows this sort of things, and we'll have subclasses for A, B, C, and D.") It worked great, and had management approval.

            I like working here.

            (We kept adding on E, F, and G, and split A and B into two. If we hadn't done the refa

    • The problem is that in waterfall both the requirements and the timeframes are set by product owners and sales, with developer estimates of the time needed being ignored. Which is what results in developers getting fed up and deciding that "I'm willing to be accountable for meeting my estimates, meeting your estimates is your problem".

      As far as having no product vision or plan, reality is that you can have a very solid product vision and plan and it'll still turn out part-way through that your customers simp

      • That's not waterfall. That's 'off the cliff'.

      • When I was a consultant, I always set the estimates of the time it would require. That was part of the bid. There is no client time requirement, the client requires an estimate as part of the bid and they will select a bid. In waterfall, the bid is likely to include multiple planning steps and be a full-price realistic bid, and it may even quote a total project cost. In Agile, the price is per week, and there are simply no promises or "quotes" allowed to be made about an overall project. Planning is also by

    • by Anonymous Coward

      "Short, incremental waterfall, with requirements defined by product owners and sales, with set timeframes based on developer consensus and prior work"

      Thank you for identifying your preferred work style as Agile, or more particularly Scrum, where each of your "short waterfalls" is a Sprint, Product Owners and Sales are Chickens and your developer estimates are applied to all work based on both consensus and prior work (they give away those decks of cards for a reason)

      You are either a magnificent troll or clu

    • I am a software dev of many years too. "Deadlines don't apply". The problem is - over and over - business assumes code is instant. So requirements slip through the cracks. And deadlines remain in place. Would you rather ship a broken product on time, or delay so the developers have what they need? Don't call it agile if you don't want to - but to ignore the reality of software development is bone headed.
    • Fred Brooks famously pointed out that, "If you have a small team of competent developers, any development methodology can work." 'Competent' here means largely soft skills: things like being able to plan, and reach your plan on time (or recognize when the plan will be behind schedule as soon as possible). Agile is fine, but not-agile is ok too.

      Actually I've been reading through a lot of Agile consultant training lately (had to go to the training myself, too), and I see a clear divide. Some of them are fo
      • According to this classic, you just need to make estimates, and measure results, and then you can normalize the values and make good predictions of actual time.

        http://www.joelonsoftware.com/... [joelonsoftware.com]

        • Yes, and that is really frustrating to me, personally. I always do my best estimate, and then add some time for padding. When I finish right on my estimate, my boss is happy, but I secretly know that I've gone over my true estimate!
    • by Anonymous Coward

      Short, incremental waterfall, with requirements defined by product owners and sales, with set timeframes based on developer consensus and prior work, works extremely well.

      You realize you pretty much just defined what agile recommends... right?

      So you're agreed: agile works very well. Why would you then state "Agile has got to go"?

    • I mean I think I get where the agile dogma was trying to go but they decided to make something they could sell to business higher-ups and by doing so gave management just enough room to completely fuck it up. From what I can see what I consider agile is really 4 principles

      Talking - Yes, both sides (the person that wants the work and the one doing the work) really need to talk to each other regularly so we don't have somebody going off for 6 months and coming up with something nobody wants. (That also mean

    • by drolli ( 522659 )

      As somebody who worked in agile projects:

      The good side:
      * If the customer had no f*****n idea what they wanted, at least they could not act like they had and the failure was due to the dev team.

      The bad side:
      * Instead of taking complicated issues seriously, settling to a well-defined and engineered solution, writing hundred times a variant of "hello world" was the preferred way of presenting user stories to the customer because then "we have something to show in the end of the sprint". This was going so far t

    • YOU DON'T JUST RUN A BUSINESS SUCCESSFULLY BY THROWING SHIT AT THE WALL AND SEEING WHAT STICKS

      How do you think the rest of companies operate? Large companies like Ford, GM, VW, etc do that all the time. New engine emissions requirements? Run 5 programs in parallel until one of them works. (Or in VW's case, fake it and try to make it)

    • As a developer I disagree with your language and tone but feel exactly the same way about needing a different solution. In my experience agile makes managers inneffective little tyrants. Managers with big ego's thinking they're a special little snowflake trying to pretend programming is a place where you can come up with a simple 6-8 hour chunk of work every single day that gets accomplished with no bugs and no unpredictable behavior day after day week after week. LOL. As an experienced developer, I know
    • YOU HAVE NO PRODUCT VISION OR PLAN. YOU DON'T JUST RUN A BUSINESS SUCCESSFULLY BY THROWING SHIT AT THE WALL AND SEEING WHAT STICKS.

      You miss the point of Agile. The point is, the developer is a contractor. The client companies are all run by Pointy-Haired Bosses. They have no product vision or plan . Agile is a system for the contractor to prevent that from getting in the way of the contracting. They can throw whatever at the wall they want, they're paying for it.

      As a longtime software developer, this is why I am not a contractor anymore. Real products that are part of a vision... need the same "modified waterfall" that was being used

  • how about managers stop playing games and start treating their teams as people rather than "assets".

    • by Anonymous Coward

      "Our office employs only the most beautiful programmers with plentiful assets. Your interaction with our programmers will be a highly enjoyable experience." --ISV marketing after the software industry specific AI singularity.

  • by Anonymous Coward

    Observation from an orginization that "moved to the cloud"
    Developers and managers flock to solve the easy problems
    There are far too many projects attempting to deliver the same outcome
    Despite having processes to document and discover projects mangers and developers do not use them
    Leaders of groups duplicating work claim "are effort is just different" (actually it isn't)

  • Agile What Now? (Score:3, Informative)

    by Trails ( 629752 ) on Sunday June 12, 2016 @11:15AM (#52299325)

    If you're doing "Agile Projects" or have "Agile Project Managers" you're not doing agile. Agile is a set of PRODUCT methodologies. If you assemble a project, identify scope, get seed funding, kick off, and then decide to delivery you're project "Agile", you've missed the key point of agile: adjust priorities in response to change.

    I get why people hate "agile", it's because most people haven't done the real thing. https://www.youtube.com/watch?... [youtube.com]

    • by Anonymous Coward

      I get why people hate "agile", it's because most people haven't done the real thing.

      Many years ago I was talking to a person who was going on about communism and how the U.S. should embrace communism as being superior. And I said to that person "Look at China and the Soviet Union. How can you say that communism is desirable?"

      And their response was "Oh, that's not *REAL* communism"

      Such is the case with Agile. People don't like Agile because they have lived under Agile and they know what it's really like.

      • In the real world Agile is more often an excuse than a methodology.

      • There's a difference, though. There are successful Agile shops. There are no Communist countries that have turned out well. If I could point to China and the USSR and say "that's bad Communism" and point to another few countries and say "that's good Communism, because these countries are free, democratic, and have thriving economies", I'd be more in favor of Communism. Given the lack of such countries, I'm sticking to my belief that Communism can work for a very few thousand people, for a generation or

    • This impacts much more than Agile.
      The modern day is amazed at the success at 'science'.

      If only we had:
      -evidence based policy
      -agile projects
      -no politics
      -transit systems based on reports ...

      And 'ideally' it is true most of these are great if you're dealing with competent, well meaning people, honest, cooperative people all operating within that system, you'd get amazing results.

      But of course, that is the whole question of humanity isn't it?
      If we all operated by those traits, we'd have utopia regardless of Agi

  • by gestalt_n_pepper ( 991155 ) on Sunday June 12, 2016 @11:25AM (#52299383)

    I don't think it's bad, exactly. I've worked in a shop that has been using agile for about 5 years now. Before agile, we had good releases and bad releases. After agile, we have had good releases and bad releases. I certainly *like* aspects of it, like daily meetings, limited goals, being two weeks from something shippable, etc. But my *liking* it is different from being able to prove, quantitatively, that it's much better or worse than any other software development method.

    • If you have daily meetings your manager is a moron who doesn't know how to manage.
  • Can someone tell me how "agile" went from being an adjective to a noun? I accept that I am behind the curve, but why didn't I get the memo?

    Is "agile" a management approach, an IDE or simply a word that's made the evolutionary leap from adjective to noun all on its own, like "chubby"? I feel so lost when a term is used without any explanation in the summary. Remember, not all nerds are corporate software developers, thank god.

    • by david.emery ( 127135 ) on Sunday June 12, 2016 @11:39AM (#52299461)

      "Agile" is -whatever you want it to be-, and that's part of my problem with it. There's no real normative definition that can be used to distinguish 'agile' from 'not-agile.' And whenever you push back at 'agile' asserting it is not meeting its promises, you get told "you're doing it wrong."

      So at the end of the day, "agile" means not having to do anything you don't want to do (see 'technical debt')
       

      • "Agile" is -whatever you want it to be-,

        So basically, like every other corporate management fad since WWII. Got it.

        I'm still old enough to remember when managers were reading ancient Chinese texts like the Art of War or Tao te ching (or rather, were reading books written by hucksters who claimed to have read the Art of War or the Tao te ching) and brought their newly-minted Oriental WisdomTM to their workplaces.

        God, it sucks to have to work at a corporation for a living.

    • Re: (Score:2, Informative)

      by Anonymous Coward

      Where I work, Agile means 50 people sit around a conference table for an hour (at least) watching the project manager fill out a spreadsheet.

      I myself keep my brain from dying during this by writing limericks and praying to ancient gods for a merciful death.

      • Which is why the good Lord made laptops.

        Hackaday is not going to read itself, and I have beer serving devices and homemade vacuum tubes to construct.

        Plus, webcomics.

    • by Anonymous Coward

      Can someone tell me how "agile" went from being an adjective to a noun?

      A bunch of guys found that their software development was going quite well and wrote the agile manefesto to explain [agilemanifesto.org] and gave it a name "Agile Sotware Development". After that lots of people wanted to pretend that what they were doing already was the same thing. They all claimed that "Scrum is an agile methodology" and that "this is agile". Needless to say they deeply perverted the main aims of agile.

  • ...For example, "A key success factor for agile projects is the ability for every team member to talk expectations down at every possible juncture. Agile should inherently involve frequent 1:1 contact with users: use that time to lower expectations! Without this habit, the inevitable scope creep and the impulse to believe "of course the system will do X for me" will get you."...

    I am not a fan of Agile, but the excerpt I quote is blaming Agile for what should be a routine conversation among users and developers. Of course, users have high hopes and expectations, they don't have to write the software, they only have to come up with ideas for new features.

    .
    It is then the responsibility of the developers, in conjunction with the users, to prioritize those expectations within the constraints of the current business. This process is not limited to Agile, it is a part of every devel

    • by tomhath ( 637240 )

      writes David Taber..A key success factor for agile projects is the ability for every team member to talk expectations down at every possible juncture.

      That's really dumb. The proper response isn't to lower expectations, the proper response is to give the user insight into the trade-offs of a new or changing requirement. Increase the budget? Reduce scope somewhere else? Extend the schedule? If the new requirement is more important that something else, let the user make that call.

      • the proper response is to give the user insight into the trade-offs of a new or changing requirement.

        They don't want insight into ... ummm ... whatever it was you just said. They don't understand whatever it is you said, and they couldn't if they tried, because they can't be bothered.

        They want a pony. You're just a goddam secretary (why don't you just type faster) and they'll go crying to your boss if they don't get it by this afternoon.

        • by tomhath ( 637240 )
          Yes, they want a pony. Which is why you tell them they can have the pony, but they have to trade the puppy to get it. Everyone understands budgets and schedules. If you just tell them you're too incompetent to develop what they want they'll believe you and offshore the work.
          • Everyone understands budgets and schedules.

            No they don't.

            If you just tell them you're too incompetent to develop what they want they'll believe you and offshore the work.

            You equate not being able to do the impossible by yesterday with being incompetent? I take it you're a user. The kind one who acts like a child if he can't have a pony *and* a puppy.

            I award you zero points, etc.

  • If the process works better than others, should the users hurt feelings be a reason to abandon it? Unless you just handing users some beautifully finished product and don't ever have to "bother" them, their going to "hate" anything that involves any additional work. End-users originally hated the Start/Taskbar. Users hate changing passwords. Users hate IT in general. Mac users "Hate" windows. But if a process actually works better, is more efficient and delivers better than others, screw 'em. At least that'
  • We use Agile in our office and for the dev team it works pretty well. Our problem comes from the management not actually having a clue about software development, despite our best efforts to educate them. We still deal with insane feature creep from above and delivery promises before we've even been informed of the new feature.
    • by PPH ( 736903 )

      I've fund that it helps to think of management as an implementation of UBI [wikipedia.org]. Paying someone regardless of whether or not they do any constructive work.

  • by __aaclcg7560 ( 824291 ) on Sunday June 12, 2016 @12:21PM (#52299663)
    As a lead video game tester for three years, I had to talk down the expectations on the delivery schedule. The original schedule is based on what it would take for the developers to get every milestone bonus on time without any inevitable delays taking place. I usually add a month to the original schedule and a +/- two week window for code release, and my schedule have proven accurate nine out of ten projects. (The sole developer who submitted a 256-page design doc — most design docs are promises on napkins — got their video game done on time.) The developers always get pissed off when I remind them that I don't get bonuses and I'm not obligated to care about their bonuses. Most of the inevitable delays come from them trying to get their bonuses instead of fixing the problems in their code.
    • (The sole developer who submitted a 256-page design doc — most design docs are promises on napkins — got their video game done on time.)

      That's an example of BDUF.....Joel would be so happy.

    • I believe that is called a perverse incentive. One of my favourite mannijmunt konsepts.

    • Comment removed based on user account deletion
    • The developers always get pissed off when I remind them that I don't get bonuses and I'm not obligated to care about their bonuses. Most of the inevitable delays come from them trying to get their bonuses instead of fixing the problems in their code.

      Maybe the bonuses should be tied to code quality instead of schedule, or some combination of the two.
  • by Anonymous Coward

    Is to sell books and consulting about how to implement agile.

    Nobody has found a silver bullet for software development yet. The endless hype cycles around different methodologies like agile spring from the desire of non-technical management to systemize programming so that low-skill, low-paid labor can be organized in a repeatable way to produce consistent results.

    That's why agile in particular is so focused on short-term planning and incremental results. When you constantly roll over your programming wor

  • by nerdyalien ( 1182659 ) on Sunday June 12, 2016 @04:35PM (#52300741)

    I worked in an Agile house for 4 years.... and went to local Agile meetups regularly. Overall, my opinion about Agile is bit.. hmmm.. Fragile!

    Firstly, Agile is good at getting half-baked products out of the door. Two (2) week cadences, where features to be build, demo and shipped is quite narrow... and you get time to barely test it. Yes, you can demo it is working, but it is the tip of the ice berg. How the feature interact with other features or infrastructure is the iceberg what's below the water surface.

    Secondly, Agile is good at sweeping hard work under the carpet. For an example, because there is no centralised architectural thinking or planning, every developer goes wild and build their own architectures... half of them are duplicates doing similar functions (and not to forget, poorly tested). Things like database or API designs generally takes lot of planning and thought process. By design, Agile doesn't allow such lengthy ventures.

    Thirdly, Agile not scalable. Agile works best for smaller website projects.. say 5-6 page dynamic websites. If you are to do a huge mission critical project involving 100+ templates, 20+ devs so on... Agile will fail half way point, and you will have to downgrade to Waterfall, and pretend you are doing Agile to your client... which method I christened as "ScrumFall" (after James Bond movie).

    Overall, I promote "prototype, maturity and ship" model (I don't know there is an actual name for this). Basically, try out prototypes first.. if it works, then promote to regular development, and finally production. I see JavaScript & C++ language committees adopting a similar work cycle. Overall, they are doing pretty well IMO, with regular releases and good quality.

  • Agile was conceived as a method for managers to get more work out of developers for less money.

    However, as most manglement techniques are, Agile has been turned on it's head, and is now a method for lazy developers to do LESS work, while completing more BS "tasks", then blame the "Team" when shit doesn't get done.

  • The purpose of business software is to support the business. Not vice versa. Businesses requirements have scope and deadlines. Software developers are responsible for telling the business how long it will take to achieve the scope, and work with the business to set the expectations and deliver on time and budget. Business needs almost always involve far more than just the development shop: advertising (which means customer expectations... which can kill a company when it doesn't deliver) and regulatory comp
  • I've figured out that the design /production team has these mandates ;

    Executive management wants reduced costs.

    Product owners want product that is on par with the competition.

    Dev team managers (yay, plural) want achievable goals.

    I work on a servicing team. I want either functional product or what to tell customers when it isn't.

    Agile has changed the time frame of failure from months/years to weeks. Can I define that as success?

  • The right answer to expectations and timelines: fuck off, it will be done when it's done, but we'll do our best. At Google this is handled by setting quarterly goals, and then watching them whoosh by when the quarter ends. Or not, in this regime things often do go faster than expected. The key mechanism that makes it work is the reward structure: Google rewards launches and basically nothing else. Want a bigger bonus? Launch something. Want a promo? Launch something. And so on. And I can personally confirm:

I tell them to turn to the study of mathematics, for it is only there that they might escape the lusts of the flesh. -- Thomas Mann, "The Magic Mountain"

Working...