Slashdot Mirror


Is Agile Development a Failing Concept?

Nerval's Lobster writes: Many development teams have embraced Agile as the ideal method for software development, relying on cross-functional teams and adaptive planning to see their product through to the finish line. Agile has its roots in the Agile Manifesto, the product of 17 software developers coming together in 2001 to talk over development methods. And now one of those developers, Andy Hunt, has taken to his blog to argue that Agile has some serious issues. Specifically, Hunt thinks a lot of developers out there simply aren't adaptable and curious enough to enact Agile in its ideal form. 'Agile methods ask practitioners to think, and frankly, that's a hard sell,' Hunt wrote. 'It is far more comfortable to simply follow what rules are given and claim you're 'doing it by the book.'' The blog posting offers a way to power out of the rut, however, and it centers on a method that Hunt refers to as GROWS, or Growing Real-World Oriented Working Systems. In broad strokes, GROWS sounds a lot like Agile in its most fundamental form; presumably Hunt's future postings, which promise to go into more detail, will show how it differs. If Hunt wants the new model to catch on, he may face something of an uphill battle, given Agile's popularity.

507 comments

  1. No. by chris200x9 · · Score: 1, Troll

    No.

    1. Re:No. by serviscope_minor · · Score: 4, Interesting

      Yes.

      --
      SJW n. One who posts facts.
    2. Re:No. by Anonymous Coward · · Score: 5, Funny

      No.

      But it'll be yes again by the time of the next scrum.

    3. Re:No. by ShanghaiBill · · Score: 4, Insightful

      Agile is not failing because there is nothing to replace it. Are we going to go back to Waterfall? Software development is inherently hard. No methodology is going to make it easy. But Agile works better than any other methodology that I have used, even when implemented piecemeal, by mediocre programmers, rather than in its "ideal form".

      Ideas should be judged against their real world alternatives, not some perfect ideal. For Agile, there are no better alternatives. GROWS (whatever that is) may be an alternative, but it is untested, and looks like just an incoherent pile of buzz words.

    4. Re:No. by Anonymous Coward · · Score: 0

      Agile finally has a success story as opposed to vast wasteland of failures we've seen across the industry so far. Congrats!

    5. Re:No. by JohnFen · · Score: 4, Interesting

      Are we going to go back to Waterfall?

      In my experience, that would be greatly preferable to Agile.

      But Agile works better than any other methodology that I have used, even when implemented piecemeal, by mediocre programmers, rather than in its "ideal form".

      My experience is just the opposite: agile is very nearly the worst of the methodologies I've used. The one great thing about it is something that can be done in any methodology: increased communications. We can throw out the bathwater and keep that baby.

    6. Re:No. by Anonymous Coward · · Score: 0

      +1, and not just for Dev. Agile has been a game changer for us as well but the integrated teams really upset all the functional areas. We lost Dev, QA, Doc, and UXD in a fairly rough transition, but it all came together to produce our highest quality software AND in a more predictable schedule as well as adapting better to requirements changes.

    7. Re:No. by Penguinisto · · Score: 2

      Agile is not failing because there is nothing to replace it. Are we going to go back to Waterfall?

      ...just you wait, Henry Higgins, just you wait...

      --
      Quo usque tandem abutere, Nimbus, patientia nostra?
    8. Re:No. by BradMajors · · Score: 1

      Maybe.

      Agile works for certain types of projects. It is unsuitable for some other types of projects.

    9. Re:No. by codealot · · Score: 2

      That's it, exactly. You can use agile to weed out developers who can't think for themselves, who really are of no use in a development team anyway.

      The methodology debate kind of misses the point. Agile is no silver bullet. A high-functioning team can be successful with agile, or with various other methodologies for that matter.

      A dysfunctional team isn't going to succeed with agile, or with anything else.

    10. Re:No. by Mikkeles · · Score: 1

      This paper (pdf): "Iterative and Incremental Development: A Brief History" is worth a read for context.

      --
      Great minds think alike; fools seldom differ.
    11. Re:No. by BradMajors · · Score: 4, Informative

      There are more choices than just Agile and Waterfall.

    12. Re:No. by CreatureComfort · · Score: 5, Interesting

      I've got to agree with JohnFen. As a Program Manager, while Waterfall techniques could frequently end up with late or over budget, or both, projects, at the end of every project (I oversaw 5 multimillion dollar projects using Waterfall methods) we at least had a working application that met the original specifications.

      Now, after two similarly sized Agile projects, all I can say is it seems to be an excuse for developers to skip QA/QC procedures "because we're already into the next scrum" and end up with a mess that doesn't come close to matching the original specification at the end blaming changing requirements and "developmental issues" during the scrum process. I just turned down a contract that explicitly required Agile coding because I don't have any confidence that the end user will be satisfied with the results.

      --
      "Unheard of means only it's undreamed of yet,
      Impossible means not yet done." ~~ Julia Ecklar
    13. Re:No. by Kazoo+the+Clown · · Score: 5, Interesting

      I also have to agree but for different reasons. What I've experienced is Agile as excuse for micromanagement. Projects take much longer than they used to because we now agonize in meeting after meeting over details that used to be left to the developer to decide. Agile is a recipe for managing programmers fresh out of college perhaps, but most I work with aren't those, and they work better when you trust them with more of the detais and have management worry about the bigger pictures instead...

    14. Re:No. by thedavidcathey · · Score: 5, Insightful

      Skip QA/QC procedures? Then you're not Done. That means you've completed 0 stories and get to finish them on your next Sprint.

    15. Re:No. by tshawkins · · Score: 3, Informative

      Waterfall just cannot work.

      1. All the descions are taken at the time you know the least about the outcome, ie at the begining.

      2. By the time you get to the end your requirements are out of date, you get the product you wanted at the start of the project not the one you need now. If you try to support requirement change all you end up doing is replanning and pushing back delivery.,

      3. It was a failed methodology from the start, the original paper that started waterfall was an example of how not to write software

      https://pragtob.wordpress.com/...

    16. Re:No. by Creepy · · Score: 1

      Then the question stands "are you doing it wrong?" or perhaps the project you're working on isn't really suited to it.

      Graphics and UI projects break down into sprints very easily (and this is what I work on most, and Agile generally works very well). Writing a banking subsystem might not.

    17. Re:No. by Anonymous Coward · · Score: 0

      it seems to be an excuse for developers to skip QA/QC procedures "because we're already into the next scrum" and end up with a mess that doesn't come close to matching the original specification at the end blaming changing requirements and "developmental issues" during the scrum process.

      Uhhm, not quite. Having been a part of an "Agile" group involved with "SCRUM" processes - more often than not it was the PM and other leadership that pushed on and on without regard to QA/QC. They wanted the line in their spreadsheet to show "complete" and we the developers were the first ones to go "Woah there, Peaches. Let's slow our roll. The spec we have doesn't make sense (fields not named, steps not outlined, and logic so fuzzy as to be incoherent - or simply "user input screen here") to where all we did was spin our wheels trying to hit a target whose shape we didn't even know.

      I can accept changing requirements - but when you have a group of people under fire from management to "get specs out the door" and they aren't really specs at all - and they change constantly - and there is "no time to test", you're damn right as a developer I am going to complain. And I have EVERY RIGHT TO. Don't blame me for the fact you have NO CLUE what you want IN THE FIRST PLACE and then blame me because it doesn't match what you think it should.

      Saying "it seems to be an excuse for developers" should actually read "seems to be an excuse for MANAGEMENT". So there. Fixed that for you :)

    18. Re:No. by Phoenix+Rising · · Score: 4, Interesting

      DING!

      If by saying QA/QC isn't completed you mean that unit and functional testing is missing, then the developer is not done. If you have problems with the developer not writing these tests, then be sure that "Definition of Done" includes some acceptable target level of unit/functional testing.

      If on the other hand you get to the end of a story and accept it only to find out that it doesn't meet your QA standards, then you as a product manager haven't done your job in properly validating the story prior to acceptance; add to your own procedures the time required to properly validate the story for acceptance. Maybe you need a testing resource to do this if you are overworked as a product manager - an assistant product manager, even.

      Agile is as good as you make it.

      --
      Let us live so that when we come to die, even the undertaker will be sorry -- Mark Twain
    19. Re:No. by TheBogBrushZone · · Score: 1

      met the original specifications

      The key word here being "original" when discussing waterfall vs iterative development. Agile is not meant to deliver the original specification; it's meant to allow developers to adapt to a changing specification.

      --
      And behold, a command prompt and he who sat upon it, his name was shutdown and -h 3:11 followed with him
    20. Re:No. by Phoenix+Rising · · Score: 1

      I've found that pretty much anything can be broken down into Agile stories if you do the planning and grooming well, though the definition of "potentially shippable product" might have to slip - or you might have to add in a number of non-shippable "spike" stories in order to get to something useful.

      It's a tool, not a religion. Or at least it shouldn't be a religion.

      --
      Let us live so that when we come to die, even the undertaker will be sorry -- Mark Twain
    21. Re:No. by angel'o'sphere · · Score: 1

      That should be modded interesting or informative, not troll.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    22. Re:No. by JohnFen · · Score: 4, Interesting

      None of those are failings of waterfall at all. There is nothing about waterfall that requires you to make ironclad decisions at the very start, and there is nothing that prevents you from adapting the course of development as the project proceeds.

      In other words, you aren't describing waterfall in your comment. Yes, I'm invoking the "No True Scotsman" fallacy, since that is usually what is invoked when Agile is criticized.

      The real truth is that all methodologies can be done well or poorly, including waterfall and agile. The difference that I've seen in practice is that it's incredibly hard to implement Agile correctly (such that I've never seen it done), but implementing waterfall correctly is not a huge chore.

    23. Re:No. by Anonymous Coward · · Score: 0

      God, I love the douche bags that think because you don't want to work in there idiotic bro love fest, you're the one who can't think.

    24. Re:No. by arf_barf · · Score: 2

      I started coining the term "Chunked Waterfall". Take all the inefficencies of waterfall, split it into chunks and add more inefficiencies due to management ;-)

      Whenever somebody tells me they are doing agile I ask them how their chunked waterfall methodology will help them once they realize that 50% of their assumptions on a project are wrong and the market has changed while they were busy with scum meetings.? Denial is usually the response....

    25. Re:No. by HornWumpus · · Score: 1

      Your off their team. Everybody should be happy.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    26. Re:No. by Anonymous Coward · · Score: 0

      I like italian.

      And so do you.

    27. Re:No. by Anonymous Coward · · Score: 0

      It is clearly dead because IBM is adopting it organization wide.

      That is a clear indicator it's expiration date has passed.

    28. Re:No. by gbjbaanb · · Score: 2

      Well, my take on it is that agile is not actually Agile.

      ie, all the rubbish people do to pretend they're working in an agile way is just an excuse to do far less work and far more process. Just the opposite of what Agile is all about.

      Alistair Cockburn said it in his Shu Ha Ri page - agile is about Put 4-6 people in a room with workstations and whiteboards and access to the users. Have them deliver running, tested software to the users every one or two months, and otherwise leave them alone

      It is not about daily meetings, more meetings, more review meetings, postits in place of documentation, more meetings to discuss what postts to put in the meeting you're going to have the next day to confirm the postits you decided would be in the next planning process...

      I think I should start a new agile methodology - the bugtracker agile system.

      You have a bug tracker (where bug also means task, requirement, change or just plain bug) with as many bugs in it as you can think of to get the project going (should be easy - you know what you want after all). Then you tell your dev team - here's the bug list, get on with it. I'll be back in a month to see how you're getting on, you'd better have something to show me - tech docs at least if not some form of running product. If you have any questions, ask Dave the customer liaison chap (or tech architect fellow, or product owner bloke), he'll clarify any confusion in the requirements.

      And that's it. Trouble is, I doubt I'd be able to sell many books or conferences with that. Pity, 'cos it works.

    29. Re: No. by Anonymous Coward · · Score: 0

      I don't know if you're quoting a disinterested developer, but it's called a sprint. The "scrum" is the daily stand-up.

    30. Re:No. by Cederic · · Score: 1

      The Agile Manifesto highlights the increased communications, but it also highlights a number of other tenets. None of them involve adopting a specific methodology, and most development teams and projects are utterly shit at following any methodology anyway, agile or not.

      Just do agile waterfall. It's possible. It works.

      Don't throw out the other agile benefits just because your team couldn't cope with methodology du jour.

    31. Re:No. by TemporalBeing · · Score: 2

      I've got to agree with JohnFen. As a Program Manager, while Waterfall techniques could frequently end up with late or over budget, or both, projects, at the end of every project (I oversaw 5 multimillion dollar projects using Waterfall methods) we at least had a working application that met the original specifications. Now, after two similarly sized Agile projects, all I can say is it seems to be an excuse for developers to skip QA/QC procedures "because we're already into the next scrum" and end up with a mess that doesn't come close to matching the original specification at the end blaming changing requirements and "developmental issues" during the scrum process. I just turned down a contract that explicitly required Agile coding because I don't have any confidence that the end user will be satisfied with the results.

      Having participated in both; I can see benefits either way. However, allowing the developers to do what you've said is a fault in the management of the project. QA/QC/QE is part of Agile. If need be, you just add tasks (stories) in Agile to do it and make sure they get done - if not, you're not managing the project correctly.

      Agile itself is about being responsive to the needs of the project, and that includes all the QA/QC/QE stuff, as well as Security, Bugs, Changing Requirements, etc.

      Now, if you're working in an organization that will enforce that the requirements will not change (do any such organizations exist?!!) then Waterfall is probably better than Agile.

      --
      Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
    32. Re:No. by __aaclcg7560 · · Score: 1

      As Spock would say regarding Italian food, "No."

    33. Re:No. by bigpat · · Score: 2

      There are more choices than just Agile and Waterfall.

      I think Iterative and incremental development is a good approach.

    34. Re:No. by Anonymous Coward · · Score: 1

      Since 1978 I've followed fold-out 10-panel Project Methodology Reference Card from the first company I worked for. It was published in April 1977. I only look at panel 1:

      1. Concept definition
      2. Feasability
      3. Requirements definition
      4. General design
      5. Detail design
      6. Development
      7. Acceptance
      8. Implementation
      9. System evaluation
      10. Maintenance support

      Life has worked out ok for 37 years just following this.

    35. Re:No. by shmlco · · Score: 4, Insightful

      Agreed. Too many companies use the Agile "be flexible" rule as a carte blanche, get-out-of-jail free card.

      They pick and choose what parts they're going to do, which parts they're going to ignore, and which parts to which they're just going to pay lip service, and call the end result "agile". They don't understand how each part reinforces the other, and as such pick and choose among practices and ceremonies, and tell one another that they're being "flexible".

      Failure is usually with implementation, not with Agile.

      --
      Any sect, cult, or religion will legislate its creed into law if it acquires the political power to do so.
    36. Re:No. by superflippy · · Score: 1

      I work on one of several teams adding features to huge, complex software suite. I don't know how well Agile would work when creating a new application from scratch, but for adding features to an existing program it works really well. The methodology helps us keep a rein on our scope and has greatly improved our interoperability with the other teams. With the goal that a given feature has to be releasable by the end of sprint 4, we're releasing small, working features more often instead of massive, buggy features a couple times a year.

      --
      Your fantasies contain the seeds of important concepts.
    37. Re:No. by Anonymous Coward · · Score: 1

      At this point, I have to agree with the sentiment that Agile is simply a way to manage developers who are inexperienced, or are just crap developers.

      There are many reasons for a failed project, and some are on the development side, and others are on the management side. I cannot speak to the management side, as I have not worked in that capacity at all (Project Management). But from a developers standpoint, I have yet to be on a failing project where all developers had some experience, were responsible, and took pride in their work. That is all you need on the development side.

      I communicate just fine with my team, when the situation demands, and they with me. We document what needs to be documented. We all spot check each others commits. When we have design issues or questions we just go to whiteboard and talk through it. We have a weekly meeting for 30-60min and thats it. We all just do our work properly, and stuff gets done. We ship product. The product works. Customers love it. And we don't over shoot budget or deadlines. What else do you want?

      Also, I think it is worth mentioning that while software development is hard, it's not *that* hard. I love to wax philosophical about "meta development" as much as the next developer, but all these specialized processes designed to deal with *every* possible complication that *could* happen, up front, is just crazy. Modern Agile and everything it entails, from processes to tools, complicates development so much that it gives developers a never ending excuse as to why the project failed - which conveniently never includes them.

    38. Re:No. by Darinbob · · Score: 4, Insightful

      Agile is failing in some areas, surviving in others. One snag is that Agile is a cult, pure and simple. If you vehemently disagree, then perhaps consider that you may be a cultist.

      And the Agile cultists also believe there are only two world views: Agile versus Waterfall. Which is ridiculous, because the vast majority of developers use neither and instead have a hybrid approach from many different modesl including some ad-hoc methods. I know people who work as contractors who've said every single company they've been at use a different method, even those who claim to use Agile all use it in extremely different ways. When you are told essentially "do you really want to go back to Waterfall" then you know you're talking to a cultist.

      Agile is pushed by its promoters as ideal for all types of projects. It does work well in some sorts of projects, where everything can be divided into tiny one or two week chunks, but it fails horribly where you need months of work for some features and lots of upfront design with large teams that need to coordinate. For example, taking an existing web design and maintaining it is easy with Agile, but designing an entire product from scratch, including hardware, software, and services will find Agile to be a frustration. What I have seen happen a lot is that there's a lot of old style design behind the scenes by the designers but then Agile is used up-front by the coders; each sprint picks out portions of the grand plan to work on, features are split into tiny two week slivers and so forth.

      Don't forget the Agile industry here too. People whose high paying jobs are to teach Agile, to facilitate Agile, to be paid scrumm masters rather than developers, and so forth. I've seen no other development style that involves so many paid outsiders, most of whom are evangelists.

      Of course there are good things with Agile but failing to acknowledge the bad things is not being objective.

      Right now I'm on sprint number 10 for my feature. I get pressure to finish up the feature, but then at the same time there is pressure to stop working on it and instead deal with the unexpected emergencies. At the start I thought it was simpler than it really was and my design (which took longer than a sprint to think up) turned out to have flaws. It's embedded so the whole continual testing thing is extremely difficult, you can't put in unit tests when you don't even have enough memory to fit in the basics. And ideally, that two week sprint really should be 3 days of implementation only so that you have time for all the documentation, testing, handoff, training, integration, figuring out the obscure parts that come with no documentation, etc.

      The ultimate thing that Agile is doing for me is making me work longer hours than I ever have in my life. That's the goal I think, it's why managers love it. Ie, I have to give a two week estimate of what I can get done. Now I feel personally responsible to get things done. The deadline is no longer an external deadline by people unfamiliar with what needs to be done but instead it is a self-imposed deadline. And self-imposed means I want to get it done so that I don't look foolish. Other people are waiting for it to be done so that they can do their part. If I do ask for more time I get glared at. And what happens now is that there is a deadline EVERY TWO WEEKS. It is ALWAYS crunch time! And there is still behind the scenes the high level deadline from the executives that can not slip.

    39. Re:No. by Areyoukiddingme · · Score: 2

      Waterfall just cannot work.

      1. All the descions are taken at the time you know the least about the outcome, ie at the begining.

      2. By the time you get to the end your requirements are out of date, you get the product you wanted at the start of the project not the one you need now.

      Ridiculous. Maybe in stupid-ass punch-the-monkey dev shops writing web-based crap no one will care about in 6 months. There are plenty of industries where this is nonsense.

      In international finance, some country decides on a new law (usually a new regulation). The software therefore must change.

      Is the law going to change again this year? No.
      Is the development cycle less than a year? Yes.
      Is the development cycle longer than a fucking sprint? Yes.

      Waterfall will work just FINE.

    40. Re: No. by Anonymous Coward · · Score: 0

      Very funny

    41. Re: No. by Anonymous Coward · · Score: 0

      It sure does.
      Most people are bullshitters. Once you accept that, you can adapt.

      I just avoid meetings as much as possible and get on with it.

    42. Re:No. by skelly33 · · Score: 3, Interesting

      My organization accounts for QA/QC with the definition of "done"; QA is not a second class citizen of the organization, but rather a crucial part of the development team/process - and the story is not DONE until QA says it is. Therefore it rolls over across iteration boundaries as needed, and is only demo'ed when it is done.

      The problem we have had with Agile thus far seems to be our inability to produce accurate estimates without doing Big Design Up Front which ultimately means spiking every story before we can get started. Nearly every time we try to shoot from the hip on story estimation for anything moderately complex (or worse), we have missed by several multiples the actual amount of work needed.

      This is mainly due to the product being very complex (think enterprise scale SaaS, tens of millions of users, terabytes of data, complex data modeling, and numerous technologies being adapted with a variety of API/interfacing solutions) with many interconnected systems across multiple data centers and cloud services... you just can't stare at a story in the backlog and come up with a meaningful estimate off the top of your head no matter how well defined the acceptance criteria are because no one person knows what the potential impact is to all those systems.

      But we're committed to working on improving our processes, cross-training, and reduction of overall system complexity to eventually be able to do just that and are sticking with Agile because it has forced us to take smaller bites which has really been a challenge for our sales/marketing and product owner teams because they want the world and they want it yesterday... and Agile empowers the scrum team to give them a reality check and say no.

      I apologize for the run-on sentences... too lazy to edit at the moment.

    43. Re:No. by Anonymous Coward · · Score: 1

      Yep. For example "Fuck this shit, let's just get this shit done!"
      It will be over budget and not what the customer wanted just like agile and waterfall, it's still faster than both of those.

    44. Re:No. by cjonslashdot · · Score: 1

      Many organizations implement "Agile" without understanding it. Agile is not a methodology. It is a philosophy, expressed by http://agilemanifesto.org/ . The intent of Agile is to rewind back to what worked during the 70s and 80s. The authors of the Agile Manifesto are all people who were around then. It is well documented that large software projects with detailed up front requirements have a very high probability of failure. Agile merely advocates a return to common sense, including:

      1. 1. Dividing the work up into smaller loosely coupled projects, and small features that can be implemented individually.
      2. 2. Allowing requirements to change, in recognition of the fact that users often don't know what they need until they see something working.
      3. 3. Testing as you go, instead of all at the end, based on acceptance criteria.

      In the case that you describe, it sounds like acceptance criteria were not defined well.

      Well run Agile projects do not abandon quality or non-functional requirements, detailed requirements, or design. What is different is that these things are allowed to evolve over time, through a process of refinement; but if no one is orchestrating that process, then indeed junk will be produced.

      Many organizations are confused about how QA relates to Agile. Agile does not dispense with QA. If you search online, you will find a-lot of discussion of that. It is true that some in the Agile community do not understand the need for QA, but the more experienced and rational ones do. I can offer the following four-part article on Agile testing the way that it is done in many real organizations that do it right: http://www.transition2agile.co...

    45. Re:No. by Gr8Apes · · Score: 5, Insightful

      Waterfall just cannot work.

      You might want to talk to NASA and tell them all their missions have failed.

      1. All the descions are taken at the time you know the least about the outcome, ie at the begining.

      You know what that's a sign of? Failure to specify your requirements. (Something Agile people know so little of these days it's unsurprising they should be banned from programming)

      2. By the time you get to the end your requirements are out of date, you get the product you wanted at the start of the project not the one you need now.

      I need what I specified. If I need something else now, I should have added on more requirements. In fact, at the start of the project I should have added in an allowance that just maybe I will need to change something, or a dependency in the project may shift in time or not meet its capabilities. BTW, for you Agile people, this is where the Project Manager usually does his work. If they're managing which requirement you're coding and how, he's not doing his job.

      If you try to support requirement change all you end up doing is replanning and pushing back delivery.,

      If I was originally scheduled to make a simple sort in an adequate time period and then need to add in a complex multi-layered sort, um, yeah? What makes you think changed requirements wind up being deliverable in the same time frame? What vacuum do you live in? Are there pink ponies there too?

      3. It was a failed methodology from the start, the original paper that started waterfall was an example of how not to write software

      https://pragtob.wordpress.com/...

      Again, I guess you better let all gov agencies know that all their projects involving software prior to 2005 or so failed. Guess that moon landing really was on a stage somewhere.

      Having been exposed to a number of Agile projects that all ran over budget, schedule and/or failed, I can truthfully say Agile itself was the cause. I've detailed some of those elsewhere, and the response from the believers is always "Oh, you're doing it wrong" which is hilarious, because in multiple cases they were following exactly what little is laid out by the Agile camp. The real truth is that there are developers of different skills, and there are some that excel in specific areas while the rest plod along, and they are not interchangeable like Agile states they are unless you're going LCD. In fact, if you estimate your "velocity" by your worst performing programmer on an Agile team, you may, just may, have a realistic estimate of when you'll supposedly get to the finish line as long as no one throws any new requirements your way. As soon as they do, everything you think you know just went away. Sorry, my next SCRUM is pulling me out of this one...

      --
      The cesspool just got a check and balance.
    46. Re:No. by phantomfive · · Score: 1

      Instead of weeding out less-competent developers, it's better to mentor them and make them better. That is the role of a true team leader.

      --
      "First they came for the slanderers and i said nothing."
    47. Re:No. by Anonymous Coward · · Score: 0

      You would prefer a process model which was purposeful created as an example of an anti-pattern? Perhaps an iterative method with a risk assessment component would be a more cromulent suggestion as an alternative.

    48. Re:No. by CodeArtisan · · Score: 1

      met the original specifications

      The key word here being "original" when discussing waterfall vs iterative development. Agile is not meant to deliver the original specification; it's meant to allow developers to adapt to a changing specification.

      Unfortunately, it often requires the client to accept a product that was different from their original specification thanks to the dropping of features along the way.

    49. Re:No. by Darinbob · · Score: 1

      When it works though it is with the sorts of projects where waterfall and other methods won't work well anyway. Short projects. Ie, you've got a working web site, with an existing customer base, and now you want to add a feature. Agile lets you do that. And you need something similar to it anyway because you can't take down your site for long periods, so the continuous integration/testing is vital. But for projects that are normally big enough to require planning start to lose value from Agile.

    50. Re:No. by Anonymous Coward · · Score: 0

      Where I am, product managers have nothing to do with development, or methodologies. They're marketing oriented, getting requirements of what needs to be done, and on rare occasions will look to see if what they tell the customer actually matches what was developed.

      "Agile is as good as you make it" sounds like a mantra. What you hear from those with emotional attachements to an idea. It's what you hear when you say that the 7-step program didn't work for you, and the True Believer disagrees and says you didn't try hard enough. Waterfall is as good as you make it. Ad-hoc design is as good as you make it. So it's probably true for Agile as well except that you have to pay expensive Agile consultants to tell you that.

    51. Re:No. by Darinbob · · Score: 3, Insightful

      Why "waterfall"? Why is every Agile evangelist so uptight about "waterfall", do they honestly think that there are only two possible methodologies in the world?

    52. Re:No. by Anonymous Coward · · Score: 0

      BS on DONE.

      Agile teams bring QA/QC to the lowest common denominator. The easiest QA/QC goal, process and task. Cause if it doesn't work it gets pushed to the next scrum, mind that likely the next sprint. Sure, QC is part of a sprint [logically], but the effort of QC is easily traded for time (shorter sprints to show 'progress').

      From my experience, Agile represented s/w development "logic". A lot of concepts are logical in Agile.

      But logical doesn't necessarily means that it's correct, it works, and it's right. Especially applies with the rest of the s/w organization...

    53. Re: No. by Darinbob · · Score: 1

      They're both made up funny words, stolen from a sports context and used by people who don't do sports. It's just a part of the Agile liturgy.

    54. Re:No. by lgw · · Score: 1

      we the developers were the first ones to go "Woah there, Peaches".

      Sexist.

      There aren't so many gender-neutral horse names to choose from. You seem quick to judge - perhaps he alternates between fillies and stallions in his horse metaphors.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    55. Re:No. by lgw · · Score: 1

      Well put.

      There are 2 sure signs that someone isn't doing Agile, they're just doing "fail fast" (and not in a good way): no Q/A, and no participation of the product owner in the routine process (or even sadder, no product owner even designated).

      --
      Socialism: a lie told by totalitarians and believed by fools.
    56. Re:No. by Ice+Tiger · · Score: 1

      Isn't that basically Dev Ops where Scrum is replaced by Kanban?

      --
      "Because we are not employing at entry level, offshoring will kill our industry stone dead."
    57. Re:No. by Darinbob · · Score: 1

      Because I'm being reponsible to the needs of the project, I end up being unable to do the tasks (stories) assigned during the development period (sprint). If I was irresponsible I would do just my parts in the sprint and tell all the competing needs to bugger off.

    58. Re:No. by Darinbob · · Score: 1

      So we had to create a demo version of the project, all while doing Agile. Afterwords, we rip out 50% of the code because it's shoddy mockup needed only for the demo. Meanwhile the management sees a good response to the demo and claim that we're going to be shipping soon and that orders are showing up.

      There can not possibly be a potentially shippable product on day one, for ANY new project, unless that project is "add features to an existing product".

    59. Re:No. by Darinbob · · Score: 1

      Oh, don't let the devs add their own bugs or issues. Otherwise it will turn out that they have only been working on the tasks that they created internally. I came back 6 months later once only to find out that nothing had really happened in all of that time that was useful to the actual product being built.

    60. Re:No. by Darinbob · · Score: 1

      Anything with the word "manifesto" makes me doubt it. It's a political statement made by people with big egos who want other people to die for their beliefs. As such, manifestos have no place in engineering.

    61. Re:No. by Dastardly · · Score: 4, Insightful

      That is exactly what happens. And, some of the leaders in the field have realized that a lot of what is called Agile (Poppendiek, Larman, Vodde, Leffingwell) are essentially implementations of Lean Product Development from Toyota to Software Development. What often happens is that, like Lean in manufacturing, organizations take up some of the forms of Lean/Agile while completely missing the fundamentals and the culture. That is key. If you don't realize that Agile or Lean are an organizational culture change not a set of practices that are a silver bullet what you end up doing is slapping Lean or Agile onto a dysfunctional culture. And, one of the things that many Agile practices will expose very quickly is all of the dysfunctions and waste built into an organization.

      Consider the poster who complained about QA/QC being ignored. What was happening in waterfall was the exact same thing, but the long QA/QC cycle was hiding the fact that the developers were producing crap. Actually, calling it QA/QC was a misnomer, it was actually finish all the stuff we half-assed during the development phase. Oh and what management thought they would get from Agile was that they could knock out QA/QC and get the same work done in the same time that would have been allocated for the development phase in waterfall. So, the same schedule pressures that forced developers to take short cuts in waterfall never went away, and the result is that the same shortcuts happened without the QA/QC phase to fix them. And, was there a retrospective or root cause analysis or empowerment of individuals to pull the stop cord on the train to correct these issues that were exposed. Of course not because if you stop you will miss the schedule and that cannot happen, etc.. etc... Slapping Agile practices onto a dysfunctional organization does not fix the dysfunction. Culture changes take years, especially in larger organizations when there is not the top to bottom commitment to changing the entire organization.

      There is also the problem of "flexible" translating to "without discipline". My experience is that Agile and Lean requires a level of discipline far beyond typical waterfall. The waterfall processes often require the facade of discipline, but rarely actual discipline especially at the individual level. And, when discipline is attempted on individuals it usually has more to do with imposing additional process and reporting that does not contribute to actually delivering results. Which is exactly the same thing another poster complains about where Agile gets used to micro-manage daily tasks. Which is another example of missing the point, daily tasks and a daily meeting is to free PMs and Managers from micro-managing holding each person accountable for accomplishing something each day. I call it peer pressure accountability because other than sociopaths most people don't want to be the guy who tells their team mates that they did not do what they said they would do yesterday, or did some ridiculously trivial task while some one else did something significant.

      In some cases Agile shouldn't be used, but those are generally caused by external forces like being in an inflexible contract situation. In that case, I advise the philosophy of "Don't lie to yourself." Instead understand your constraints and realize a lot of the practices used by Agile and Lean organizations are almost universally beneficial. Automated testing and continuous integration are a good idea regardless. Splitting work into small chunks and working on a cadence (takt time) can be beneficial locally even though globally you are still producing tons of WIP. And, so on and so forth...

    62. Re:No. by Yunzil · · Score: 1

      Must be nice, living in your perfect world. What color is the sky there?

    63. Re:No. by Dastardly · · Score: 2

      Or, as I put is in a longer post. Agile practice have a tendency to expose all of the dysfunctions and waste. The analogy is that a deep slow moving river hides even the big rocks. Agile lowers the water level and starts exposing all the rocks, and the point of having short iterations and retrospectives is to recognize the rocks and remove them. Summarized as "Go slower to go faster." But, management decides not to invest in removing the rocks because the software has to be done on schedule, but reality is all the bombs that are going to cause the schedule to be missed are left behind.

    64. Re:No. by unimacs · · Score: 2

      met the original specifications

      The key word here being "original" when discussing waterfall vs iterative development. Agile is not meant to deliver the original specification; it's meant to allow developers to adapt to a changing specification.

      Unfortunately, it often requires the client to accept a product that was different from their original specification thanks to the dropping of features along the way.

      Which is worse, not allowing a change in specifications because it puts the deadline in jeopardy or dropping some specifications to allow time for new specs that are more important to the customer to be implemented?

      To me, meeting all the original specs is still failing if the end product can't be used by the customer.

    65. Re:No. by Cederic · · Score: 1

      Yeah, fair point. All those brainwashed fresh faced computer science graduates charging with fixed bayonets at the artillery of the "40 years of mainframe development worked for me" brigade and dying needlessly on the barbed wire of function point analysis, with the few that see the light and turn back being executed by a silver bullet.

      Such a waste, a terrible waste. Decades of software engineering advances destroyed in one single statement of hope in a better world.

    66. Re:No. by jecblackpepper · · Score: 1

      Which is often better than getting to the end of the client's budget and having an unfinished product that can't be delivered and the client being in the invidious position of having to decide whether to can the project with literally nothing to show for it or to continue to spend money in the hope that one day it will reach a point where it is acceptable enough to put live.

    67. Re:No. by Anne+Thwacks · · Score: 1
      It depends on what the project is.

      If the job is well defined, and you have to do it, (we need to build a bridge over the river that will carry 6 lanes of trucks, even if overloaded) then Waterfall is where to go.

      If its a startup, and you have the funding, then Agile (we dont know what we are making, or how the hell we are going to make it, but WTF) is the way to spend the money and still end up with something (other than beer and pizzas).

      --
      Sent from my ASR33 using ASCII
    68. Re:No. by Anne+Thwacks · · Score: 1

      So its your lawn. I was wondering about that!

      --
      Sent from my ASR33 using ASCII
    69. Re:No. by Anne+Thwacks · · Score: 1
      do they honestly think that there are only two possible methodologies in the world?

      Yes.

      --
      Sent from my ASR33 using ASCII
    70. Re:No. by TemporalBeing · · Score: 2

      Because I'm being reponsible to the needs of the project, I end up being unable to do the tasks (stories) assigned during the development period (sprint). If I was irresponsible I would do just my parts in the sprint and tell all the competing needs to bugger off.

      So the stories spill from one sprint to another. There's nothing wrong with that. That's part of the methodology of Agile, and also points that the project manager is not properly managing the project - whether not having enough people on the project to handle the work required for the sprint durations, or overloading the sprints in hopes of getting work done faster than they should, or the people involved in the project are not accurately breaking down stories into suitable chunks.

      --
      Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
    71. Re:No. by Anonymous Coward · · Score: 0

      But the Agile people refuse to recognize that. Instead, they created this entire fantasy world false dichotomy. They know they're better than waterfall so they created it as the straw man that they know they can beat.

    72. Re:No. by AqD · · Score: 3, Insightful

      Ridiculous. Maybe in stupid-ass punch-the-monkey dev shops writing web-based crap no one will care about in 6 months. There are plenty of industries where this is nonsense.

      In international finance, some country decides on a new law (usually a new regulation). The software therefore must change.

      Is the law going to change again this year? No.
      Is the development cycle less than a year? Yes.
      Is the development cycle longer than a fucking sprint? Yes.

      Waterfall will work just FINE.

      I had a small project which despite meet the deadline has took more than double of expected work hours.

      Did I know I have to evaluate and change underlying platform 3 times so it could work with other dependencies flawlessly? No.
      Did I know I have to write part of DB driver because some thing that has been in DB for years isn't supported in its official driver? No.
      Did I know I have to dig into source code of dependent libraries and fix their bugs and even change part of their architecture to meet performance requirement? No.

      See? None of these involves requirement changing. How you can do waterfall in large projects worth millions is beyond my imagination...

    73. Re:No. by Anonymous Coward · · Score: 0

      my $0.02

      What I'm gleaning from reading several posts is that the actual techniques of agile aren't understood nor being adhered to. E.g. If you're not testing your code, you can't prove it's "DONE". Therefore, you're not DONE and have accrued technical debt which will bury the project/corp especially if you're not tracking the debt.

      I transitioned a few corps to Agile from ad-hoc development, the thing is, if everyone isn't on board the methodology (from ceo-down), it won't work.

      Two (of the many) things I heard from an engineer...

      1) What if someone lies about their estimate?
      2) What if I can't test my code because it's too complicated.

      Or from management..

      1) You committed to your estimate, why isn't it done in the time you said you would be done?

      Right off the bat I recognize that I haven't communicated the Agile techniques/philosophy, and why they can be effective.

      The best thing I found with Agile over Waterfall is the rapid turn-around with customer/end-user feedback. This never happened with waterfall. Six months you deliver phase 1, customer has a ton of changes, major problem refactoring, good luck with phase 2.

      The Agile technique creates constraints and can hold people accountable to learn how they as a team work. If everyone in the team can't be bothered to reflect and grow, well, you'll be basically using the tools (scrum board, estimates etc...) and pretending your're doing scrum/kanban. And in the end, you're basically doing ad-hoc again.

      I think an artist can create when given adequate constraints, in software development a lot of people like to think they're artists, except when confronted with constraints, then things like unit tests aren't sexy anymore because it's deemed not creative but mundane. Allowing too much creativity in software development is a dangerous thing (see article below). Too many rogue developers etc... In the bay-area I'm seeing that developers are no longer held accountable for their work. They don't have to prove their code works via an automated test, and even those that do will only do the bare minimum (and that may not even align with the A.C). Which gets you on one seriously slippery slope.

      Also Agile requires engineers to step out of their comfort zones. Introverted, possibly socially awkward types may push back against some Agile's team oriented concepts. It took me a while to click into it, to fully understand the problem it was trying to solve. Then it all made sense.

      I miss using the term "Mission Critical"...it made me ask a better question when designing/implementing software.

      http://www.fastcompany.com/28121/they-write-right-stuff

    74. Re:No. by Anonymous Coward · · Score: 0

      Most agile methods are just a set of ideals or include at the beginning untested practices. Why almost always agile methods are compared with waterfall? Waterfall was not even ever a real methodology. Also, from the beginning of the discipline of software engineering until today there are many methods, some of them useful.

    75. Re: No. by Anonymous Coward · · Score: 0

      Why do people keep blowing mod points over this redundant BS that shows up here on a daily basis? Yes we've all heard the "law." Notice how it reads "can be" and not "must be." You guys are like the little kid who just heard of philosophy so you go around answering every question with a snarky "maybe."
      You offer no insight and the "informative" mod should be changed to "beats dead and retarded horse" because it's just that redundant now.

    76. Re:No. by Anonymous Coward · · Score: 0

      Dude,

      Obviously something is wrong.

      The first thing I would point out is that you designed the system in the first sprint. Why did you do this? You are not doing agile if you design things to be done in later sprints.

      A sprint is supposed to be a length of time to add a feature or features to the product. You should have sat down with the product owner and said, what portion of the feature needs to be in the product at the end of the sprint. During the sprint, you then design and implement this portion.

      As for working late, why are you punishing yourself for failing to correctly estimate the time it takes to add a feature? Do the 40 hours and go home to be with your family, or whatever you do to relax. You mention you have pressure to deal with emergencies. If you have hot items you need to do, I would recommend kanban instead of scrum. I assume you are doing scrum because you talk about sprints. Kanban does not have sprints. You take items off the backlog and work on them until they are done.

      You mention a deadline of every two weeks. No. That is not what the end of the sprint is for. Only put into your sprint what you think you can do including all the time it takes to do whatever testing and paperwork your business requires. Think instead that the end of the sprint (between sprints) is the only time that the product owner can change the specifications of what you are developing.

      Other people are waiting for you to be done before they can implement their part? Why are they not on a team with you with both of you working on the product? It sounds like you actually had someone "design" a big system and split it up into parts, then do agile to implement the parts. This too is not really agile. While you need a product description up front, (and allowing that it can change between sprints), you should be free to use whatever code design you please. If your module needs to communicate with another, ideally you should both be on the same team so that you can work out that interface design as it comes up and is needed.

      Agile is "agility", the ability to change and adapt your processes for producing code. If you cannot change your process, then you are not doing agile. Your company might call it agile, but it is not. I, personally, can see no reason to adopt an agile framework for a single developer. It just doesn't make sense.

    77. Re: No. by Anonymous Coward · · Score: 0

      Then you have not used RUP. Its a perfect balance of iterative and planning

    78. Re: No. by Anonymous Coward · · Score: 0

      You are clearly a fogbugz user. You described their entire product and philosophy.

    79. Re:No. by Anonymous Coward · · Score: 0

      Repeat after me:

    80. Re:No. by ATMAvatar · · Score: 1

      So we had to create a demo version of the project, all while doing Agile. Afterwords, we rip out 50% of the code because it's shoddy mockup needed only for the demo. Meanwhile the management sees a good response to the demo and claim that we're going to be shipping soon and that orders are showing up.

      Sounds like you're over-doing your mock-ups. If they are functional enough to convince management that it's ship-worthy, then you've done too much. Use hard-coded, fake data. Use Lorem Ipsum text. Mock-ups should only cover those pieces a user sees directly, be they UI pieces or some output data like a report. They need only be good enough to give an idea of what the final product will look like and how the user will interact with it, so you can get feedback and buy-off in proceeding further.

      Don't write a hacked-together but good enough infrastructure, or it could live with you forever - nothing is more permanent than a temporary solution which works.

      --
      "They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety."
    81. Re:No. by Anonymous Coward · · Score: 0
    82. Re:No. by Hairy1 · · Score: 1

      If developers are using Agile as an excuse for skipping QA you are doing it wrong. Agile is not simply breaking a project into mini milestones and working through them. Once again we see people seeing the process as a excuse for failing to think.

      So, Agile is about Adaptability. It is about evolution. This means creating a feedback cycle to deliver real verifiable business value every single iteration. If the work doesn't pass QA, if it doesn't actually work, then IT HAS NO VALUE.

      Agile is a evolutionary approach in which there is a tight feedback between customer/user and developer, where there is strong feedback and testing again the fitness function of customer expectations.

    83. Re:No. by ATMAvatar · · Score: 1

      The ultimate thing that Agile is doing for me is making me work longer hours than I ever have in my life. That's the goal I think, it's why managers love it. Ie, I have to give a two week estimate of what I can get done. Now I feel personally responsible to get things done. The deadline is no longer an external deadline by people unfamiliar with what needs to be done but instead it is a self-imposed deadline. And self-imposed means I want to get it done so that I don't look foolish. Other people are waiting for it to be done so that they can do their part. If I do ask for more time I get glared at. And what happens now is that there is a deadline EVERY TWO WEEKS. It is ALWAYS crunch time! And there is still behind the scenes the high level deadline from the executives that can not slip.

      This sounds entirely self-inflicted. Why not adjust your estimates in future sprints to better reflect reality? If you are truly in control of your estimates, you are only working super long hours because you are under-estimating your tasks. If you aren't in control of your estimates, you are in a toxic work environment, and there is no shortage of other programming jobs out there.

      --
      "They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety."
    84. Re:No. by Entrope · · Score: 1

      You are basically just saying that agile is more *fr*agile than waterfall -- given two teams of equal "discipline" and skill, you're likely to have something closer to the original intention with waterfall than with agile, because (in your words) agile requires more discipline to work well. Also, you're spouting nonsense when you say that the point of daily meetings is to free managers from micro-managing; if they wanted to stop micro-managing, they would not have a meeting each day where the explicit purpose is to point fingers.

      Waterfall doesn't need a long QA/QC cycle if you put thought into design validation and verification beforehand, and spend some time developing tests in parallel with developing code. Putting off test planning and preparation will hose you whether you use waterfall or agile or whatever else.

    85. Re:No. by Anonymous Coward · · Score: 0

      Repeat after Zed A. Shaw: We fucking do programming, motherfucker.

    86. Re:No. by Entrope · · Score: 1

      What's actually documented is that big software projects have a high probability of failure. The level of detail in their requirements is, like the failure rate, a consequence of size.

      Agile seems mostly like it is meant to let developers write more prototypes, with the expectation of throwing them away, in the name of "responding to change" -- particularly when, as often as not, the change is due to defects in the development process rather than any underlying technical or business reason. Instead of planning, there's a frivolous focus on making things that look good or check some box but don't necessarily have a solid architecture.

    87. Re:No. by Entrope · · Score: 1

      How do you square that advice with the agile advocacy of incremental development starting with a minimal prototype? Anybody who thinks about it objectively realizes that you don't want a mock-up to be backed by anything like your final code, but Agile strongly calls for developing a minimal app that can finish user stories -- and then solving more stories by extending that code. That conflicts with the first pass being a mock-up that you expect to extensively rework.

    88. Re:No. by maccodemonkey · · Score: 1

      Now, after two similarly sized Agile projects, all I can say is it seems to be an excuse for developers to skip QA/QC procedures "because we're already into the next scrum" and end up with a mess that doesn't come close to matching the original specification at the end blaming changing requirements and "developmental issues" during the scrum process. I just turned down a contract that explicitly required Agile coding because I don't have any confidence that the end user will be satisfied with the results.

      It's important to note whatever it is you think you were practicing, that's not actually Agile.

      In Agile a task can't be done until it's passed QA. You're not allowed to say "Whoops we're in the next sprint guess we can't do QA hur de hur hur." You have to bring the task into the next sprint, and it's considered a failure in estimation (which then should be dealt with by the group.) You then have to bump something out of the next sprint to fit the extra time to finish QA.

      Most of the time people say that Agile sucks, I've found that it's usually because engineering or management is abusing faux-Agile practices to ignore all the safeguards. Here it sounds like engineering was ignoring a Agile safeguard (task wasn't done) to cut corners, possibly aided by management who didn't want to hear about any delays or wanted to make a certain date. The honest truth with process is that a process is as only good as everyone's willingness to follow it.

      Agile should really be administered by a neutral party for a team for this reason, someone who's not a member of management for that team (common mistake) or an engineer on that team. That way you avoid engineers closing tasks while breaking the rules.

    89. Re:No. by Entrope · · Score: 1

      Where did you go during that six months, and did the team's manager get fired for not doing his or her job?

      If developers are not allowed to add their own bugs or issues, then either your team is too big for agile or the project is too small for your team. Instead of prohibiting that, somebody needs to oversee all the bugs and issues that get added, and part of their job should be to provide feedback when anybody submits an issue report that is not well-aligned with the customer's or user's interests.

    90. Re:No. by Anonymous Coward · · Score: 0

      The funny part is, you could flip the words "agile" and "waterfall" in that post, and ask the same question with precisely the same inflection, and it would carry just as much conviction.

      Both ends of the spectrum seem to regard each other with much the same level of mistrust, misunderstanding and contempt. And neither one of them seems willing to concede that the other actually has some good points. It's actually funny, how symmetrical the divide is.

    91. Re:No. by turbidostato · · Score: 1

      "You are basically just saying that agile is more *fr*agile than waterfall"

      It is, but then you need to add context to see what that really means.

      Agile was always about empowering people over process and bureaucracy. If you are process and paper trail centered you are not doing agile. Full stop. Please, take your time to rumiate this.

      Now let's imagine you really are embracing agile and let's think about your team's members (not only developers but management and even customers): is it really advantageous to empower them? Or is it like giving a loaded gun to a monkey? For one obvious thing, taken right from the agile manifesto "Customer collaboration over contract negotiation", will your customer abide to collaborate or will he want a full contract with all things strongly tied -costs, deadlines, features... by day one? Because if it's the latter, you can forget about agile right on the starting line, you see...

      Now, on waterfall: of course it is more solid and efficient than agile... provided the customer (be it internal or external) perfectly understands his needs, is perfectly able to transmit them, their needs are perfectly understood and expressed formally on paper, they are agreed back by customer and you have an experienced enough team all across without a hidden agenda.

      Failing anything in the list above, waterfall not only tends to quickly fall apart, but doing so in very expensive and notorious ways that agile mentality (in any of its incarnations) provide checks and balances against (but first you need to take the time to understand what is all this stuff about).

      Now that I reread what I wrote, find it similar to the republic ideal: it works because its checks and balances, but obviously they only add more moving parts (thus fragility) and unefficiencies... if only everything worked as hoped.

    92. Re:No. by omfgnosis · · Score: 1

      In my experience, user-facing software is much harder to break into sprints than architecture and infrastructure.

    93. Re:No. by Anonymous Coward · · Score: 0

      Because for Agile, having anything else to argue against screws up their project and they'll need to have another decade's worth of SCRUM meetings to figure out how to evangelize against that "new" method.

    94. Re:No. by omfgnosis · · Score: 1

      Everything is a "spike". Done.

    95. Re:No. by Anonymous Coward · · Score: 0

      So the stories spill from one sprint to another. There's nothing wrong with that.

      What idealistic non-delivering company do you work for? (Seriously, I want to short sell you guys) Stories spilling to another sprint indicate you're missing your deadlines, better start working harder. They're called sprints after all.

      That's part of the methodology of Agile, and also points that the project manager is not properly managing the project - whether not having enough people on the project to handle the work required for the sprint durations, or overloading the sprints in hopes of getting work done faster than they should, or the people involved in the project are not accurately breaking down stories into suitable chunks.

      And that's the other problem with Agile, how can you plan or estimate tasks that haven't been spec'd out yet? Or know when the project's going to be done? Generally you work for a business, and that business needs to make revenue. That flows from product (what you're working on) and generally sales requires new product to sell, and dates need to be met. Agile pretty much fails everywhere there, unless, amazingly, it starts looking an awful lot like waterfall using different words (eg story instead of task) and things become quite regimented, ordered, and managed.

    96. Re:No. by turbidostato · · Score: 1

      "There is nothing about waterfall that requires you to make ironclad decisions at the very start"

      Of course there is. Once the requirements phase is closed, it is closed. You can have iterative waterfall, but you need to wait for next iteration to alter requirements. You can have overlapping waterfall, but overlapping shouldn't make more than 10-20% of your gantt, and even then, at the cost of increasing at least on the same proportion your allowed cost/deadlines variances. In fact, the only guarantee for deliverability on waterfall comes from the fact that when a phase is closed, it's closed and you can't go back to it, which would add uncertainty to the process.

      "The difference that I've seen in practice is that it's incredibly hard to implement Agile correctly"

      It is, but that's the case because of the way companies are organized since Ford days: hierarchies, functional and responsability clear niches and boundaries, processes and bureaucracy, while agilism is about team playing, empowering people, planitude and results over processes and paper trails.

      Agilism looks hard for too many companies the same way chess looks hard when you try to play it on a tennis field and with tennis rules.

    97. Re:No. by turbidostato · · Score: 1

      "See? None of these involves requirement changing. How you can do waterfall in large projects worth millions is beyond my imagination..."

      I see your point but I can't see its relationship with anything agile vs waterfall here. Nothing you talk is about your application's functional requirements so it doesn't even enter the agile realm.

    98. Re:No. by Anonymous Coward · · Score: 0

      Yeah, Lack of QA/QC means you're not meeting requirements to move to the next gateway, stage or milestone. Define and stick to it- make sure at a minimum you're reviewing each part before moving on. Does it take more time and cost more to do it that way while you have paid coders or does it add risk to the project to call folks in to rework things after you've provided a product that first, doesn't meet the requirements of your stakeholders/client and second, missed the whole purpose of the project by handing off an sub-par unfinished work? Experienced PMs and contributors typically have a greater chance of success here I think.

      People who have money to burn don't care how the end of the project comes about as long as it comes and those projects are hopefully never repeated. Upside? You take what works and use it to define how you proceed ahead.. with a group that cares about the quality during the build and not just during cleanup and shutdown.

    99. Re:No. by turbidostato · · Score: 1

      "The real truth is that there are developers of different skills, and there are some that excel in specific areas while the rest plod along, and they are not interchangeable like Agile states"

      Wait... what!?

      You obviously don't know what you are talking about.

      Why do you think "velocity" is not interchangeable and it is instead tied to a given group if people were interchangeable? Why do you think "velocity" evolution needs to be referenced just to a given team's history if it could be stated in advance?

      "Individuals and interactions over processes and tools" is the first basic tenet of agilism. Why do you think "individuals" is the very first word of it if people were interchangeable and, thus, out of consideration?

    100. Re:No. by turbidostato · · Score: 1

      "I end up being unable to do the tasks (stories) assigned during the development period (sprint)"

      Bzzzt! Error!

      Stories are not *assigned* to the sprint, they are *queued* for the sprint. It might look like splitting hairs, but it's far from that.

      Part of the reason d'etre of agilims is that you don't have a crystal ball to see the future. Maybe your team's velocity is not well stablished, maybe you missed the complexity of the task... when planning a sprint you are not *commiting* to complete, say, these five stories, but agreing with your customer that these 1, 2, 3, 4, 5, 6, 7... stories are the most interesting right now and in that order, and that given your current knowledge about yours and your team's abilities and the complexity of the stories at hand you *probably* will be able to fulfill 1,2,3,4 and 5 of them by the end of current sprint.

      Once again, the old problem: agile "processes" put on top of the old mentality -like trying those new dancing steps from charleston over the same old waltz. Funny results guaranteed!

    101. Re:No. by Anonymous Coward · · Score: 0

      Waterfall is what we all learned in software engineering class in college. What I find amusing is that the iterative aspect of agile is mini waterfall. You just speed it up from 1 year to 2 weeks (or whatever your sprint length is). The rest of the process is more organized, but let's be real. Waterfall requires gathering requirements early for it to work. Agile ALSO requires some requirements for the stories you're going to do. This step is often skipped and that is the reason everyone against agile is mad about it. You still need QA. You still need planning. Anyone skipping this is an idiot.

      The difference between agile and waterfall is that there is a clear process to change course on requirements with agile. With waterfall, someone just does it to you in the middle and you have to react. The result for the developer is the same but you may not be as far along with the wrong course before you correct.

      In the end, agile works for some companies and waterfall works for others.

    102. Re:No. by turbidostato · · Score: 1

      "the bugtracker agile system."

      You yourself say it afterwards: just call it "the issue tracker system" and you are done.

      And, yes, it probably would work better than the average "agile in the forms, old school everywhere else" because, since most of the problems about agile come from people and culture clashes than anything else, having a simple and easily understandable means to produce a queue and track its evolution makes for a perfect start point that it is certainly fully aligned with the "agile manifesto".

      Taking the first day's morning to explain the customer what "agile" entails, specially for him -and agree with him on doing it that way (or not, but then you are fred to go waterfall or anything else that better suits the scenario), and the evening to explain both customer and the internal team what DONE means, and a Redmine site for tracking customer-opened issues and the internal team-produced documentation should be more than enough on most cases.

      But this is just too cheap and logical to gain traction.

    103. Re:No. by Gr8Apes · · Score: 1

      Wait... what!?

      You obviously don't know what you are talking about.

      I certainly must not which must be why I was rated troll -5 and you felt the need to respond with a lot of nothing.

      (blah blah blah) Why do you think "individuals" is the very first word ...

      Because it sounds good?

      --
      The cesspool just got a check and balance.
    104. Re:No. by turbidostato · · Score: 1

      "Oh, don't let the devs add their own bugs or issues. Otherwise it will turn out that they have only been working on the tasks that they created internally."

      Agree on that. At the very least, a developer-opened task would have to be agreed first with the customer or even created by the customer himself upon the developer's request.

      "I came back 6 months later once only to find out..."

      Your fail. If you had come back two weeks later instead of 6 months, you would have found much earlier. You know, "agile" is a burden for the customer as much as for the developer. You can't have "agile" without both of them.

    105. Re:No. by Anonymous Coward · · Score: 0

      I don't know why Agile people would hate waterfall. One place I worked lists 'waterfall process' as a valid failure cause for anything. Toilet didn't work? Root Cause: waterfall process. Server crashed? Root Cause: waterfall process. Sun failed to come up in morning? Root Cause: waterfal process.

      Waterfall is a good method where planning has to be up-front heavy or you won't be repeating the implementation. A moonshot, a graduate research project with a huge materials budget and many construction and manufacturing efforts fit well.

      Waterfall is also hard to beat when used on projects that come from 'mature' markets - i.e. the 312,309,814th web IDE with syntax highlighting for $pet_obscure_language. When you can get all the requirements you'll need by stealing from another released product the risk of changing requirements during later phases is low.

      But if failing early and often is cheaper than the printing costs of the master requirements document, Agile is a much faster way to get something out the door.

    106. Re:No. by turbidostato · · Score: 2

      "Because it sounds good?"

      No. Because it is about individuals, not unfaced meatballs.

    107. Re:No. by Darinbob · · Score: 1

      That team was in a different continent. A couple of us went over periodically to do integration and hash out any issues. Problem was that there was no local project lead for them for software/firmware, the main lead was hardware oriented, and the managers weren't project leads but dealt more with resourcing issues.

      The place I've been where project ran the most smoothly with the least hiccups did a very strict waterfall style of model. It wasn't necessarily the most fun sort of project management, it had lots of paperwork and such as it was a medical device, but it definitely worked well.

    108. Re:No. by Darinbob · · Score: 1

      Because after 30 years of programming I still can't estimate worth a damn. And I give estimates based upon not being interrupted with other stuff, which never happens. Sometimes I greatly overestimate stuff as well. It's like when someone asks how long to fix a bug causing a core dump, how is it possible to know when I don't even know what the problem is...

      In practice I work in spurts. Some weeks I'm slow and think about things a lot, other weeks things come together and I get lots of tasks done. But Agile seems to want regular and predictable output.

    109. Re:No. by Darinbob · · Score: 1

      The demos were for a customer though, has to be good enough to get them to choose us instead of someone else, and we leave them alone with it for a couple of weeks. It was a device, not a gui, so it had to actually do stuff.

    110. Re:No. by Dastardly · · Score: 1

      Well, I would not consider hiding dysfunction a good thing. Successful waterfall tends to meet the schedule and budget and fail at providing what the customer actually wanted because customers generally don't know or can't describe what they really want until the see it.

      But, setting that aside. Waterfall is fragile to change. Agile is resilient to change but will expose a lack of discipline in other areas. But, there are two fundamentals that change that fragility to resilience. The first is that short iterations exposes problems quickly. Second, that continuous improvement is embraced to correct the top problems exposed every iteration. So, "fail fast" and correct the problem. Pretty much every other practice involves ways to fail faster or correct typical failures. And, some may not work within your organization, if it doesn't you find out quickly and try something else.

      This is a huge weakness of the waterfall process. It typically takes a long time to get through the whole process 6 months to years. So, you can't tell if you got the requirements phase right until quite a long time after going through that phase and you don't get to correct it until the next project and assuming there is a correction it is often more process for the sake of process.

      In an Agile iteration you cycle through a significant chunk of the process, and try to do a production deployment of something in as few iterations as possible to expose all the problems. And, especially when switching an existing application development to an Agile process, you are not going to get everything into the iteration all at once. Make sure you are honest and accept that you don't have fully automated end to end integration test, yet and set aside an iteration to do that and correct any problems before deploying.

      I will tell you a little secret. Every time my group has made a significant change towards being more "Agile" we have generally had some fairly significant problems in the first sprint. What some might even call a failed sprint. But, we take our hits and figure out what needs to be fixed and the second sprint is generally successful, and 3 and 4 are better and better.

      One could argue that waterfall is good at the extremes. Perfect organizations where everything it locked down which makes the process work, and horrible organizations where the process rigidity provides the discipline that would not otherwise exist. Agile works better in that space in the middle where people are generally good and trying to do the right thing, and you just need a framework for discovery. Whether that discovery is of the customer's real needs or internal development problems or whatever...

    111. Re:No. by Dastardly · · Score: 1

      I would not concede this point:
      "Now, on waterfall: of course it is more solid and efficient than agile..."

      I would say that waterfall is more inefficient than agile and that inefficiency hides organizational dysfunctions.

    112. Re:No. by Darinbob · · Score: 1

      Coming back later requires an overseas flight though. We couldn't come back two weeks later. And it's true that we were at fault for not realizing that their local project leads weren't paying attention to that group. All the weekly video meetings made it sound like things were going great. I agree that this was a very extreme case that's not typical, but it is an example of what happens when there's no management keeping people on track.

      (Basically they spent the time making sure that all their code was highly portable and hardware independent so that they could reuse it in the future for later projects. That's good and all, as a second tier of priority. But one guy seriously made a hardware independent driver for a hardware specific component. I'm still baffled by it.)

    113. Re: No. by cyber-vandal · · Score: 1

      The explicit purpose is NOT to point fingers. It is a short meeting to tell the rest of the team and the product owner what you're doing and if there's anything blocking your progress. Waterfall on the other hand has long meetings and as the project heads towards its inevitable failure those meetings become longer and more acrimonious. Waterfall only works if the users know exactly what they want, they are reasonable with timescales and the business never changes and we know how often that is the case. I've seen many a waterfall project fail because of vague requirements, ludicrously short timescales and users who kept changing their minds. With Agile those things can be managed far more effectively because issues come to light in the two week sprint instead of 9 months later when the user sees their first demo and says "That's not what I wanted".

    114. Re: No. by Anonymous Coward · · Score: 0

      Very well put.

    115. Re:No. by Anonymous Coward · · Score: 0

      Because they're all talking out their ass. At it's core, Agile is a bunch of little waterfalls. Every development methodology is a form of waterfall. Waterfall is: gather requirements, design, program, test, then maintain. TDD changes that the most by putting test before program. Every other methodology only adds more things to waterfall. You're forced into waterfall. It's hard to maintain something that hasn't been created and no one programs for 6 months then decides if the code looks more like a video game, embedded controller, or a web store. You can program something then redesign it, but people tend to call that prototyping. You still have to rewrite code in the new design, so programming still comes after design.

      It's worth repeating: Every development methodology is a form of waterfall.

    116. Re:No. by Xest · · Score: 1

      "In other words, you aren't describing waterfall in your comment. Yes, I'm invoking the "No True Scotsman" fallacy, since that is usually what is invoked when Agile is criticized."

      No, he absolutely is describing waterfall, the problem is that most developers have gotten so used to waterfall being useless for a large number of development tasks that they've fudged it with semi-agile techniques naturally to get it to even work for them at all.

      If you're going to criticise agile proper, rather than accept that as per your argument that what you're calling waterfall is necessarily waterfall with a sprinkling of agile, then you have to hold waterfall to the same standards and accept it as it was formally defined in the first place. You either take the formal definition of it and argue against that, or accept that many agile techniques are incredibly useful and pop up naturally when people fudge waterfall as their general development practice choosing not to apply either strictly.

      Whether you've seen agile used successfully or not doesn't really matter, it's a mere anecdote. The fact is that there are thousands of companies out there, including some of the largest and most successful that do use it successfully to deliver software.

      For what it's worth, my personal opinion is that agile, like any other tool in a developers box is something that should be used when it's the best tool for the job. I don't really see much benefit in developing complex back end architectures using agile, I find waterfall is typically actually a good fit here, because the whole point in such a backend is to get the architecture right from the start and have it flexible enough to support whatever it needs to support and such a backend will typically have years of life in it. In contrast, I believe agile is absolutely necessary for good UI design- the fact is you can't document a good UI from the outset under waterfall as good UIs have to be developed with a constant cycle of user feedback. It's a manual optimisation process that requires repeated analysis of analytics and user feedback to make changes that optimise the result, the whole feedback cycle of agile fits perfectly.

      Agile can and does work, and it's not a failing concept at all - it's use is still growing, and it's still being used successfully. It is not however a silver bullet, and anyone who believed it is or was is probably worth ignoring completely.

      Make no mistake, agile is not something you can just wedge in overnight, it requires big procedural, cultural changes, and even toolset changes. It's not merely a cliche to argue "you're not doing agile properly", it's a common fact that many houses jump on the buzzword and get it wrong because they do not recognise the scale of actual change that's required if they really do want to go wholly down the route of strictly applying some agile process (which they probably don't unless they're doing web and/or UI work). Similarly, it's also common that people do as you have done - fudge waterfall to have some aspects of agile to make it work. If you believe waterfall is as foolproof as you suggest, I implore you to go and read about waterfall strict, and apply it strictly, because what you're describing most definitely isn't it, in much the same way as describing throwing QA out the window most definitely isn't any strict agile methodology.

      I personally have no qualms when designing, say, a client-server application, with having the server developed using waterfall, and the client developed using agile. don't know why people feel they have to be so tribal about waterfall vs. agile - it's not a fucking contest.

    117. Re:No. by Xest · · Score: 1

      "You know what that's a sign of? Failure to specify your requirements. (Something Agile people know so little of these days it's unsurprising they should be banned from programming)"

      Sorry, but this is nothing but complete denial of reality. Things change, especially in the technology world. I worked on a project for a client a few years back that would take a number of years to complete. At the outset, the goal was for the client facing portion of the application to be web based supporting IE6 and whatever the version of Firefox was at the time on desktops. Within 18 months Chrome came to matter, IE6 was finally being ditched left and right, the iPhone and iPad turned up, and mobile became a serious thing that mattered. Within the project's lifetime the whole way in which people used and viewed websites changed completely.

      If you think everything can be foreseen at project conception, then you know literally zero about the realities of software development. You would literally need someone who can see the future on your team to be able to do what you're claiming successfully and consistently.

      "Again, I guess you better let all gov agencies know that all their projects involving software prior to 2005 or so failed. Guess that moon landing really was on a stage somewhere."

      You can't take the set of all projects and pretend they're all the same, it's a nonsense. For some projects waterfall works incredibly well, because we've done it a million times before. For software, it's simply not as clear cut. You're right, many government projects have been highly successful under waterfall, but look at a subset of that, what about government IT projects? Government IT projects are universally known to be a complete joke, precisely because the failure rate is astoundingly high. That is in large part down to a failure of choosing the correct methodology for the task in question.

      "Having been exposed to a number of Agile projects that all ran over budget, schedule and/or failed, I can truthfully say Agile itself was the cause."

      Oh not this old chestnut. This doesn't even make sense, the whole point in an agile project over waterfall is that it cannot run over budget or beyond schedule. The whole point is that you keep sprinting until you've spent as much as you want to spend for the deliverable provided at the end of each sprint. If what you mean is that you had a ballpark figure and schedule in mind before you started and you missed it, then this simply states that your estimate was incorrect and that you would've had to choose either way between spending more and getting the product you wanted, or staying on budget and getting a lesser product than you incorrectly estimated would be possible in the chosen time and cost bounds. It seems a little odd that you bitch about people saying you're doing it wrong, whilst also claiming that you're following the exact guidelines, only a sentence after you've demonstrated that you haven't even got the slightest clue about the fundamentals of agile in the first place. You clearly are doing it wrong, and are not following the guidelines, because the sentence quoted above alone shows that you do not even grasp the fundamental place of agile in achieving proper cost/time/quality balance.

      I am not saying agile is a silver bullet, far from it, I firmly believe it's often used when it's a poor choice, and I firmly believe it requires fundamental changes to a business that most businesses do not need to make. I believe there are better options including using a hybrid approach to suit your businesses actual needs, rather than what some buzzword monkey is telling you are your needs. But some of what you say in your zeal to defend waterfall is just complete and utter nonsense because waterfall, like agile, is not a silver bullet either.

    118. Re:No. by Entrope · · Score: 1

      Put as much lipstick on that pig as you want, but it's still going to squeal.

      A functional waterfall-style team needs two people to be good at their jobs: A manager (to keep everyone pointed in the same direction) and a system engineer (to make sure that direction is a good one). By your argument, a functional agile-style team needs almost everyone to be good. Most teams aren't like that, and the ones that are will do pretty well with any methodology.

    119. Re:No. by Entrope · · Score: 1

      Successful waterfall does not have the problem you claim with requirements elicitation because that is part of what a good system engineer does. I guess agilistas have never worked with good systems engineers. Unless the customer is a professional software developer, it is natural that he or she can't explain their business requirements in the kind of detail that is needed to guide software development and testing. The development team can still develop "use cases" (IMO a more cumbersome, but clearer, term than "stories" -- but basically the same thing) and refine them enough for developers to use.

      Waterfall is fragile to change only to the extent that the project is mismanaged -- yet when agile is mismanaged, it fails more spectacularly than waterfall. Agile is designed to make a more convincing appearance of progress, but it is also designed to throw more code away.

    120. Re: No. by Entrope · · Score: 1

      Telling people what is blocking your progress *is* pointing fingers, friend.

      Waterfall does not need that many long meetings. Instead of five 15-minute scrums in a week, I've typically had one 30- to 40-minute status meeting in a week.

      Waterfall does not require the users to know in advance exactly what they want. Why do agilistas spout that nonsense (beyond it being part of the creed)?

      If your project leads -- managers, systems engineers, whoever deals with the customer most -- do not know how to deal with vague requirements, irrational schedules, or requirements changes, your project is going to fail regardless of methodology. Agile exacerbates and encourages those problems.

    121. Re:No. by Entrope · · Score: 1

      Of course you would say that. You would still be wrong. What you call "organizational dysfunctions" -- but everyone else would call "a normal mix of people" -- can be handled more effectively under a waterfall-like process than under an Agile one. That doesn't make it less efficient.

      If you want the same kinds and amount of work product (including detailed requirements, design documents, formal verification, etc.), Agile is likely to be less efficient because you start lots of developers writing code before anyone has a good grip on what the project should look like -- and they continue working furiously until the end. It looks nice because you have something to show and everybody is busy, but the something doesn't fit the need and you're burning through your budget.

    122. Re:No. by Entrope · · Score: 1

      Sounds like a typical offshoring disaster. I hope somebody somewhere up the command chain felt the consequences.

      I've also had luck with waterfall-like development models, on projects from six months to about four years (although the four-year project did have three distinct iterations in order to manage risk). That was for a vehicle-mounted sensor to detect land mines, so there were obvious reliability concerns -- and we could meet them because waterfall let us budget time for detailed failure mode analyses, rather than trying to make that fulfill some user story within a single sprint.

    123. Re:No. by Anonymous Coward · · Score: 0

      You might want to talk to NASA and tell them all their missions have failed.

      Funny you should mention that. "Agile" inserted its roots in NASA already during the Mercury program. It just wasn't called as agile then.

    124. Re:No. by cjonslashdot · · Score: 1

      There are certainly Agile teams that work that way, but that is not how well run teams operate. Agile has a reputation for not planning, but the opposite is true - there is a-lot of planning in Agile. Well run teams also design. The difference is that Agile teams _allow_ requirements to change as a result of customer feedback, instead of trying to stick to a set of "agreed upfront requirements". Agile teams work at a steady pace, producing working software at regular intervals, instead of waiting for a huge release six months down the road - when it is often discovered that the design is unworkable. Agile projects can go off the rails just like any project, but in an Agile project, you find out very soon, instead of toward the end. There is no magic bullet for this stuff. The intent of Agile is to divide the work up into small items that are deliverable incrementally. It is not rocket science. You still have to do that dividing intelligently, and you still have to practice software design. Some in the Agile community disparage design somewhat, advocating test-driven development, but that point of view has been largely discredited. See http://martinfowler.com/articl...

    125. Re:No. by Slashdot+Parent · · Score: 1

      it seems to be an excuse for developers to skip QA/QC procedures "because we're already into the next scrum"

      You shouldn't be marking stories as complete if they haven't passed QA.

      If you find that you aren't completing the stories that were in your sprint plan during your sprint, you bit off more than you could chew. Adjust for the next sprint.

      --
      They don't grade fathers, but if your daughter's a stripper, you fucked up. --Chris Rock
    126. Re:No. by Gr8Apes · · Score: 1

      It was called project management. :)

      Historical revisionism runs rampant in the Agile crowd. Do recall that Agile started with XP programming, more or less, and when that failed (to get traction, produce results, any other measure you care to name) they started slapping additional things on top of it. It has morphed so much over the years that you have to pretty much specify the year and methodology du jour to know whether a project was "Agile" at that time. "Agile" is a failed "methodology", if you can even call something so ambiguous a methodology, and is just code for "we don't like being told what to do or take any responsibility for the results of the project". I'm the polar opposite of that, I take a project and intend to deliver it within specs, on time, and on budget. I generally succeed.

      --
      The cesspool just got a check and balance.
    127. Re:No. by Gr8Apes · · Score: 1

      ...Within the project's lifetime the whole way in which people used and viewed websites changed completely.

      Really? Everything changed? Did HTTP(S) disappear? Did TCP go away? Did HTML vanish? Is javascript no longer used for dynamic web content? Guess what - all of those things are still current today, and still work today. What doesn't are vendor specific items like IE6, and if you were developing specifically for that, well, then you made a terrible choice, especially if it affected your entire application stack.

      If you think everything can be foreseen at project conception, then you know literally zero about the realities of software development.

      So apparently, the only thing that needed changing in your case was the GUI. If you knew squat about web development, that would have been a relatively minor thing to change, provided that you knew what you were doing in the first place. Building to IE6 indicates otherwise however.

      You would literally need someone who can see the future on your team to be able to do what you're claiming successfully and consistently.

      No, what I need to be able to do is take technology today, as it exists, pick the proper components, even if they are alpha/beta, and ensure that my choices are kept up to date and do what they need to do, especially in the alpha/beta area. It's called tracking your dependencies, and it's not accomplished by tying yourself to maven central.

      Government IT projects are universally known to be a complete joke, precisely because the failure rate is astoundingly high.

      What's funny is I was involved in a rather large successful gov IT project. The problem with the failure rate is the same as it is everywhere else - bad management and/or incompetence. Add something like Agile and you can just write it off before you start.

      "Having been exposed to a number of Agile projects that all ran over budget, schedule and/or failed, I can truthfully say Agile itself was the cause."

      Oh not this old chestnut. This doesn't even make sense, the whole point in an agile project over waterfall is that it cannot run over budget or beyond schedule. The whole point is that you keep sprinting until you've spent as much as you want to spend for the deliverable provided at the end of each sprint.

      Have you worked in the real world? Generally a project is envisioned, then estimated and budgeted. This happens at the beginning of a project, because generally shareholders (public companies) don't like to spend 50M on a project (promised functionality) and not receive a working model. Take the car analogy, GM is going to design a new car, they're budgeting 'x' for it based on previous history, and 'y' time. This will get it out on date 'z', per the normal car release schedule (once a year) Investors like the new concept, and eagerly await the production run to produce this new wonder. However, for this project, GM departs from their tried and true process, and incorporates Agile. They start work, the teams are too large, scrums eat far too much time so they segment the teams to stay on schedule. As things segment, communication starts to whither, because no one is managing the full project. Stakeholder see the frame, the new engine, etc taking shape per schedule, and decide that a minor change here and there will improve things. It comes time to integrate once the prototypes are designed and built. Gee, those 2 disparate changes now cause the engine not to mount to the frame, and the controls require rewiring because the harness doesn't match up. Now there's a mad scramble, the prototype doesn't make its date, the car isn't built and slips into next year. Stock plunges.

      But some of what you say in your zeal to defend waterfall is just complete and utter nonsense because waterfall, like agile, is not a silver bullet either.

      And thi

      --
      The cesspool just got a check and balance.
    128. Re:No. by godefroi · · Score: 1

      Continuous integration, while possibly central to "agile" development, is not a feature of "agile" development. Teams using waterfall methodology can use CI just like teams using any other (or no) methodology.

      --
      Karma: Poor (Mostly affected by lame karma-joke sigs)
    129. Re:No. by david_thornley · · Score: 1

      Every time I've read about "waterfall", it was described as a methodology with fixed stages, although the stages weren't always the same. This means that you have the requirement analysis down solid before starting high-level design. As a matter of practice, all the waterfall projects I've been on had some overlap, but not overlapping onto nonconsecutive stages. This usually came with an exponential function for determining the relative cost of changing things based on the stage reached.

      For projects with solid requirements (and there are plenty of them), waterfall is a reasonable way to go. There's lots of projects with squishy requirements, and for these you need some way of working in changed requirements.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    130. Re:No. by david_thornley · · Score: 1

      What you explained is a good, succinct method of blaming the users for most of the failings of the software. After all, if it meets the original requirements, and the original requirements didn't forbid designs that give the users carpal tunnel syndrome in two weeks, it's the user's fault, right?

      The rest of the industry has found out that users in general don't know what they want, and that they make a lot of assumptions about the finished product that don't make it into the specs, and that they're not happy about being given something not completely unlike what they wanted and told that any problems are their fault.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    131. Re:No. by david_thornley · · Score: 1

      Like many things, the cultists are noisy on the Internet, but there's lots of people who like and use some aspects of Agile. It's like test-driven development that way; the fanatics talk about doing all their development that way, but when I describe going from UI to gcode for computer numerically controlled tools they admit that a lot of my job doesn't work for TDD.

      Also, every shop using a different Agile variant is entirely in the spirit of the Agile Manifesto, which places people before processes, suggesting that what's important is to have processes that work with your people.

      Like every big buzzword, there are people out there willing to sell "the" Agile process to you for big bucks. Ignore them.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    132. Re:No. by wallsg · · Score: 1

      Rabbit Season!

    133. Re:No. by Rasperin · · Score: 1

      Actually that's my favorite and technically I believe how scrum is supposed to operate. If changes come in, then the rest of that sprint (or the next sprint) is supposed to be to designing and making said changes and getting them approved. Then after the design sprint it begins development sprint the following (or a future one depending on what is going on). Point is Agile is supposed to be agile to the buisness and the developers but be realistic and not cowboy coding.

      --
      WTF Slashdot, why do I have to login 50 times to post?
    134. Re:No. by Bengie · · Score: 1

      in recognition of the fact that users often don't know what they need until they see something working.

      As my professor said many times, users NEVER know what they need, only what they want. It is your job to determine the requirements, not the user, you decide what they need.

    135. Re:No. by cjonslashdot · · Score: 1

      Well, it is up to them to agree. It is indeed your job to propose ideas, but users get to decide if your idea is the right one. In Agile that role is called the Product Owner (PO). The Product Owner owns the project. The dev team interprets the PO's requests, and writes those down as "stories". The PO must agree that the story is what he/she actually wants before the team works on a story. When the story has been implemented, the PO decides if is REALLY what he/she wants. If it is not, then the team still gets credit for completing the story, but the PO has the right to write a new story that changes things. The PO is paying for the project, so they can do that as long as they want. However, the team is supposed to help the PO to track progress toward the overall goal.

    136. Re:No. by Dastardly · · Score: 1

      Well, the systems engineer creates great requirements that exactly match the customer's needs at that time and then just as development starts the business environment changes and those requirements are no longer valid. If you are following the do ALL the requirements, followed by ALL the design, followed by ALL the development, etc... What has happened is you have detailed requirements and design and done a ton of work that created zero value to anyone. Presuming you make the rational decision to abandon the no longer relevant requirements. Should you push through and develop software to those requirements it probably creates even more waste.

      The thing is Waterfall versus Agile is not really the argument. We are just rehashing the Taylor (Scientific Management) versus Deming (Lean) argument. The thought experiment I do is to think of a Lean organization that is currently doing waterfall. Applying Lean to the waterfall process over the course of much continuous improvement starts to look like agile+continuous delivery.

      Consider the wastes of Work in Progress (WIP) and Handoffs. The first thing one would notice is that the requirements phase creates a big queue of Work in Progress (WIP) in the form of unimplemented requirements for the Design phase which creates a queue of unimplemented designs for development and so on... Queues kill cycle time and WIP is waste. So, you put in WIP limits which means less work to complete which creates faster cycles that start to look a lot like sprints. That will tend to expose the waste of hand off because the overhead of hand off gets exposed by the higher cycle time. So, you pull your Analysts, Product Owners/Customers, developers, testers closer together to reduce the handoffs between them which at its ultimate conclusion starts to look like an Agile team. I could keep going, but I think that describes the idea.

      There are a variety of other ways to look at the differences. There is the people are the problem and more process and control is the solution to problems (Taylorist) versus people are the solution and making the people better is the solution. (Deming)

      If you are in a Taylorist organization with no desire to change I would not attempt Agile. But, there are lots of good software development practices that have the Agile sheen on them that work in any framework.

    137. Re:No. by jhantin · · Score: 1

      we the developers were the first ones to go "Woah there, Peaches".

      Sexist.

      There aren't so many gender-neutral horse names to choose from. You seem quick to judge - perhaps he alternates between fillies and stallions in his horse metaphors.

      These discussions usually continue long after the horse is beaten to death - call it blunt metaphors trauma.

      --
      ...when you're writing a game...tweak the difficulty of "Easy" to something [your mother] can cope with. -- onion2k
    138. Re:No. by Dastardly · · Score: 1

      Of course you would say that. You would still be wrong. What you call "organizational dysfunctions" -- but everyone else would call "a normal mix of people" -- can be handled more effectively under a waterfall-like process than under an Agile one.

      Well, that is the Taylor versus Deming argument. Very loosely summarized as: People are the problem versus people are the solution. That is more fundamental than Waterfall versus Agile. It seems like it is what drives people to one process or the other.

      Agile is likely to be less efficient because you start lots of developers writing code before anyone has a good grip on what the project should look like

      It has not been my experience that you start with developers writing lots of code before understanding the project. You have to fill the backlog before doing anything. That means prioritizing backlog items which means knowing enough about those items to gain some prioritization. Although one trap is de-prioritizing really valuable things that you don't are risky rather than doing the opposite which it prioritize efforts to resolve that risk in some way. The shorter the sprints means the smaller the backlog item needs to be to fit in a sprint which means a fairly high degree of understanding of requirement and design in order to split stories small enough. The only significant difference with respect to waterfall then is that the best splitting and understanding of requirements and design is on near term items and later items are more vague.

      I can write a whole bunch of other stuff because there are consequences to every choice and those consequences are handled using different techniques. And, on top of the general consequences, every organization is a complex system with many hidden and visible feedback loop and both waterfall and agile interact with that system good, bad, and sideways. Change from one to the other and all of those feedback loops kick in and new ones are created and the whole system can react in unexpected ways. This is nothing new, Six Sigma, TQM, Lean, and others I have never heard of get brought into organizations and perturb the system in unexpected ways.

    139. Re:No. by Anonymous Coward · · Score: 0

      Waterfall just cannot work.

      It does work, often, and companies make huge amounts of money following it.

      You see, not everybody writing software lives in a world where requirements change at the drop of a hat. Change is often slow in large organizations. This generally has to do with logistics: you can't equip a large organization with equipment if you're constantly changing the specifications.

      Building combined hardware-software systems for specialized markets also tends to reduce the amount of change that is practical, because the hardware design will impose schedule and logistics constraints on the whole project that is far more limiting than what one finds on a pure software project. This in turn means that the specifications of the software can be known well in advance.

      If you aren't intimately familiar with what the word logistics implies -- judging from your post you don't have a clue -- then read a couple of good books on the subject.

      Because of this, there are plenty of companies that do work for various large organizations, such as governments, where the waterfall model works extremely well. Generally, these companies have completed similar projects before, and have enough institutional and tribal knowledge to be able to tell what is a reasonable improvement upon the existing standards, and what is not. This allows them to construct specifications to ensure a particular new or updated system can be built (or to guide the customer in writing the specifications, in a healthy collaborative effort). The idea that everything has to be radically new and different from things that came before is often more a marketing illusion than reality.

      Once they have good specifications, these companies can go through the rest of the steps in the waterfall model and complete the project. Typically they've done exactly that, many many times over the history of the company, even over multiple decades.

      Customers that need this kind of capability tend to know the shops that can execute it, and everybody typically ends up reasonably satisfied at the end. Smart businesses know how to create repeat business. The services of the good ones don't come cheap, but the ideas that you get what you pay for is very much true with them. Smart customers understand that it's a lot cheaper to pay more to get the job done right the first time than to have somebody screw it up multiple times, and still not have it done right.

      I worked for such a shop once. It's not really how I prefer to write software, but I have to admit they got the job done, they did it well and they even did it with style.

      Time to grow up. Your life experience isn't necessarily representative of the world around you. Stop assuming that it is.

    140. Re:No. by Anonymous Coward · · Score: 0

      Do you work with software product lines or equivalent of them, to use the CMU SEI terminology?

    141. Re:No. by Gr8Apes · · Score: 1

      I thought it was about successful software projects, not unique interchangeable snowflakes. Perhaps that's where Agile went wrong.

      --
      The cesspool just got a check and balance.
    142. Re:No. by Gr8Apes · · Score: 1

      I'm not sure where you got that one from? Users don't write specifications for software, a designer somewhere does. In fact, you support that with "The rest of the industry has found out that users in general don't know what they want" which is just all the more reason to not let them specific requirements. After all, what you want won't be what someone else wants. Someone needs to do the analysis of what they actually need. That's called requirements gathering. It actually takes significant time and effort in many cases.

      --
      The cesspool just got a check and balance.
    143. Re:No. by david_thornley · · Score: 1

      Requirements analysis will always fail to capture what the user wants, even if you use more intrusive techniques (waterboarding, good cop/dadaist cop, whatever), because the user doesn't know what the user wants. The user more often knows what the user doesn't want.

      Steve Jobs created an incredibly wealthy empire by having a good idea of what many people would want before they themselves knew it. Companies that took people who'd use stuff and concentrated on finding what they wanted fared a lot worse.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    144. Re:No. by Gr8Apes · · Score: 1

      Exactly, I wasn't going to bring Jobs up, but he was the designer and ultimate decider of what went into a system. Unfortunately, very very few designers can actually do this. But, he still gathered a list of requirements for the teams to develop :)

      --
      The cesspool just got a check and balance.
    145. Re:No. by Xest · · Score: 1

      "What doesn't are vendor specific items like IE6, and if you were developing specifically for that, well, then you made a terrible choice, especially if it affected your entire application stack."

      Oh stop showing you have no idea about software development. It's not about making a terrible choice, without being psychic one cannot make a better choice than supporting the two browsers that are used by the vast majority of the market. Not planning to support it when that's the status quo, and there's no obvious sign of impending change is utterly retarded. The fact that things did change is due to the unpredictable nature of technology.

      "So apparently, the only thing that needed changing in your case was the GUI. If you knew squat about web development, that would have been a relatively minor thing to change, provided that you knew what you were doing in the first place. Building to IE6 indicates otherwise however."

      The fact you think this shows how utterly out of your depth you are. The fact you believe you can blanket say that the UI is a small part of any project is utterly retarded, how do you know this? how do you know what the scope and scale of the project is? Stop talking about things you blatantly do not understand and cannot know about.

      "No, what I need to be able to do is take technology today, as it exists, pick the proper components, even if they are alpha/beta, and ensure that my choices are kept up to date and do what they need to do, especially in the alpha/beta area. It's called tracking your dependencies, and it's not accomplished by tying yourself to maven central."

      So in other words, use an agile process. Which is exactly what you're telling everyone not to do. Right.

      "Have you worked in the real world? Generally a project is envisioned, then estimated and budgeted. This happens at the beginning of a project, because generally shareholders (public companies) don't like to spend 50M on a project (promised functionality) and not receive a working model."

      Yes, and that's the point of Agile. It's designed to work in the real world where the only way you can truly estimate the amount of features you can implement for a specific cost is to actually do it. Thus, rather than pick a number and set of features out of thin air as with waterfall, you just set a budget, and keep rolling until you hit that budget, and what comes out is what is possible against that budget. If early on it looks like you're not even going to get close to the features you wanted for the budget, then you stop sprinting and fail early. This is far superior to failing late as with waterfall where you've blown your whole budget and ended up with something useless. Agile caters to change. That's the whole point.

      Your description of GM and agile just further highlights that you don't know anything about agile. Agile doesn't demand that there are no communications between teams and stakeholders. The whole point of the job of stakeholders is that they're getting what they need, and if they're not working with other stakeholders to make it fit then what you're actually dealing with are inept project managers, which, guess what? also make waterfall projects fail on a regular basis. Retardation isn't limited to agile, nor is agile a magic cure for it.

      "I'm describing the real world, how people try Agile, and how they and Agile fails. You can keep dreaming that it works"

      Okay, I'll keep "dreaming" that it works, along with everyone that uses it to succesfully deliver projects, you know, like everyone from Google, to IBM, to Microsoft, to those government folks you falsely claimed only ever use waterfall:

      http://www.cio.com/article/239...

      People deliver with agile, the fact you claim they don't is evidence that you failed to implement it, or used the wrong tool for the job. That's not a defect with agile, that's a problem with your project leadership.

    146. Re:No. by frank_adrian314159 · · Score: 1

      So your organization uses process change as a euphemism for "firing bad developers we were too chickenshit to fire for being bad in the first place". Sounds like a well-managed company with a recipe for a happy and productive workforce. I would like to subscribe to your newsletter, Catbert.

      --
      That is all.
  2. Is Agile Development a Failing Concept? by QuietLagoon · · Score: 0

    Yes.

    1. Re:Is Agile Development a Failing Concept? by Anonymous Coward · · Score: 5, Insightful

      No, it's just no longer selling as many books and consulting hours as it once did--so it's time to invent a new scam.

    2. Re:Is Agile Development a Failing Concept? by serviscope_minor · · Score: 0

      No.

      --
      SJW n. One who posts facts.
    3. Re:Is Agile Development a Failing Concept? by QuietLagoon · · Score: 0

      :)

    4. Re: Is Agile Development a Failing Concept? by IMightB · · Score: 4, Insightful

      I'll dub thee DevOps

    5. Re: Is Agile Development a Failing Concept? by Penguinisto · · Score: 2

      Nah - that one won't get as far - it usually requires that people prove their ability as both a sysadmin *and* as a developer (or at least as a member of a dev team). Most applicants choke hard on one or the other in the interview, and I'm not seeing a credible 'certification' yet that can paper over that deficiency.

      --
      Quo usque tandem abutere, Nimbus, patientia nostra?
    6. Re:Is Agile Development a Failing Concept? by Anonymous Coward · · Score: 0

      Exactly. That is why the Gurus are forever inventing new methodologies and managers are forcing them on programmers. Programming is stressful enough without having to deal with ever-changing process and methodologies.

    7. Re:Is Agile Development a Failing Concept? by Nethemas+the+Great · · Score: 1

      The biggest failing of Agile seems to be the interpretation that no one has to care about the big picture. Planning and preparation are too narrowly scoped to specific functionality. Even in that there's a tendency to be lazy. Implementation often degenerates into hack and paste.

      There's nothing horribly wrong with Agile development in theory. The chosen Agile method (yes I'm looking at you Extreme Programming), and especially the tendency to laziness sabotage development efforts.

      --
      Two of my imaginary friends reproduced once ... with negative results.
    8. Re:Is Agile Development a Failing Concept? by Anonymous Coward · · Score: 0

      no one has to care about the big picture

      Exactly! By definition, if can't fit into a single Sprint, then you cannot do it even if it is something your company needs to survive. You must die rather than complete the task. The last company I worked for needed to add a new ACA report, and despite dividing it up into more than twenty tasks, some of the tasks were still story pointed to more than a single sprint. Our board has directed that we are required to do Agile, and the certified scrum master they hired wouldn't let us start on the report. The report is required to be done by Dec 1 and with the lead time our customers need to collect and enter data, there is no way they can complete it in time. I left the company last month. They're going to lose the majority of their customers to this Agile-created mess.

    9. Re:Is Agile Development a Failing Concept? by tbannist · · Score: 1

      I would be very reluctant to blame the incompetence of your co-workers on Agile. It seems like that they were incompetent before Agile came along.

      --
      Fanatically anti-fanatical
    10. Re: Is Agile Development a Failing Concept? by drkstr1 · · Score: 1

      Maybe off topic, but is there good money in DevOps? I've always thought it would be something I excel at, and I usually ending up filling that roll anyways at the small shops I've worked at anyways. Are there fun and interesting problems to solve in that position, or is it mostly an admin task? How does it compare to something like systems design / architecture as a career path?

      --
      Fanboy Status: Apache Flex, C#, Eclipse, KDE, Pirate Party, Ron Paul, Slackware, Windows 7
    11. Re: Is Agile Development a Failing Concept? by Anonymous Coward · · Score: 1

      Though my career; I've been a developer and also have been in an operational roles. I also been on a DevOps team and my perspective is that operations suffers and it's not development either. The past few companies that I have worked at had a DevOps teams and the end result is that development is running operations without the operational knowledge and with no real IT department within the company. I decided to get another job with an actual title and wouldn't want another DevOps role.

    12. Re:Is Agile Development a Failing Concept? by turbidostato · · Score: 1

      "By definition, if can't fit into a single Sprint, then you cannot do it"

      That's right.

      But it works both ways: if there are things that cannot be fitted into a sprint, your sprints are too short.

      Nobody is telling that a sprint have to be two weeks long. Sprints should be as long or short as to be able to accomodate a significant result. Sometimes this means one week, sometimes three months, sometimes this needs to change from sprint to sprint or at least to product-livecycle phase to phase. The only requirement is for the sprint's duration to be fixed beforehand.

      "The report is required to be done by Dec 1"

      That's an OK bussiness need -at least, when it really is a bussiness need and not just a date to add pressure to your team, but one that some if not most of agile *methodologies* (no a problem with agilism by itself) can cope with.

      This only means that most probably this single request needs to be handed in a custom way: if the feature set is clear and fixed (and it probably is) even the charicaturesque version of waterfall-as-an-antipattern can perfectly work: you get the requirements, design the solution, asign a team for the expected time, test and deliver. I don't see what the problem can be with that -except, maybe, that the team needs to come from somewhere, probably the same team doing everything else, which would mean, say, no sprints for the next month, or a negotiation to push forward stories that don't requiere to be delivered by the people now reassigned to the report and if that's really the problem you are again failing on agilism, since one of its tenets is "Customer collaboration over contract negotiation": obviously, putting people to do "this" makes it impossible for that people doing "that" at the same time, so the customer needs to make up his priorities, or the team to be expanded at the risk of falling in "the mithycal man-month" trap.

      "Our board has directed that we are required to do Agile, and the certified scrum master they hired wouldn't let us start on the report."

      You see, "scrum" is not "agile" but an "agile methodology". Your "scrum master" looks to me more of a "scumbag master" than anything else, since he failed twofold:
      1) Within scrum, "The Scrum Master serves as a facilitator for both the Product Owner and the team", which he obviously failed to be.
      2) In the overall context of agilism: being scrum an *agile* methodology is naturally driven by agilism first, and that means "Working software" as well as "Responding to change" and he failed in both fields.

    13. Re: Is Agile Development a Failing Concept? by Penguinisto · · Score: 1

      Actually, it pays hella good money - My salary has almost doubled over the past 4 years. I still get recruiters bugging me at least 1-2 times a week (and I don't mean the bullshit Indian-run far-flung contract ones, I mean local recruiting companies in PDX that I know quite well.) Once a month or so I get emails from the really big name folks wanting to know if I want to move to Seattle, SanFran, etc. It's damn hard to find someone who keeps the title for more than 6 months, and I've been doing this since 2011 or so, back when it was just called "Systems Engineering", and you were at the mercy of numerous external teams.

      There is one trick, though, and it may just be my own bias showing, but you have to approach it with a heavy leaning towards operations. You don't want to get in a position where you're writing product code or doing QA, but instead acting more in an SCM/automation role in the dev teams. You do have to know enough about development to work well within the teams, but at the same time, you have to know enough about the IT side to know what you're asking them to do for you (or often to build it yourself), and to keep uptime at maximum.

      Here's where company size comes in, though, because company size usually determines what you do.:

      I work for a largish (1500-3,000 employee) company, which is, believe it or not, the least stressful way to do it (you have enough resources on either side that all you have to do is help make it all go smoothly.) In the larger companies, you are an advocate for Ops/NOC while you're within the dev teams, but you are an advocate for the teams when you deal with Ops and the NOCs. Meanwhile, you're building the automation (usually viz Puppet and a good ENC like Foreman if you're lucky), and doing your level best to make sure it all runs smooth. I usually find myself as a combination of right-hand-man and devil's advocate to the product owners and PMs, making sure that both of them understand fully what I'm up to, and what they're trying to navigate on their way to release (unless you're lucky enough to have good CI/CD in place, in which case everyone builds towards that). I find myself talking just as much as I am typing.

      ( One big caveat, though... some companies this size are murder to work under... especially if they're too into using H1-Bs to do the bulk of their dev work. )

      In a smaller company (say, 300-400 employees total), it's way different. In this environment, you're a little bit of everything, doing a bit of everything, and sometimes you get dragged in to help debug, help out QA, etc. Other times, you're troubleshooting issues on the load balancers. Other times still, you're helping the DBA hammer out a bad query into a good one. On the plus side, you get a lot more leeway as to what tools get used, what processes you want to have in place, etc. Just be prepared to bust-ass and put in a lot of long hours... I didn't mind working for a company like this, but the one time I did it, the Systems Architect and I didn't get along very well, to put it mildly. I think it was because I wasn't quite hipster/bleeding-edge enough when it came to how I approached production systems...

      I once did it all by myself with one dev team, for two small products, in a small company who inherited the project/team from a small acquisition they made. It actually was a lot less work, at least once I put the CI/CD process in place (the dev team and two QA guys didn't care - they just want it out and working). At that size it's just maintenance and scaling for growth ('course, that can go many ways, depending).

      --
      Quo usque tandem abutere, Nimbus, patientia nostra?
    14. Re:Is Agile Development a Failing Concept? by MoarSauce123 · · Score: 1

      That is why we went to three month sprints that fit neatly between our quarterly releases. We also ditched Scrum for a lose Kanban approach, no longer do retrospectives where we were asked to tell how we felt the sprint went (and if you speak your mind your boss tears you a new one), and stopped estimating. We never have enough info to even give a good estimate and there is no value in estimating 2 weeks when it takes 4 weeks in the end. Plus, being in QA, Agile is nothing else than mini waterfalls with the difference that I now have no clue what the business wants until stuff is coded and changed a dozen times. Without acceptance criteria all that is left to do is craft test cases that pass based on what was coded....ass backwards! Oh, and we do standup twice a week tops. Scrum is the worst of all Agile methods anyway, it was invented by the office supply industry because the consumption of post its and Sharpie pens is mindboggling. With Scrum we spent endless hours trying to split tasks into mini tasks, just to find out that some stuff takes longer than the arbitrary time box of 3 weeks. But then we were reprimanded for having nothing to demo when sprint was over and all that was done was database design. Folks don't dig ERDs and they are not impressed when all that changed was a check box. Agile is the hardest on QA. Agile is the free for all to not commit to anything and constantly change your mind. If you cannot tell me what you want I cannot tell you if it was implemented correctly. And since devs consider a story done as soon as code compiles it is especially tricky to get bugs fixed or testing done before equally arbitrarily set release dates. Agile is the death to quality. Ever wondered why software quality is in the toilet? Shipping features is more important than doing things right the first time...because it all has to get done in 3 weeks.

    15. Re: Is Agile Development a Failing Concept? by drkstr1 · · Score: 1

      Hey, thanks. This really helps a lot!

      --
      Fanboy Status: Apache Flex, C#, Eclipse, KDE, Pirate Party, Ron Paul, Slackware, Windows 7
    16. Re:Is Agile Development a Failing Concept? by turbidostato · · Score: 1

      Yes.

      Again a case of "methodology X" failing at delivering the expected but shinning at surfacing your company's misfunctions.

      Agile, being about "Individuals and interactions over processes and tools" is specially good at that.
      The paradox is that sane companies would react at all that revealed insanity and would take the chance to correct themselves, which the only thing it's impossible to be done in the companies that show this kind of insanity.

    17. Re: Is Agile Development a Failing Concept? by Penguinisto · · Score: 1

      I can see how that happens. It takes a lot of initiative and push on your part to make it happen the way you want it to... you cannot rely on either the Dev teams or Ops to do it for you. On my part, I am fully independent from either side of the house. Because I came into it from the operations side of things, I treat the dev teams as my customers, and the ops/IT teams as my resources. I will happily abuse or appease both as needed to get the job done, but overall, that's usually how I handle it.

      Thing is, you bring up a really good point: If you let either team take prominence, they will dominate your schedule, and eventually they will use you to own the other side of the fence. This is scarily common in both startups and huge corps alike, with only the actors changing. I'll explain who.how in a moment...

      It goes bad either way: Either you wind up with bleeding-edge eternal-beta product that constantly breaks because the dev teams (and marketing!) demand release über alles!, or you get stuck with a calcified slow-moving product roadmap because Ops (and the bean-counters) really hate change.

      In your case, the codemonkeys won the battle (which is, again, *very* common in startups and small companies.) If you worked for a large corp, it would be the opposite - a fight to keep the Ops guys from dominating things.

      Anyone who has worked in/as a competent SCM manager is (or at least damned well should be) familiar with how this works; DevOps just takes the SCM role and expands the hell out of it.

      DevOps also introduces one thing that the average code/server-monkey has never had to deal with: Inter-departmental politics. It's now up to you to keep The Force in balance, as it were, while at the same time putting in sane frameworks that not only scale up, but makes sure that everybody gets what they wants w/o unnecessary expense.

      --
      Quo usque tandem abutere, Nimbus, patientia nostra?
  3. Agile. by serviscope_minor · · Score: 5, Insightful

    DNRTFA, but I think this will be a fun thread.

    Regardless of what Agile really is (a true scotsman?) the abuses perpetrated in the name of agile are appaling. I think a lot of people think agile means something like:

    make bad developers good by not bothering to organise things properly

    Which is really amazingly appealing if completely bogus.

    --
    SJW n. One who posts facts.
    1. Re:Agile. by Anonymous Coward · · Score: 5, Insightful

      ...and make good developers bad by drowning them in meaningless process (i.e. create task for every minute change, span multiple tasks if it takes too long), all while making everyone less productive by wasting time in scrum meetings taking 2 hours every day.

    2. Re:Agile. by Maxwell · · Score: 2
      A lot of people think agile means "we can develop with no documentation now! "

      Which is also really amazingly appealing and also completely bogus :)

    3. Re: Agile. by Anonymous Coward · · Score: 1

      I thought it was writing crap on post it notes, then taking a break to work, throwing the post its into the trash, and writing new post its in a different color.

      An empathy driven approach to generating developer apathy to the constant change in focus.

    4. Re:Agile. by Anonymous Coward · · Score: 5, Funny

      I'm in a "stand-up" even as I type this response. Ours are typically only 30 minutes or so. Unless, of course, our PM decides to tack on some estimation at the end, then they balloon to an hour or more. Then our QA lead tacks on a discussion of every recently-active ticket.

      Most of us just check out of it mentally and go do something else (like read /.) after our personal status update.

      And it ended as I typed that last sentence. LUNCH TIME, MUTHAFUCKAS!

    5. Re:Agile. by Anonymous Coward · · Score: 0

      scrum meetings should not take 2 hours. If they are >30 min you're doing it wrong.

    6. Re:Agile. by gstoddart · · Score: 4, Insightful

      Yeah, people put it forward as some universally awesome technique.

      Different teams, different projects, different management .. you can't simply say "yarg, teh agile" and have it work in all cases.

      You don't see most other forms of engineering or building of stuff done in an agile manner .. bridge builders do not wait to design the deck until later, car makers don't just wing it an hope they'll be able to make the parts fit.

      For rapid prototyping and some kinds of projects, sure.

      But I've seen someone try to run a distributed project using agile techniques to build a replacement for a key piece of software with very specific requirements, and which needed to work against published interfaces.

      And the end result was a project which produced a random subset of required functionality, was abysmally late, what it did do it did poorly, and then the project was cancelled. And as often as not the developers were writing the eye candy before the functionality, and adhering to the published interfaces was non-existent because the people involved decided to reinvent the wheel and decided that the existing stuff didn't matter ... because apparently the existing stuff would magically take care of itself.

      Agile is a tool in the suite of project tools ... it's not universal to all projects, it doesn't produce perfect results just for being agile, and it sometimes doesn't even produce the required results.

      Saying "we're going to keep throwing pieces at it and hope that in the end we wind up with what we were hoping for".

      Like it or not, the waterfall method of development and project management still has its place, and it always will. And, likewise, I'm sure there are teams and projects for which agile will be an awesome fit.

      And sometimes the people who decide which method to use are the least qualified to run the project -- I've seen developers insist on agile and fail to deliver anything useful, and I've seen PMs insist on waterfall and do a terrible job of managing it.

      Methodology is a tool, not a magic wand.

      --
      Lost at C:>. Found at C.
    7. Re:Agile. by Austerity+Empowers · · Score: 1

      I have never seen Agile implemented successfully in a large corporation that had an "old-fashioned, stodgy" system in place that people "liked" (i.e. didn't want to change, however defunct). I define success as producing superior results. Serious developers don't care about the process and don't want it in their way, the only people who care are people that serious developers don't care about. The "by the book" types will do as told, because they don't want to put anything on the line. So basically you're changing a process the A players don't need, and the other people won't engage in. I'm all for wasting money that would otherwise be returned to wall street, but I'd definitely not use it this way.

    8. Re:Agile. by Anonymous Coward · · Score: 0

      Honestly, the single biggest fail of Agile was "if nobody asked for it, don't do it" because that's what made people turn off their brain. Fortunately the appearance of frameworks around this time let other people work on the things nobody was asking for, so when inevitably the customer asks for feature X which you didn't design in, you could patch that in without massive rewriting or horrible kludges thanks to the framework providing that functionality that you weren't asked to provide.

      One of my single greatest regrets in my early career was when I was asked to develop a web service that produced a PDF report. No problem right, you create a view that sets the application/pdf mime type and dumps the pdf to the browser. Next month I was asked to give the webservice an option to email the report instead of sending it straight to the browser. Whoops. After briefly trying to wrap the view in another view that used curl to connect to the first one and save the output as a file to a temp folder and attach it to an email and broke down as often as it worked correctly, I rewrote the original view to cache the output and either display it or email it to the user. These days I don't try to force everything into "this is a Model" "this is a View" or "this is a Controller".

    9. Re:Agile. by Anonymous Coward · · Score: 0

      yes because you are a special snow flake that shouldn't have to keep management in the know of your work. Besides they are just management plebs that don't know code! Better to have long drawn out useless meetings dictated by management that try to give direction that hardly resembles the work being done vs a short: this is what i have done, what i am doing, and this is what is stopping me.

    10. Re:Agile. by JohnFen · · Score: 0

      No matter how long or short they are, standups are worthless (except, I suppose, if the team is dysfunctional to begin with). In a well functioning team, everything that is supposed to be accomplished in a standup is accomplished in real-time as it happens. So there's nothing new to be said in the stand up.

    11. Re:Agile. by Anonymous Coward · · Score: 0

      If you can't design, Agile won't help. And I've noticed most projects that fail do so because the architecture and design is deficient, not because the team members are.

    12. Re:Agile. by Guspaz · · Score: 5, Insightful

      We limit our scrums to 15 minutes per day. If it's taking longer than that, you're doing something wrong. Your teams are too big, or your sprints are too long, or you're going into too much detail on items, etc.

    13. Re:Agile. by Guspaz · · Score: 1

      Huh? We've been burdened with far more documentation work since we went agile than before we did... It's all formalized now.

    14. Re:Agile. by JohnFen · · Score: 1

      Serious developers don't care about the process and don't want it in their way

      This can't be overstated. A great process is a process that is nearly invisible to developers, allowing us to get on with the development with minimal friction. Agile presents a great deal of friction. It is a process apparently designed to please middle management at the expense of developers.

    15. Re:Agile. by Anonymous Coward · · Score: 0

      If you think Scrum standups are about keeping management in the know of your work, you're the one who has misunderstood the concept...

    16. Re:Agile. by Penguinisto · · Score: 5, Funny

      Funny you should mention this... I actually got a lot of actual work done in the two-hour monster retrospective I sat through this morning. I just listen for my name and glance at the Kanban board occasionally to see if I come up next. :)

      Thank Heaven for wifi and laptops, is all I can say, else I'd never get anything done.

      --
      Quo usque tandem abutere, Nimbus, patientia nostra?
    17. Re:Agile. by JohnFen · · Score: 2

      I'll split down the middle of this. In the agile shops I've worked in, there has been a consistent strong aversion to producing documentation that is actually useful: design specs, etc. However, there has also been a consistent trend to dramatically increase the amount of worthless documentation: documenting the process itself (encouraged by tools like Version One).

    18. Re:Agile. by Anonymous Coward · · Score: 0

      management and tech lead are not mutually exclusive. but a special snow flake like you doesn't need to keep anyone in the know of your work!

    19. Re:Agile. by Anonymous Coward · · Score: 0

      yes because you are a special snow flake that shouldn't have to keep management in the know of your work.

      I keep my manager informed of what I'm doing every day without needing to do useless scrum meetings that are mostly people chit-chating about bullshit.

      Besides, a daily scrum as they are supposed to be done is meant for team members to get together to tell each other what they are doing. Managers are not supposed to be involved or run them.

    20. Re:Agile. by gstoddart · · Score: 5, Interesting

      But you know, development isn't about making developers 100% happy. It's about product.

      I spent around 15 years as a developer, and now I'm closer to a PM.

      Development has to have actual goals, clear targets, and measurable outputs -- because you're either writing something specific which has to work as designed, or you're releasing a version of a product which has to fix a set of things and add a set of features. Both of these will probably have deadlines.

      The problem is when we see it as "we must keep the developers happy" or "we must keep the middle management happy".

      You're all, in theory, on the same team. If the developers have no measurable yardstick to judge their progress, or middle management collects a bunch of meaningless metrics which don't help the development process ... you're doing it wrong.

      It has long been observed that managing developers is like herding cats.

      Fundamentally what is happening is you need to ensure all of the cats get to the same place at the same time. Some cats, once they understand the goal, will plan their own route and get there in plenty of time, and will assist in getting some of the other cats there ... others need to be dragged hissing and mewling to make sure they don't go off in random directions and not show up.

      In my experience, some teams will organically manage their stuff, and others need a good swift kick in the ass.

      I've met a few developers who need to have a little friction foisted on them, or they drift a little. And some of the best managers I've known are ex coders who understand this.

      The trick is to fool the cats into forming a self organizing collective, as well as implementing ways to keep tabs on all of the cats to ensure none have gone chasing butterflies.

      The specific methodology is as dependent on which cats you have as anything else.

      --
      Lost at C:>. Found at C.
    21. Re:Agile. by Anonymous Coward · · Score: 0

      The fact that you broke up my day for a useless meeting ... while I was *BEING PRODUCTIVE WORKING* and now your quick 15 minutes has cost 30 minutes to an hour of re-ramp. Every *bleeping* day?!?.

      Old Stupid: The project is behind schedule .. we need more status updates until we are back on schedule ...
      New Stupid: The project is humming along ... we need more status updates to keep things going ...

      WTF?

      There is only one single thing that agile actually brings to the table and almost always fails miserably at:
              EVERYONE should be aware of what they are building and WHO will be using it.
      Because if you know that then it is possible that you can deliver and useful tested product and side-step
      the inane requests and bogus requirements that derail the project.

    22. Re:Agile. by Anonymous Coward · · Score: 0

      On any team larger than 3 the standups give you a better chance to hear about what other people are working on once per day. I don't want to spend my time babysitting chat logs just to find out what other people are doing.

    23. Re:Agile. by the+grace+of+R'hllor · · Score: 5, Informative

      The hell? My daily standup is 2-4 minutes. Restrospective takes 15-30 minutes, subsequent planning takes another 30-45. We do weekly sprints, so you're looking at an average worst-case of averaging 19 minutes a day. Boo-fucking-hoo.

      If your standups take 2 hours, then screw that. Tell them what you did, what you're going to do, and what's blocking you. If someone wants to have a long discussion, sit back down and go to work, because the standup is apparently over. If anyone complains, tell them to take a course in scrum.

    24. Re:Agile. by Anonymous Coward · · Score: 0

      Save development time by not designing the whole system up front...just tack each little feature on one at a time.
      Then, save more development time by not actually refactoring the code, thus forcing the changes to actually be hacks, making the code become more fragile and less maintainable with every change.
      When the costs of maintaining these hacks starts to mount up, save more time by not bothering to write the automated tests.
      When the bugs come out, save more time by socially pressuring (or overtly requiring) developers to fix "their" bugs on their own time.
      Once the tipping point is reached, outsource the whole team and leave your customers holding the bag.

    25. Re:Agile. by Anonymous Coward · · Score: 0

      Besides, a daily scrum as they are supposed to be done is meant for team members to get together to tell each other what they are doing. Managers are not supposed to be involved or run them.

      management and tech lead are not mutually exclusive. as much as it is for other team members its for the lead to keep up to date with the team. The lead updates management. is there something wrong? Does it seem like we will miss a goal? is X developer not pulling their weight? Are our goals/iterations inline with corporate objectives? etc.

      Management should be able to get something out of agile/scrum. Either directly or indirectly. agile is a methodology to organize work, and management is about how to organize people to do the work it. Any tool to help achieve these organizational goals is laudable for management and/or tech lead.

      I keep my manager informed of what I'm doing every day without needing to do useless scrum

      Congrats, you work in a small team.

    26. Re:Agile. by Anonymous Coward · · Score: 0

      Do you sell scrum master certifications? Is that the reason you're so butthurt?

    27. Re:Agile. by angel'o'sphere · · Score: 4, Insightful

      If your Scrum meeting takes more than 30 seconds per developer, you are not doing Scrum.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    28. Re:Agile. by Anonymous Coward · · Score: 0

      Management should be able to get something out of agile/scrum.

      Sure. They get to micromanage and weigh down developers with tons of meetings and processes that serve little purpose besides ego masturbation.

    29. Re:Agile. by Anonymous Coward · · Score: 0

      You can shorten them further to the completely bogus "we can develop."

    30. Re:Agile. by Anonymous Coward · · Score: 4, Interesting

      Thank Heaven for wifi and laptops

      Sigh. That's why my company banned laptops from sprint planning and sprint retrospective meetings. With forty devs, it takes about six hours to score enough stories to keep all of us busy for two weeks. The retrospective, aka bitch sessions that really hurt morale, take a couple of hours. That's an entire day wasted every two weeks with nothing done. Add-in the JIRA-induced overhead, preplanning meetings, creating user stories, etc., and I think I only get to write code about ten hours a week. Agile is just too heavy of a process.

    31. Re:Agile. by Anonymous Coward · · Score: 0

      Yeah, I used to do that until I got dinged hard on my performance review for being "disengaged" during scrum meetings.

      Bastards.

    32. Re:Agile. by thedavidcathey · · Score: 1

      I see this, too. The Manifesto states "Working code over Comprehensive Documentation". Not "In Lieu Of" Comprehensive Documentation.

    33. Re:Agile. by Anonymous Coward · · Score: 0

      scrum meetings should not take 2 hours. If they are >30 min you're doing it wrong.

      That's the "no true Scotsman" argument that the OP predicted! serviscope_minor knows what Agile people are like. No matter how much of a disaster it is, they'll just claim you're doing it wrong. Our weekly sprint planning meetings take about seven hours because it takes a long time to score stories and because of language barriers. There's just no way to do them faster when you have to score enough stories and tasks to keep fifty devs busy. It is impossible to do it faster. Also, our team speaks five different languages so Agile's demands are just ridiculous. Not every dev needs to know everything about every single story and task. Also, the scrum meetings take about 90 minutes. Again, Agile's demands are just ridiculous. Even if every dev takes only 30 seconds and the various translations take 90 seconds, you're still looking at wasting 100 minutes at best per day. Our average dev spends over a 1/3 of their time in these Agile-required meetings. Add-in time to muck with JIRA crap, and you're probably looking at a 50% overhead for Agile.

      Agile just has too much process and overhead to be successful.

    34. Re:Agile. by Anonymous Coward · · Score: 0

      No. A tool has its uses and abuses. But please continue on your over simplification and poorly reasoned justifications.

    35. Re:Agile. by Creepy · · Score: 2

      Exactly - scrum is a status report to make sure everyone is on track, not a meeting to resolve problems. If you have problems, take it up with the scrum lead after the meeting. In three years of doing scrums, two hit the 20 minute mark and most are 10-15 at most.

    36. Re:Agile. by tshawkins · · Score: 4, Insightful

      Scrumm meetings should never be more than 15 mins, each team member gets 2 mins to describe what they did yesterday, what they will do today, and what inpediments they have. Scrumm meetings should be just the team standing around a whiteboard. They are fast, focusec, to the point and designed to get the team synced up and problems surfaced.

      If you are spending 2 hours on a scrumm meeting/standup then you have a seriously screwed process.

    37. Re:Agile. by Anonymous Coward · · Score: 0

      There's no oversimplification. I've been subjected to scrum meeting at multiple companies. What I described is exactly what happened with teams less than 10 and those near 50. Scrums were universally seen as a waste of time by the developers while the micromanagers who imposed them on us absolutely loved them. They did nothing to improve productivity.

    38. Re:Agile. by Anonymous Coward · · Score: 0

      yes because you are a special snow flake that shouldn't have to keep management in the know of your work

      If that's what you think SCRUM meetings are for, you're as ignorant as a snowflake yourself.

      Besides they are just management plebs that don't know code!

      Usually that is correct. It shouldn't be - but most times they are. And usually they're management that have issues of inadequacy and don't trust their people because they have even bigger managers riding their asses.

      Better to have long drawn out useless meetings dictated by management that try to give direction that hardly resembles the work being done vs a short: this is what i have done, what i am doing, and this is what is stopping me.

      Sadly most of these meetings are precisely that. Want a status? Ask me. If I have questions, I'll bang down the managers door to tell me who I need to ask. His/Her management role is to clear the red tape bullshit so I can do what I need to do. Not babysit some asshat manager that wants every detail every day.

    39. Re:Agile. by Creepy · · Score: 1

      Yep - the story should document the feature. If it doesn't, the story isn't complete. We ship our stories straight to our pubs group for documentation if the feature needs documentation, and the story is flagged with "requires documentation" when put on the task stack. If another story adds on to that feature, that goes to pubs to update that feature. If anything, our documentation is better now than it was before, where the developer had to submit a documentation request (which resulted in lots of undocumented features because everyone thought someone else submitted it).

    40. Re:Agile. by Anonymous Coward · · Score: 1

      Your common sense post made me openly weep. Notes like yours are the reason I have yet to eat a bullet because I still feel there is hope in this world.

      How you stay sane is beyond me...

    41. Re:Agile. by Anonymous Coward · · Score: 0

      Then you might have other issues in your team/company besides using agile vs another methodology. I would bet a different methodology would have similar results in that situation (have been there, the methodology changed, but it wasn't until there was a mixup with management did our outcomes change.)

    42. Re:Agile. by Anonymous Coward · · Score: 0

      Agile is a way for management to burn you into the ground. Every day you spend the morning in a standup (comedy?) with bill lumberg and talk about what you did and what you're going to do - with the expectation that you'll be 8 hours worth of productive. Then after lunch you get to start on a "sprint". Rinse and repeat. This will lead to burnouts and bad code quality - which is acceptable if you're building yet-another purchasing/procurement/accounting nonsense application for a fortune 500.

    43. Re:Agile. by brix · · Score: 5, Insightful

      Well no wonder - 40 devs is way too large for a single scrum team. And both of those meetings should take place at the team level, not for everyone working on the product. Why not split into 4-5 smaller scrum teams and let the SMs and POs coordinate any inter-dependencies?

    44. Re:Agile. by JohnFen · · Score: 1

      But you know, development isn't about making developers 100% happy. It's about product.

      Of course I know (and agree) with this. However, when (as has been my experience) agile actively makes developers unhappy in addition to reducing productivity, the product will inevitably suffer.

      My experience (both as a PM and developer) has been that Agile projects tend to take longer to produce a worse product.

      If the developers have no measurable yardstick to judge their progress, or middle management collects a bunch of meaningless metrics which don't help the development process ... you're doing it wrong.

      True, but all of that has little to do with Agile specifically.

    45. Re:Agile. by Anonymous Coward · · Score: 0

      Maybe, but it's been a pretty universal experience for the hundreds of developers I've worked with at my various jobs who have had "agile" foisted upon them. This is the big problem that Agilistas just shrug off and never address. No one cares about how great your methodology could be in theory when it's poorly executed in the vast majority of cases. Agile is a lot like Communism.

    46. Re:Agile. by Desler · · Score: 1

      Better to have long drawn out useless meetings dictated by management that try to give direction that hardly resembles the work being done vs a short: this is what i have done, what i am doing, and this is what is stopping me.

      Scrums mostly are long, drawn-out, useless meeting dictated by management. You must work at one of the only handful of companies where this isn't the case.

    47. Re:Agile. by Anonymous Coward · · Score: 0
      If the goal of those scrum meetings is to communicate to team members/tech lead and communication is where there are short falls in your team. Would that still be resolved with waterfall or some other paradigm?

      If I was in that team, I would ask: What are some ways to facilitate communication without taking 90 minutes? Every team has its own dynamics and there is no silver bullet for software development to solve all problems.

      That's the "no true Scotsman" argument that the OP predicted! serviscope_minor knows what Agile people are like. No matter how much of a disaster it is, they'll just claim you're doing it wrong.

      If the definition of a scrum meeting has "short amount of time" and you are not taking a "short amount of time"... Are you still scrum/agile or some else with scrum/agile aspects?

    48. Re:Agile. by shmlco · · Score: 1

      If you have 50 devs in meetings then your teams are too large. Learn how to properly breakup your project into epics, features, and stories that can be properly handed off to smaller teams.

      --
      Any sect, cult, or religion will legislate its creed into law if it acquires the political power to do so.
    49. Re:Agile. by HornWumpus · · Score: 1

      One direction communication is _always_ better done by email than meeting.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    50. Re:Agile. by Desler · · Score: 1

      If the definition of a scrum meeting has "short amount of time" and you are not taking a "short amount of time"... Are you still scrum/agile or some else with scrum/agile aspects?

      Once again propagating the "NoTrueScotsman" argument. It is impossible for a large team to have a scrum in a "short amount of time" unless they talk for only 5 seconds.

    51. Re:Agile. by shmlco · · Score: 1

      " I don't want to spend my time babysitting chat logs just to find out what other people are doing."

      So up a dedicated team slack channel where everyone posts their status each morning at 10:00. (Or 9, or whenever.) It's lighter weight than a meeting, faster to parse, records status for management, and you don't need to "babysit" a chat log.

      --
      Any sect, cult, or religion will legislate its creed into law if it acquires the political power to do so.
    52. Re:Agile. by tshawkins · · Score: 1

      >Also, our team speaks five different languages so Agile's demands are just ridiculous.

      I think you must be a special case, i have never heard of a team that has 5 seperate lanaguages in play which they need translations for. In tech today if you dont speak english your dead in the water. I have a whoke dept of devs who speak tagalog and english, and we hold our meetings in english. Having 5 translatable languages on the go is just buying trouble no matter language you use.

      I speak 5 european languages, and the only time i have ever seen anything close to that was when working at the EU offices in luxembourg on a publishing project in the mid 90's (pagination in 17 translation languages, so that the paragraphs of text all fell on the same page numbers in each version of the document) . Meetings usualy reduced to a even mixture of about 60% english, 20% french and 20% german. But we did not need to translate as all participants spoke all 3 languages. However if there was say somebody from greece in the room then we would conduct the meeting 100% in english, as everybody at a minimum spoke english and thier native language.

    53. Re:Agile. by dmaul99 · · Score: 1

      EXTREME PROGRAMMING!!!

      Ugh.

    54. Re:Agile. by tshawkins · · Score: 3, Insightful

      Standups are all about keeping the team synced up and surfacing issues preventing completion of tasks. They are so the scrum master and the team lead can do thier jobs and smoke out and remove impediments. They are not about providing management status reports, I get that data by inspecting the project burn down charts, and the bug tracker ticket reports for the sprint. Nobody writes down any minutes for standups, so they are not about management or reporting, scrumm master and tech lead may make notes do they can investigate blockages.

    55. Re:Agile. by gstoddart · · Score: 1

      Honestly though, I'm surprised this annoys the developers.

      Mostly I've heard of developers asking for agile, and management saying no because it didn't seem to come with enough adult supervision.

      --
      Lost at C:>. Found at C.
    56. Re:Agile. by phantomfive · · Score: 3, Insightful

      IMO if you have to meet every day, you're already doing it wrong.

      If you need something from someone, or are having a problem, there is no reason to wait until the next day to bring it up.
      If your scrum is a 'status meeting' and you also have an issue tracker (like Jira), then they are redundant.
      If you are working with someone in the same section of code, and you need to go to a meeting to find out status, you are doing something wrong.
      If you are bringing up issues in a meeting that don't relate to 90% of the people there, you are doing it wrong.

      To look at it a different way, the Linux kernel coordinates hundreds of developers perfectly well without having a daily standup. You can do that too.

      --
      "First they came for the slanderers and i said nothing."
    57. Re:Agile. by tshawkins · · Score: 2

      Its n to n, do you really want to have to read through a bunch of emails broadcast to everybody from everybody. standup makes sure everybody DOES sync up, no phones allowed, no laptops or tablets. Focused syncing of purpose.

    58. Re:Agile. by Cederic · · Score: 2

      And the end result was a project which produced a random subset of required functionality, was abysmally late, what it did do it did poorly, and then the project was cancelled. And as often as not the developers were writing the eye candy before the functionality, and adhering to the published interfaces was non-existent because the people involved decided to reinvent the wheel and decided that the existing stuff didn't matter ... because apparently the existing stuff would magically take care of itself.

      I'm confused. What the fuck does any of that have to do with Agile development?

      Adopt any fucking methodology you like and it would've gone wrong because you were clearly employing clowns.

    59. Re:Agile. by Anonymous Coward · · Score: 1

      I have to agree and I have come to use agile/waterfall in very specific instances

      Agile: Requirements not well defined or likely to change.
      Ex: A client writing a new software product. Especially someone new to the IT world.

      Waterfall: Well known and defined requirements.
      Ex: Rewriting a currently used piece of software.

    60. Re:Agile. by Anonymous Coward · · Score: 0

      NO NO NO. We put ALL of our postit notes into a folder and scan them into our wiki.

    61. Re:Agile. by Cederic · · Score: 1

      That confuses the hell out of me. As a software engineer I was begging to use agile approaches because they reduce the amount of friction getting from 'business need' to 'happy user'.

      What do you want? Ok, here it is. Did you want documentation? Ok, here that is. What's next?

      I had to convince management to let us just fucking get on with adding value, they were sat there amazed that people could work so efficiently.

    62. Re:Agile. by Anonymous Coward · · Score: 0

      I've run a development shop for 8 years and one of the most productive tools we added was a simple web interface on our source control system.

      We put trac in place (http://trac.edgewall.org/) and anyone who didn't check enough in was shamed into catching up by their peers. Just making code changes easy to look at was enough to make all the cats run in mostly the same direction. (github and many other tools also do this)

    63. Re:Agile. by superflippy · · Score: 1

      How often does your PM (also the SM?) re-estimate the stories? I could understand doing that at the end of a sprint, but not in the middle of development, other than "How's that widget coming? I should be done tomorrow."

      --
      Your fantasies contain the seeds of important concepts.
    64. Re:Agile. by Anonymous Coward · · Score: 0
      Really? Or are you missing the very real definition what is supposed to occur. As per wikipedia. http://en.wikipedia.org/wiki/S...

      Each day during a sprint, the team hold a daily scrum (or stand-up) with specific guidelines: All members of the development team come prepared. The daily scrum starts precisely on time even if some development team members are missing. The daily scrum should happen at the same location and same time every day. The daily scrum length is constrained (timeboxed) to fifteen minutes. Anyone is welcome, although normally only the scrum team roles contribute.

      If you do not have those specific guidelines, are you still scrum or something else with scrum/agile aspects?

      Because you obviously don't understand the no true scotsman, here you go. Emphasis mine. http://en.wikipedia.org/wiki/N...

      When faced with a counterexample to a universal claim ("no Scotsman would do such a thing"), rather than denying the counterexample or rejecting the original universal claim, this fallacy modifies the subject of the assertion to exclude the specific case or others like it by rhetoric, without reference to any specific objective rule.

    65. Re:Agile. by epine · · Score: 1

      In tech today if you dont speak english your dead in the water.

      Emphasis on the word "speak".

    66. Re:Agile. by penandpaper · · Score: 1

      Yes, because what you have seen and experienced is obviously the only reality of one methodology in software development. The only people that promote such a methodology is a shill because they are selling books. I cannot validate these claims but we all know its true. I experienced therefore what you say is wrong.

      Did I miss something?

    67. Re:Agile. by Anonymous Coward · · Score: 0

      I'm confused. Could you explain this in a car analogy?

    68. Re:Agile. by phantomfive · · Score: 4, Interesting

      A lot of companies actually sit down during their stand ups, because they last too long to stand the whole time.

      I've tried to point out the stupidity of this situation to some of these people (at least change the name!), but the irony escapes them.

      --
      "First they came for the slanderers and i said nothing."
    69. Re:Agile. by phantomfive · · Score: 2

      Scrumm meetings should never be more than 15 mins, each team member gets 2 mins

      If you have 8 members, that's already more than 15 minutes.

      --
      "First they came for the slanderers and i said nothing."
    70. Re:Agile. by HornWumpus · · Score: 2

      The status updates are just status updates. n one way communications. No discussion/planning allowed.

      I'd rather have them in my inbox (where they won't change) then have to listen to them. I can read faster than most people can talk. Written communication is usually better thought out.

      Also I can just cut and paste my daily status updates.

      That said: I'm team lead. So I'm keeping track of what everybody is doing, most devs only need to know what one or two others are doing and can read only those updates.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    71. Re:Agile. by Anonymous Coward · · Score: 0

      Sure sounds like a continuation of college.

    72. Re:Agile. by lgw · · Score: 2

      Besides, a daily scrum as they are supposed to be done is meant for team members to get together to tell each other what they are doing. Managers are not supposed to be involved or run them.

      A great sign that you're doing Agile right is the absence of weekly status reports. Your boss should learn all he needs by listening to the scrums, and seeing what actually get delivered at the end of each sprint. If you have scrums and also have weekly team meetings or status reports, then you have the worst of both worlds, and should probably fire your boss (economy permitting - lots of hiring in the Seattle area!).

      --
      Socialism: a lie told by totalitarians and believed by fools.
    73. Re:Agile. by lgw · · Score: 3, Informative

      Standups are the one time you're guaranteed to catch everyone on your team, so that you can't be blocked for more than a day on anyone internal - and the scrum master should be taking note of anything external your blocked on.

      When scrums say more than "I'm on track, next" or "I'm blocked by X" or "I'm late, sorry", the only real excuse is that you're not using any issue tracking system for tasks, and so the 15 minutes standing around at least saves you the time to keep fiddling with tasks in a DB. If it takes more than 15 minutes, you should just walk away from the standup (I've done this before - it sends a strong signal once multiple people have the courage to do so).

      --
      Socialism: a lie told by totalitarians and believed by fools.
    74. Re:Agile. by lgw · · Score: 1

      You should never have more than 8 people in a scrum team. That's a sure sign you're doing it wrong. 5 or fewer devs working together on a set of features, plus the overhead - that's the team - not all the guys who happen to report to the same manager or some shit.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    75. Re:Agile. by phantomfive · · Score: 2

      If you have fewer than 8 people on your team, the quality of the members on the team matters more than the methodology. As MMM pointed out, with a small team, any method can work.

      --
      "First they came for the slanderers and i said nothing."
    76. Re:Agile. by phantomfive · · Score: 1

      you should just walk away from the standup

      My favorite thing to do.

      --
      "First they came for the slanderers and i said nothing."
    77. Re:Agile. by lgw · · Score: 2

      Not when you have a large project, being delivered by 30 or 100 devs. You don't do scrum at that level (well, some do some silly scrum-of-scrums nonsense), but you do do Agile. The actual teams developing the deliverables, though, need to be kept small for scrum to work. (There are non-scrum flavors of Agile, too).

      However big or small your project, however, if you don't accept that requirements will change, and choose some methodology that makes it cheap to change, or if you don't get the smallest V1 you can into actual customer hands as fast as you can, to learn what you really should have built, it's time to get with the century. (Unless you're making an airplane engine or something.) Agile has some strong points here, and I'm sure there are yet better ways, but waterfall is only really suited for projects with immutable and certain requirements (as building the software for some complex hardware project sometimes is).

      --
      Socialism: a lie told by totalitarians and believed by fools.
    78. Re:Agile. by phantomfive · · Score: 2

      However big or small your project, however, if you don't accept that requirements will change, and choose some methodology that makes it cheap to change

      What methodology from the last 40 years doesn't accept that requirements will change?

      --
      "First they came for the slanderers and i said nothing."
    79. Re:Agile. by Anonymous Coward · · Score: 0

      The daily standup meeting is not a status meeting. It is a time for communication so that all your team mates don't have to go around asking you how you are progressing. After all, they are just as responsible as you that the task gets done. It is also a time to inform the team that you are still waiting for an impediment to be removed. Of course, when you first realized there was an impediment, you spoke with the scrum master about it. But this reinforces to the team that there is a problem.

    80. Re:Agile. by tshawkins · · Score: 1

      Waterfall

    81. Re:Agile. by phantomfive · · Score: 2

      Fail. No one does real Waterfall; 'waterfall' is a strawman that Agile advocates like to make fun of, but doesn't exist in real life.

      --
      "First they came for the slanderers and i said nothing."
    82. Re:Agile. by tshawkins · · Score: 2

      We practice stop/start/continue retrospectives where each team member gets to put up at least 3 items. They are then ranked by frequency ( if 3 people say that doughnuts every morning is a continue item) it gets a rank of 3.

      It a structured and relativly fast process, we take the top 5 stop/start items and apply them on the next sprint. It important to limit it to 3 or 5 so that its achievable.

      Hence the retrospectives can be reduced to under an hour.

      We also practice the 70/30 rule, only 70% of the devs time is countable towards sprint velocity, the 30% is used for meetings, estimating, reports, and other non coding stuff. It also provides a buffer for doing 911 fixes etc. I dont employ engineers to be just coders, I employ them to produce products, and that involves being able to interact with the rest of the org. This "I just want to code" attitude is stupid and shows an individual with very limited capacity. They need not apply here.

      We also have a ticket gate called "dev ready" which is a state that says that all required artifacts are ready to go, all the assets have been provided, the data needed is available, the product owner etc are available for UAT. User stories are done etc. This stops tickets being planned into a sprint that cant be completed because of outstanding unknowns.

      Its down to the program managers to work with the business, BA's, SA's etc to get tickets into a dev ready state before the dev teams will even consider looking at them And planning them in. Our business folks now know they have to cough up all the required information if they want thier feature added.

      Im moving to small fast dynamic teams, that are never more than 4-6 devs and are reformed every 2-4 weeks. I have 45 devs in our pool. QA is also dynamicaly assigned on demand. It provides varience to the work people do, and makes sure that people dont get bored or stuck in a rut. People that cant cope with the level of change need not apply.

      Finaly we are shifting to continious deployment, where we stop having releases all together, instead the teams will prepare sets of completed "feature" branches and hand them off to a "release engineering team" who will integrate test and deploy. We have this working already on our flagship products, and it works well. We have gone from one release every 2-4 weeks to a steady stream of enhancements or features being pushed to the site. The cool thing about continious deployment is that the individual changes are much smaller, not the big release, so deployment and rollback if needed is simpler.

      We have seen the rate that we can get through work rise considerably, we practice continious integration and have QA doing initial go/nogo testing direct on the devs workspace. We use automated unit tests and black box testing based on selenium integrated with jenkins extensivly. Backed up with manual testing in integration by about 20 QA engineers, I have a team of 6 engineers working just on QA automation support and developer toolchain enhancements.

      By moving to this continious model which is fully change driven, we have removed the difference between a 911 patch event and a feature element, so 911 patches etc are no longer as disruptive as before, the may result in a reshuffling of priorities. but its no big deal anymore. If we have a specialised long running development needed to add a large feature, I just form a team to handle that one item and allow them to itterate their own cycles until its done.

    83. Re:Agile. by phantomfive · · Score: 1

      Fundamentally what is happening is you need to ensure all of the cats get to the same place at the same time. Some cats, once they understand the goal, will plan their own route and get there in plenty of time, and will assist in getting some of the other cats there ... others need to be dragged hissing and mewling to make sure they don't go off in random directions and not show up.

      Good leaders teach the latter how to be like the former.

      --
      "First they came for the slanderers and i said nothing."
    84. Re:Agile. by tshawkins · · Score: 1

      My experience is that standups are 10-15 minutes, in the 3 orgs i have done agile in, its always been the same. We hold the meetings standing up at the team whiteboard which is situated at the end of thier seating area.

    85. Re:Agile. by lgw · · Score: 2

      I've been on several projects over my career where months were spent designing stuff in painful detail, and half the design would inevitably be thrown away as requirements changed during the 18-month release cycle. Throw-away coding work, throw-away design work, throw-away costing and task breakdown work. What crap. And then people would start getting indignant about requirements changes (because no one likes to see work thrown away), and it's all downhill from there.

      And then at the end, the PMs are livid that we built what they asked for, instead of what they wanted, and its too late now to change. I've seen some horrific shit under the waterfall. At least there's legitimate cause to say that people who screw up that badly with Agile aren't doing Agile by-the-book, while the people who screw up that badly with waterfall made the mistake that they are doing waterfall by-the-book.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    86. Re:Agile. by phantomfive · · Score: 2

      Sounds like your problems weren't the development methodology, they were poor communication.

      (Oh, and what flavor of waterfall were you using?)

      --
      "First they came for the slanderers and i said nothing."
    87. Re:Agile. by gstoddart · · Score: 1

      Actually, there were a fair few good developers on the project.

      But either because the person running the project as agile was an idiot, or the developers got a little too much free rein ... the project went to hell in a hand basket.

      The devs started off saying how awesome it was they'd be doing agile development and how we should all drink the koolaid.

      They ended up by saying how badly managed of a project it was, and how tragic it was they couldn't build what they'd set out to do.

      So, Agile development has every bit of capacity to produce shitty outcomes. Because, as I said, Agile isn't fucking magic.

      If you run your project as an open scrum with no rules, you might end up with shit results because nobody is enforcing an actual schedule with actual specified features.

      Agile is not now, and never will be, a cure all solution. And it sure as shit isn't guaranteed to produce outcomes.

      So when someone says "we should totally do this project using Agile methodologies" the question should be "have any of you clowns successfully done a project with agile?" If the answer is no, you probably shouldn't use it, because you're just being buzzword compliant.

      --
      Lost at C:>. Found at C.
    88. Re:Agile. by Anonymous Coward · · Score: 0

      Scrum, the methodology where everyone gets to tell everyone else they aren't doing scrum.

    89. Re:Agile. by Anonymous Coward · · Score: 0

      The thing about standup is no one gives a shit except the PM. Why can't status updates be done via email to the PM? I don't give a rats ass what John is doing, I've gotta get my shit done and it's hell because Agile allows people to give shitty specs that they don't really have to think about, because they can just change it next iteration.

      Agile is for shitty specs. "It's not a shitty spec, it's a changing business requirement." Bullshit, 9 times out of 10, it's changing because the person who is in charge of defining the spec is a fucking moron.

    90. Re:Agile. by Anonymous Coward · · Score: 0

      Because all that does is add even more process and meetings.

    91. Re:Agile. by Anonymous Coward · · Score: 0

      Why not split into 4-5 smaller scrum teams and let the SMs and POs coordinate any inter-dependencies?

      Because that's too simple and obvious to be the right answer. Seriously though, armies have been organizing themselves into sub-groups for millennia now, so you'd think that such a basic management technique would go without saying, but apparently not.

    92. Re:Agile. by Anonymous Coward · · Score: 0

      If the team is small, why do you need to "catch up" everyday anyway?? And if the team is big, it doesn't make sense to have stand-ups since that'll drain everyone's time.

      It should be the manager who KNOWS who is doing what.

      If someone is blocked, the problem should be raised immediately. They should not wait for the standup to inform others of this.

    93. Re:Agile. by Anonymous Coward · · Score: 0

      One effective technique that we use at our company is to speak up and tell the offending party that they should take it offline with those who need to be involved. If there are nods of agreement or verbal ayes then the discussion stops right then and there to be continued after the main standup is over with whomever it need concern, but not while the whole team is standing around just so that 2 or 3 people can wander off into the weeds while everyone else is forced to stand around and listen.

    94. Re:Agile. by lgw · · Score: 1

      The manager should know how? The problem should be raised how? Ideally, whoever you need is immediately available, but in the real world, it's good to have a 15 minute window each day when everyone is there and paying attention.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    95. Re:Agile. by bingoUV · · Score: 1

      The manager should know how? The problem should be raised how?

      Email? Instant Messenger? Issue tracker with email/SMS notifications? Phone?

      Whatsapp? If Wuthering Heights can be played in semaphore, surely people creating software should be able to find a method to communicate?

      --
      Bingo Dictionary - Pragmatist, n. A myopic idealist.
    96. Re:Agile. by Anonymous Coward · · Score: 0

      Yes, Developers acting like entitled children is what has been a major contributor to the same issues the Developers cry about.

      If you act like a spoiled baby, you will be treated like one.

    97. Re:Agile. by Anonymous Coward · · Score: 0

      Your company is doing it wrong. 40 is a monster team. Split into more teams.

    98. Re:Agile. by david_thornley · · Score: 1

      Depending on the management, what management imposes as "agile" can be worse than before, and that will make the developers unhappy. It will also likely make the projects late and of bad quality.

      We've seen mention of forty-person scrum teams and two-hour "standups" here. I would regard that as a fate worse than waterfall.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    99. Re:Agile. by godefroi · · Score: 1

      Plus, then you get to do "scrum of scrums"! It's fantastic!

      --
      Karma: Poor (Mostly affected by lame karma-joke sigs)
    100. Re:Agile. by godefroi · · Score: 1

      It's funny, because Agile says that standups aren't for the PM, they're for the team members. Except that we all know that in reality, they're so the PM can micromanage.

      --
      Karma: Poor (Mostly affected by lame karma-joke sigs)
    101. Re:Agile. by godefroi · · Score: 1

      Save development time by not designing the whole system up front...just tack each little feature on one at a time.

      That's not agile, that's test driven development.

      --
      Karma: Poor (Mostly affected by lame karma-joke sigs)
    102. Re:Agile. by siliconsmiley · · Score: 1

      If you're daily stand ups are 2 hours a day, yur doing it wrong. Either your teams are too big or people are talking too much.

    103. Re:Agile. by Anonymous Coward · · Score: 0

      Just breaking your focus to go to a meetign every day cost you at LEAST 1 productive hour per day.

    104. Re:Agile. by Anonymous Coward · · Score: 0

      I have a very hard time finding humanss capable of understanding what I did ina whole day of work in less then 2 minuts. Ifg my work was as menial as somethign that coudl be described in 2 minutes, then I would be useless. If you can ... then maybe you are nto doingenough or your job can be replaced by an undergraduate.

    105. Re:Agile. by Anonymous Coward · · Score: 0

      Our scrums are stand up meetings which forces everybody (read: PHB) to be quick since he doesn't like standing. Half our devs use standing desks all day so having a stand up meeting doesn't actually bother them - they're just quick because they want to get back to work. Scrums should be just enough for each person to answer the three questions: What did you do yesterday? What do you plan to do today? What are your roadblocks? If you're going beyond that you're doing it wrong.

    106. Re:Agile. by dataspel · · Score: 1

      The customers of your webapp may tolerate continuous deployments and the inevitable rollbacks, but not all of us are so lucky. After their production network crashes and burns because of our product, we quickly learned that paying customers will take the latest release and park it in their lab for 6 months or a year before risking it on their live network. Agile is great for keeping devs accountable and on track, but real software cannot be continuously released.

    107. Re:Agile. by Anonymous Coward · · Score: 0

      Precisely. The problem is that agile has now become a behemoth that people are able to project any nonsense on. Reading about 2 hour standups (why are you supposed to stand up?), 40 developer sprint teams, and people complaining about more meaningless processes freaks me out a little. Truly, this is the degradation of the original idea.

    108. Re:Agile. by frank_adrian314159 · · Score: 1

      If your Scrum meeting takes less than 30 seconds, you must not be doing Scrum either. Scrum is not about rigid time absolutes, it's about communication. Too much? Bad. Too little? Bad. Sometimes you need more, sometimes you need less. By the way, Scrum masters are often bad at determining which communication is important and how long stand ups need to last on both the short and long ends.

      Ultimately, the question is not your "One True Scotsman" shibboleth, but what is industry standard. And right now, industry standard is standup meetings that run too long, transmit too little useful information, and take up too much project time as a percentage. Are we getting the transparency "bang for the buck" that Scrum promises from its process or were we better off with half-hour weekly status meetings and dailys when projects were coming down to an end? Are standups what bring value to the process or is it all of the other practices that often get snuck in on the back of Scrum? Strict timeboxing on tasks, TDD, continual improvement, transparent status, all of which actually reduce risk? How much does the standup actually bring to the party? More importantly, why is the Scrum community unwilling to discuss questions like this, simply saying "It's not true Scrum, so I don't care."?

      --
      That is all.
    109. Re:Agile. by angel'o'sphere · · Score: 1

      A scrum meeting should not take more than 30 seconds per person, perhaps 90 for one or two persons, but not EVERY.

      Sometimes you need more, sometimes you need less. By the way, Scrum masters are often bad at determining which communication is important and how long stand ups need to last on both the short and long ends.
      Might be so, however it is clearly defined in Scrum what the stand up is about, you answer three questions:
      a) what did you do yesterday and did you finish it
      b) what are you planning to do today
      c) are you blocked by obstacles someone has to remove for you

      Every other discussion/communication has to happen outside of the Scrum meeting in smaller circles (so only the relevant people are involved).

      More importantly, why is the Scrum community unwilling to discuss questions like this, simply saying "It's not true Scrum, so I don't care."?
      As long as you have not implemented an agile method, regardless which one, there is nothing to discuss (about that method). So what is your point? If you have questions join the relevant mailing groups or e.g. the discussion groups on linkedin.com

      When your standup meetings are longer than 30-60 seconds per person, that means in a team of 10: roughly 5 minutes, then you are not doing Scrum. If you can not even conduct a Scrum meeting in the way it is intended, then it is very likely that your other Scrum activities need improvement, too.

      Your critics sounds like a guy who likes to lose weight, but instead of doing the every day 2 hour exercises only does every second day 45 minutes.

      Instead of eating healthy breakfast and lunch and dinner and stopping snacks in between, he eats half of the usual breakfast, lunch, dinner but keeps the snacks.

      Afterwards he claims: hey!! I at least did half of the stuff, so I should see half of the effect. And that is where he is wrong ... same with agile methods (or for a matter of fact: with any "process" regardless if for software or for material goods), you either implement them, or you don't. Cherry picking easy stuff and not doing those things right and then struggling to see a positive effect is just plain dumb.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  4. Good idea, hard to implement in the real world. by grimmjeeper · · Score: 4, Insightful

    Like so many other things, it's very difficult to take an ideal theory and put it into practice in the real world. If your team really understands the ideas behind Agile and you have a good process in place to make it happen, you can have a great deal of success.

    Unfortunately, like so many other things in life, most teams don't get it right and they end up failing to some degree or another.

    1. Re:Good idea, hard to implement in the real world. by Anonymous Coward · · Score: 0

      It's not just an understanding gap. There are physical gaps to fully implementing agile. Some companies use developers on the other side of the planet. How are they supposed to sit together with the rest of the team members? And some companies cannot provide a dedicated business partner who can sit with the team throughout the project. Also, it isn't always possible to get full time resources from other IT teams that are needed on a normal project. The larger a company and project are, the more specialized people are involved, the more difficult it is to fully implement agile.

    2. Re:Good idea, hard to implement in the real world. by Anonymous Coward · · Score: 0

      I disagree. With all the agile trainings that are going on all the time, I tend to think what's happening is the money is starting to dry up doing all the agile training consulting work, so it's time to rebadge it and start reselling it as a new better method and keep that gravy train going.

      I'm sorry, but agile was only in the most minor way different than pretty much every other design methodology I've ever had to use at work.

    3. Re:Good idea, hard to implement in the real world. by Phoenix+Rising · · Score: 2

      Like so many other things, it's very difficult to take an ideal theory and put it into practice in the real world. If your team really understands the ideas behind Agile and you have a good process in place to make it happen, you can have a great deal of success.

      Unfortunately, like so many other things in life, most teams don't get it right and they end up failing to some degree or another.

      Cannot be restated often enough.

      I've worked in a shop that started doing "Agile" development after years of more waterfallish practices. This essentially meant that we started to get customer requests organized in an Agile toolset and then had a sprint planning meeting to negotiate the value of the various requests so that we could start work on them. Standups often took a half an hour for 6 people, including the PM, who unfortunately doubled as the scrum master. It wasn't terribly agile, and it didn't buy us much other than better tracking of issues.

      And I work now at a medium sized company that does everything with some variation on Agile methodology (with some Kanban thrown in). We use Agile as the base framework for our development, but we adopt other practices that make sense, and we've agreed as developers (with the PM) on how it works best for us. Standup was 15 minutes this morning for a (largish) team of 9 developers - and that included some non-standup topics that snuck in. Retrospective for a two-week iteration is an hour to 1.5 hours. Planning is also about that long, including tasking - but we have one or more one hour grooming sessions during the iteration to keep our work backlog properly sized and ready to go. We code review each other's work, we communicate openly, and we know what's going on and how our work fits in with the overall product line because of that. It just works, and from a psychological standpoint it's good for morale to see the progress being made.

      The difference is in committing to the actual goal of Agile - producing working code in manageable bits while minimizing unnecessary overhead. It's easy to go off the rails by misunderstanding Agile or half-assing it - you just have to get it right.

      --
      Let us live so that when we come to die, even the undertaker will be sorry -- Mark Twain
    4. Re:Good idea, hard to implement in the real world. by JaredOfEuropa · · Score: 2

      I offer 2 rules to improve your software development project (and surprisingly they work for a lot of other business activities too)
      1) Pay attention to who you hire and who you select for your team. Software development is about people.
      2) Do not replace thinking with process and methods.
      Process and methodologies provide useful structure and standardization but it will not turn crap employees into good ones. They do however have the potential to turn great employees into mediocre ones.

      --
      If construction was anything like programming, an incorrectly fitted lock would bring down the entire building...
    5. Re:Good idea, hard to implement in the real world. by grimmjeeper · · Score: 1

      Process and methodologies provide useful structure and standardization but it will not turn crap employees into good ones.

      You are absolutely right. I've seen bad programmers write terrible code in every language and every process environment. People who have no business whatsoever writing code should never be hired. Sadly, they are everywhere because the people in charge of hiring have no idea how to weed them out. In many cases, the managers are the bad coders who were moved into a position where they couldn't infect the code any more. Trouble is, that opened the gates to let more and more bad coders in the door.

  5. As always by Anonymous Coward · · Score: 0

    Article is second link. First link is a BS dice write up

  6. Right conclusion, wrong reasoning. by jythie · · Score: 4, Insightful

    It is hard to take someone seriously when the argument seems to be 'my idea is brilliant! but most people are not good enough to implement it!' rather than 'hrm, maybe my idea is not the universal solution and one needs to fit the methodology to the requirements and resources involved?'

    1. Re:Right conclusion, wrong reasoning. by grimmjeeper · · Score: 4, Insightful

      But is that really the case? I mean, I've seen some projects that are nothing more than "chuck whatever $#!t compiles over the wall every Friday" but claiming to be "Agile". There is no disguising the fact that they took the name and didn't even bother to try to learn what Agile is all about. Is that really a failure of the idea of Agile or just a crap company giving Agile a bad name?

    2. Re:Right conclusion, wrong reasoning. by HornWumpus · · Score: 4, Interesting

      From where I've sat Agile just looks like 'weekly iterative waterfall; skimp on testing'.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    3. Re:Right conclusion, wrong reasoning. by jythie · · Score: 1

      Oh I agree those are real cases, but you get that with pretty much any development methodology . I have no problem with companies being called out on implementing a system badly or 'in name only', but that really does not feel what the author is doing. Instead he is casting failure of agile to be a failing of inferior developers and if people were more willing to work or change then it would have worked. This will no doubt be true in some cases, but it is also true when looking at waterfall or spiral patterns, so it really can not be claimed as a problem with 'agile' adoption.

      All he has really done is rehash the 'if people were smart and hard working they would realize how brilliant I am' argument rather than address opposing views as having actual points or other solutions having their own strengths which shine or tarnish depending on the project.

    4. Re:Right conclusion, wrong reasoning. by Anonymous Coward · · Score: 0

      > "chuck whatever $#!t compiles over the wall every Friday"

      But that is exactly what is the core of Agile. You do iterative development in bite-size pieces. If you're on a one week sprint, then every Friday is great. The product guys throw you some user stories in your sprint planning meeting then you complete all you can at the end of the sprint then toss it over the fence to QA. As long as you are doing that, then you are pretty much succeeding by definition with Agile.

    5. Re:Right conclusion, wrong reasoning. by gstoddart · · Score: 2

      Well ... people will cherry pick what they want out of stuff, and will NEVER implement it all according to your perfect idea. Reality simply doesn't allow for perfect implementations according to an abstract theoretical model.

      That is a 100% true fact. It's true for Agile. It's true for Waterfall. It's true of religions, philosophies, and all other -isms.

      At the end of the day, someone says "but you didn't do all of the things I said you should and therefore the failure of my awesomeness must be in how you did it".

      Which is convenient and all, but if your system comes down to "my idea is perfect but your execution sucked" ... well, maybe your perfect idea is far too damned reliant on fundamentally unrealistic assumptions which aren't justified?

      If your perfect abstraction doesn't hold up to reality, maybe it's not reality which is lacking? Or at the very least that your perfect abstraction is an incomplete theoretical model.

      --
      Lost at C:>. Found at C.
    6. Re:Right conclusion, wrong reasoning. by grimmjeeper · · Score: 1

      There is no shortage of that in his article. I really think the "failure" of agile (which by comparison isn't much different than any popular methodology) is a combination of "you're not smart enough to do it the way I said" and "we're just going to use the name and keep doing what we've always been doing".

    7. Re:Right conclusion, wrong reasoning. by molarmass192 · · Score: 1

      "chuck whatever $#!t compiles over the wall every Friday"

      That is a far more common strategy than simply under the guise of Agile. Compilers are perfectly capable of compiling garbage. It's the special kind of craftsmanship that makes me want to scream.

      --

      Good people do not need laws to tell them to act responsibly, while bad people will find a way around the laws-Plato
    8. Re:Right conclusion, wrong reasoning. by jythie · · Score: 1

      *nod* in a way, I think agile, as an actual methodology, has not failed at all, but instead has been integrated into the toolbag of any competent project manager (or ad-hoc equivalent). What has failed is the hyped up "A"gile method, which, like any hype, over promised on its universalness as a replacement for everything.

      Sometimes I wonder if tech people are just inherently excitable. So much of our culture and identity is linked to loving what we do and related topics, it would not surprise me if we are unusually (but not uniquely) susceptible to irrational exuberance.

    9. Re:Right conclusion, wrong reasoning. by myowntrueself · · Score: 2

      Well ... people will cherry pick what they want out of stuff, and will NEVER implement it all according to your perfect idea. Reality simply doesn't allow for perfect implementations according to an abstract theoretical model.

      That is a 100% true fact. It's true for Agile. It's true for Waterfall. It's true of religions, philosophies, and all other -isms.

      At the end of the day, someone says "but you didn't do all of the things I said you should and therefore the failure of my awesomeness must be in how you did it".

      Which is convenient and all, but if your system comes down to "my idea is perfect but your execution sucked" ... well, maybe your perfect idea is far too damned reliant on fundamentally unrealistic assumptions which aren't justified?

      If your perfect abstraction doesn't hold up to reality, maybe it's not reality which is lacking? Or at the very least that your perfect abstraction is an incomplete theoretical model.

      No software development methodology survives first contact with actual coding.

      --
      In the free world the media isn't government run; the government is media run.
    10. Re:Right conclusion, wrong reasoning. by rilister · · Score: 5, Interesting

      Funny thing is that the original 'AGILE Manifesto' wasn't 'theory' or even a methodology: it was really a set of observations on what did and didn't work for them.
      I think the 'universal solution' aspect of AGILE is let your smartest people work the way that they find most efficient - trust your (best) people. Many of the core concepts are not revolutionary: don't get bogged down in planning, work in small teams, prepare to adapt rapidly when your spec cannot be fixed.

      The AGILE guys were inspired by the obvious wastefulness and inefficiency of the big enterprise software projects they had been on, so to that extent their observations were dead accurate. But now people are acting as though the *specific methodology* that's grown up around it is precious, holy and applies to everything, everywhere.

      It's exactly like the scene in 'The Life of Brian; where Brian loses his shoe running from the crowd: one guy argues that they should all hold one shoe in the air, and the other guy wants to gather shoes together. The shoe is not the point (SCRUMS, Pair programming, backlogs), it is the idea of working intelligently.

      --
      'This writing business. Pencils and what-not. Over-rated if you ask me. Silly stuff. Nothing in it' - Eeyore
    11. Re:Right conclusion, wrong reasoning. by Anonymous Coward · · Score: 0

      From where I've sat Agile just looks like 'weekly iterative waterfall; skimp on testing'.

      What Agile should have been is "What does it take to release a fully tested, production quality feature every sprint?"
      What Agile is at most companies: "Skip the hard parts of agile, do the process related parts badly, and call it a day"

    12. Re:Right conclusion, wrong reasoning. by grimmjeeper · · Score: 2

      But that is exactly what is the core of Agile.

      "You keep using that word. I donna think it means what you think it means."

    13. Re:Right conclusion, wrong reasoning. by grimmjeeper · · Score: 1

      Agreed.

    14. Re:Right conclusion, wrong reasoning. by grimmjeeper · · Score: 1

      I think it's a mix between an ideal that is difficult to really implement and a concerted effort to grab a name to show off and throw out most (if not all) of the methodology. For the first part, the idea itself needs to be solid if you expect success. For the second, it is likely failure was predestined independent of the merit of the idea you're not actually trying to implement. Trouble is, it's difficult to differentiate between failures because it's not a solid black line between either side. There's a lot of gray, not to mention that so many more things than your development methodology impact your ultimate success or failure.

    15. Re:Right conclusion, wrong reasoning. by angel'o'sphere · · Score: 1

      No software development methodology survives first contact with actual coding.

      I beg to differ. All software development methods I know about were developed by coders.

      That so many coders are to dumb to use any correctly is another story.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    16. Re:Right conclusion, wrong reasoning. by Anonymous Coward · · Score: 0

      And we're back to No True Scotsman.

    17. Re:Right conclusion, wrong reasoning. by the+grace+of+R'hllor · · Score: 1

      My agile workflow involves development work until Dev Done, then I hang up a rest-and-review task. Once another developer has checked my work for functionality and improvements, it goes into acceptance. Once there, the Product Owner has to test it for functionality and accept it or reject it (if it doesn't conform to the specs). Only then is the task considered 'done' for the sprint. So five stages a task will go through.

      How does that skimp on testing? It's leaps and bounds more useful testing than any waterfall project. Waterfall skips the test-and-review, and once you do get to testing, you're doing the entire system, meaning you miss huge chunks of it.

    18. Re:Right conclusion, wrong reasoning. by Creepy · · Score: 1

      We have a continuous integration testing team; I don't know how a large Agile project can survive without one. So far our Agile client has far less customer bugs than our main client over the same period of time (their first two years vs ours). Ours doesn't have as much functionality yet, however, as we're releasing it in an Agile way (as it is developed).

    19. Re:Right conclusion, wrong reasoning. by Anonymous Coward · · Score: 1

      That so many coders are to dumb to use any correctly is another story.

      That's "too dumb". If you're going to critique the intelligence of others, you may want to use correct grammar and spelling yourself.

    20. Re:Right conclusion, wrong reasoning. by grimmjeeper · · Score: 2

      It is ironic that Agile was conceived to unshackle developers from monolithic bureaucracy and dogmatic mandates, only to become a dogmatic mandate handed down by a monolithic bureaucracy. Which, I believe, is the point being made by Hunt.

    21. Re:Right conclusion, wrong reasoning. by Anonymous Coward · · Score: 0

      Funny enough, this is one of the issues I had with agile development. I watched a team go from "what's the best way to get job X done?" to "what do the most persuasive/charismatic members of the group think, and how quickly will everyone capitulate instead of trying to argue (and fail) for an ultimately better solution?"
      Essentially, agile makes everyone a salesman - and there are plenty of shit hot coders who are simply shit at selling their ideas. And as meritocracy reverts to dictatorship, you just end up doing things the old way but with 5+ hours a week in extra overhead.

    22. Re:Right conclusion, wrong reasoning. by Anonymous Coward · · Score: 0

      The AGILE guys were inspired by ...

      Beer.

    23. Re:Right conclusion, wrong reasoning. by HornWumpus · · Score: 1

      Waterfall might, in some cases, only do integration testing. But you description does only unit testing.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    24. Re:Right conclusion, wrong reasoning. by Cederic · · Score: 1

      Pointing out that the Chinese person born in Hong Kong, raised in Taiwan and living in China isn't Scottish is not a fallacy.

      Fuckwits going, "I'm agile!" while ignoring the basic elements are not agile.

    25. Re:Right conclusion, wrong reasoning. by Anonymous Coward · · Score: 0

      Scrumleaders

      It's what comes about when you decide to merge your Scrum Master with your Team Leader

      I've even heard the term "Product Scrum Masters", which are like Product Managers, but with a touch of Scrum just to keep up the appearances.

      Solution Scrum Leads

      When you have combined fixing a single concern without coordinating with the product lead with team management and process quality control (all in one person!). Naturally such a role is overworked, so he delegates task creation to the programmers, giving out generalized directives, "start this epic" style.

      I've been trained in Agile and Scrum. What I see in some organizations have me wondering if they even read more than thirty sentences on the methodology. I've seen the "Working product" over "Comprehensive documentation" beaten to death so badly that extra effort had to be launched post-deployment to "describe the api" and it is impossible to know if the product is working because there is no documentation.

      Fortunately, not all shops are this bad; but, there's a lot of people wearing "agile wear" that look like they've never been agile in their life.

    26. Re:Right conclusion, wrong reasoning. by Altus · · Score: 1

      The first part is, choose a sprint length that will let you implement the features required. But most companies like them to be one week so they can change requirements and direction more often

      --

      "In America, first you get the sugar, then you get the power, then you get the women..." -H. Simpson

    27. Re:Right conclusion, wrong reasoning. by tshawkins · · Score: 1

      Some of this is petulance, you see a lot of that attitude being expressed here, with devs loudly complaining that they dont want to be constrained or have to deal with the responsabilities of a methodolgy. Bullshit this and bullshit that. Most of these people are aholes, and are not the sort of people you want on any kind of project that has investors and commitments.

      Any project that is beyond 2-3 people needs some kind of govenance and tracking, otherwise people just wander off in thier own directions. If devs cant get with the program, then i dont want them in my programs.

    28. Re:Right conclusion, wrong reasoning. by the+grace+of+R'hllor · · Score: 1

      Acceptance testing involves testing the newly built functionality in the entire system. A product owner should signal any integration issues. Test and review is also a bit broader than just testing the code in question; if a problem is spotted with adjacent functionality, fix it.

      That said, full-on systems testing is lacking, and we don't do any regression checks at the moment. We'll get to regression sprints before long, with this project, I think.

    29. Re:Right conclusion, wrong reasoning. by angel'o'sphere · · Score: 1

      Boils down to one (imho important) question: "can you answer the question: 'Who has added/changed a specific line of code when and why?' And possibly the next question: 'And how did you QA that change'?"

      Turns out if you can answer this simple set of questions (correctly) you are basically on CMM 3 level.

      If you can't you are very likely in a shit shop or shit development team.

      What you do to be able to answer such questions: heavy weight process, light weight process, no defined process or defined process: that is up to you.

      Ofc, if you have no "defined process" you are not on CMM 3 (because you would not win the audit), but you might be similar good in managing and conducting software development.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    30. Re:Right conclusion, wrong reasoning. by tshawkins · · Score: 1

      Svn blame or git blame is your friend

      We are going to be using it with software qa metrics to work out who is generating the most problematic code.

      http://svnbook.red-bean.com/en...

      http://git-scm.com/docs/git-bl...

    31. Re:Right conclusion, wrong reasoning. by angel'o'sphere · · Score: 1

      We use automated tools that generate web pages for reviews after each commit, I believe it is FishEye (now from Atlassian), but might be last time it was an OSS one.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    32. Re:Right conclusion, wrong reasoning. by anyGould · · Score: 1

      I'd remind them that the *point* of a process is to cover for the quality. (That's why McDonald's hamburgers are consistently "OK").

      If your company is full of AAA+++ ROCKSTAR DEVELOPER GODS, then who cares what methodology you use? But the real world is full of average, middle of the bell curve coders, who will come and go at arbitrary moments, and the methodology is there to keep things organized when Bob needs to replace Adam.

      So... if the methodology isn't getting you there (because it requires above-the-curve people), you've got a niche market, not a save-us-all must-do design.

      (I have no illusions that I'm any more than an average coder, myself - I just happen to be the one-eyed king in this office of blind men.)

  7. What Makes it Fail by Anonymous Coward · · Score: 2, Interesting

    Sales / Management are on strict Waterfall and dev is on Agile

    Until those concepts align in a company they will always be at odds with each other

    1. Re:What Makes it Fail by Anonymous Coward · · Score: 0

      Yes! Thank you.

    2. Re:What Makes it Fail by Cederic · · Score: 1

      Hmm. Sales want instant change because it earns them a bonus. Management don't want to wait three years to see benefits because they're measured by the quarter.

      Both are very happy to communicate and collaborate, especially when the feedback loops help them see tangible swift outcomes.

      I'm not sure how you interpret that as strict waterfall.

    3. Re:What Makes it Fail by flink · · Score: 1

      The problem is contracts generally have a statement of work saying what you will do and a date saying when you will deliver it by. If you don't accomplish the things in the SOW by the deadline, you don't get the $$$. Unless you are doing pure R&D, you rarely have the luxury of being as hand-wavy about the requirements as agile seems to want you to be.

  8. No. by Maxwell · · Score: 1, Insightful

    Agile, done right, has been a game changer here. Yes, we had to let some of our developers go - the ones who couldn't actually think. We're better off for it.

  9. All development methods are flawed by Murdoch5 · · Score: 5, Insightful

    There is no way to optimize the development process for software. Inserting terms such as "Agile" or "Waterfall" really just create bloat and waste time. The best software development process is to have no process and work in the way that fits you best. For instance when I write large software projects, I just start coding, I pick a place to start at and go. I wait until I have large testable blocks completed and then debug and integrate them. I don't follow and form of standard development process and yet have never been held up via a deadline of meeting request.

    When developers try and add those stupid terms, they're basically saying that they can't self manage and instead of taking responsibility, they're going to throw silly management methods around in an attempt to streamline a task which is unique to each individual developer and situation.

    The only things you need to write good code are the right language, the right platform and proper requirements. Once you have those, you can just start and work to completion.

    1. Re:All development methods are flawed by Anonymous Coward · · Score: 0

      Never worked in a team of a size larger than 1, eh?

    2. Re:All development methods are flawed by Anonymous Coward · · Score: 1

      > The only things you need to write good code are the right language, the right platform and proper > requirements. Once you have those, you can just start and work to completion.

      Only if you believe the goal is to produce software that is beautiful simply because it exists.

      In the real world, we have to provide software that provides real-world functionality such as automation or assistance in the performance of a business function, something that enables or lights the way to other capabilities, and possibly acts as a driver for process consolidation.

    3. Re:All development methods are flawed by Anonymous Coward · · Score: 0

      As bad as Agile is, no process at all ("just start coding!") is even worse. Seriously, are you that stupid?

    4. Re:All development methods are flawed by dark.nebulae · · Score: 2

      When you're on a team of one, this kind of cowboy development might work.

      Agile and waterfall etc are there to get teams of many over the finish line. I doubt there has ever been a single successful project with a team of 20 based upon your chaos development process.

      Agile and the like provide the structure for teams. It doesn't improve the development process IMHO, but the management of the team using these processes brings order to the chaos so goals can be shared and attained by the entire team.

    5. Re:All development methods are flawed by Anonymous Coward · · Score: 0

      'Hello World' rarely needs more than one person.

    6. Re:All development methods are flawed by shmlco · · Score: 1

      And when you begin a large software development effort with 50 other developers???

      If you're doing simple single-person projects you can afford to be process-agnostic. But when your long-term project has designers, management, DBA's, iOS and Android and MobileWeb developers, QA teams, and more, you need some form of planning and process.

      Letting large teams run around with each developer doing their own thing pretty much is a recipe for disaster, as any number of failed project postmortems would show...

      --
      Any sect, cult, or religion will legislate its creed into law if it acquires the political power to do so.
    7. Re:All development methods are flawed by Anonymous Coward · · Score: 0

      Beyond two or three people, the concept of a team is a sick joke. Statistically, it becomes increasingly likely that next person will be the kind of developer that you don't want to work with. They may inflict a hair-brained code standard, drag everybody along from shiny "new" fad to shiny "new" fad, schedule meetings to replace real productivity with fake productivity, etc. God, I _wish_ I could say that I never worked in such an environment!

    8. Re:All development methods are flawed by Hognoxious · · Score: 2

      The only things you need to write good code are the right language, the right platform and proper requirements.

      The first one is easy, there's so many to pick from that one must be a decent fir. The second one also has plenty of choices.

      Ah. Next time we'll take them in reverse order. As they say, fail early!

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    9. Re:All development methods are flawed by Anonymous Coward · · Score: 0

      I don't always just start coding first. But when I do I usually don't have the requirements.

      the code makes the requirements therefore I am never wrong... it's a paradigm shift!

    10. Re:All development methods are flawed by jklovanc · · Score: 1

      For instance when I write large software projects, I just start coding, I pick a place to start at and go. I wait until I have large testable blocks completed and then debug and integrate them. I don't follow and form of standard development process and yet have never been held up via a deadline of meeting request.

      That's great for a project where one person works on it. It does not work when you have many more people working in teams on different parts that all must work together. The biggest ting your "process" lacks is coordination and coordination is necessary when more than one person is working on a project. The more people the more coordination is needed. In a team what happens when one member changes code that breaks code from other team members? That is where APIs and process comes in.

      The only things you need to write good code are the right language, the right platform and proper requirements.

      There are more than one way to implement requirements and that has to be discussed and documented within the teams.

      Have you ever worked in a team on a project? From your comments I doubt it.

    11. Re:All development methods are flawed by JohnFen · · Score: 1

      And when you begin a large software development effort with 50 other developers???

      I agree with your underlying point, that if the team consists of just one or two developers, then process becomes less important (but still important). However, if the team consists of 50 developers, that's a serious problem all by itself, no matter what process is in use.

    12. Re:All development methods are flawed by Anonymous Coward · · Score: 1

      Really? Linux seems to have been developed without planning or process like Agile. Just assign people tasks and write code. It isn't brain surgery.

    13. Re:All development methods are flawed by Murdoch5 · · Score: 1

      My last team was 40+ people and spread over 3 countries, working on 3 different time zones. We all worked this way and delivered the product ahead of the deadline. We all took modules and just hit the gas peddle, so it does work!.

    14. Re:All development methods are flawed by Murdoch5 · · Score: 1

      Well my last project used 40 developers, 3 countries and 3 time zones and got a product delivered ahead of time.

    15. Re:All development methods are flawed by Murdoch5 · · Score: 1

      Well my last project used 40 developers, 3 countries and 3 time zones and got a product delivered ahead of time.

      The number of developers is completely irrelevant, look at Linux for instance, hundreds of developers, all on there own and yet the product comes together perfectly.

    16. Re:All development methods are flawed by angel'o'sphere · · Score: 1

      The best software development process is to have no process and work in the way that fits you best. This is exactly what agile is about. So why do you claim you don't work "agile" when you are actually doing it ??

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    17. Re:All development methods are flawed by tshawkins · · Score: 2

      Exactley right, developers are not hired to write code, they are hired to produce products.

    18. Re:All development methods are flawed by tshawkins · · Score: 1

      What about source control, you run commando on that too?

    19. Re:All development methods are flawed by Murdoch5 · · Score: 1

      I disgree, I don't have an abundance of meetings, I don't have an abundance of code reviews, I don't have another developer watching me, I don't have daily / weekly releases and I don't do an insane amount of little incremental additions, so I'm not really doing "Agile" development.

    20. Re:All development methods are flawed by HornWumpus · · Score: 1

      Good teams defend themselves from the idiots. They are rare as hell and never last forever.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    21. Re:All development methods are flawed by angel'o'sphere · · Score: 1

      What do meetings, code reviews and the other things you mention have to do with agile? Nothing!

      I suggest you read at least http://agilemanifesto.org/

      Nothing of the stuff you are so scared about is required or intended if you do an agile "process".

      If you don't make releases in short circles it is your own fault.

      I don't have another developer watching me Never had that in an agile team either ... what do you mean with that?

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    22. Re:All development methods are flawed by jklovanc · · Score: 1

      Well my last project used 40 developers, 3 countries and 3 time zones and got a product delivered ahead of time.

      Who wrote documentation? Who agreed who should do what parts? How were implementation decisions made? I bet there was a lot of structure that you may not be aware of. If all you did was work to a single spec then I bet you were not in design or management. They used a process.

      The number of developers is completely irrelevant, look at Linux for instance, hundreds of developers, all on there own and yet the product comes together perfectly.

      With a lot of work done on the API that all programmers must follow.

      A number of people working on the same project with no discussion and no documentation is just anarchy.

    23. Re:All development methods are flawed by Cederic · · Score: 1

      Yeah, Linux. No code review, source control, QA, standards, requirements, testing, merge or regular build.

      Oh. Hang on. Maybe there's a fuckload of process taking place.

      Nobody gives a shit _how_ you write your code, but don't keep pretending you're process free. You're not.

    24. Re:All development methods are flawed by Anonymous Coward · · Score: 0

      It's hard for a team to defend itself when upper management drops a bomb (or twenty) on them.

      God, I can't tell you how much I hate people who preach process. All they do is destroy productive programmers. Everything falls apart. And then it gets even worse because now you're looking for another job and the people standing in your way are the same type of people who wrecked your last one.

    25. Re:All development methods are flawed by phantomfive · · Score: 2

      The only things you need to write good code are the right language, the right platform and proper requirements. Once you have those, you can just start and work to completion.

      I guess that means the world has never seen good code.

      --
      "First they came for the slanderers and i said nothing."
    26. Re:All development methods are flawed by Murdoch5 · · Score: 1

      Well the requirements are passed from the project management team, which I force them to do, if they aren't up to par, I throw them back and refuse to start working until they are. Once we have them, we sit down for maybe a 1/2 hour period, break the requirements into modules and then throw modules to the teams who can handle them the best. When they're done with there part, they throw them back, I integrate, we do a little bit of integration work and in 90% of cases, we're done. Software development only gets complicated when you complicate it, it can be simple, easy and fun if you want it to be.

    27. Re:All development methods are flawed by Murdoch5 · · Score: 1

      Actually what I said was I don't follow a process like Agile or Waterfall, I have never and will never accept using a standardized development methodology, they don't work, they never will. If a project requires a ton of QA and integration, then we give it that treatment, if it doesn't we don't.

    28. Re:All development methods are flawed by jklovanc · · Score: 1

      You just described the waterfall process.

    29. Re:All development methods are flawed by Murdoch5 · · Score: 1
      No, The waterfall method MUST be preformed exactly like this:

      1. System and software requirements: captured in a product requirements document
      2. Analysis: resulting in models, schema, and business rules
      3. Design: resulting in the software architecture
      4. Coding: the development, proving, and integration of software
      5. Testing: the systematic discovery and debugging of defects
      6. Operations: the installation, migration, support, and maintenance of complete systems

      We don't generally preform the Analysis, as we have the requirements, so step #2 is either gone or extremely minimized. We don't hold design meetings as those are fairly pointless for most software projects, after all the design of the software falls to the coders of the modules, no one else should make the decision on how there software should work, so step 3 is minimized. We definitely code, so we preform that step, testing is part of coding, so we don't make that separate step. We integrate then support, so we don't follow the waterfall process at all, in fact we're not even really very close.

    30. Re:All development methods are flawed by jklovanc · · Score: 1

      The waterfall method MUST be preformed exactly like this:

      No, waterfall is a guideline and not a strict rule.

      Steps 1 and 2 are done by your project management team.
      Step 3 is done by you and I doubt you can do that in half an hour for a large system.
      Step 4 is done by you.
      If step 5 is done by you then you are leaving yourself open to coding only testing to what they got right.
      You also do step 6 or nothing gets out. These steps do not need to be done by separate people. They are just separate phases.

      By the way, there is a continuum between strict waterfall and Agile. Few companies are on either end. The way you work is closer to waterfall than agile and it is a defined process.

    31. Re:All development methods are flawed by Murdoch5 · · Score: 1

      If you're not going to follow a strict guide then there is no point giving it name. You can claim I do waterfall development but I really don't fit into waterfall or agile. The less overhead you introduce into software developer the more enjoyable it is.

    32. Re:All development methods are flawed by jklovanc · · Score: 1

      If you're not going to follow a strict guide then there is no point giving it name.

      As with all labels, the idea is to give a starting point to quickly describe a process. Labels are never 100% exact.

      No two companies use exactly the same process. Most use some version of waterfall. Some use a version of agile.

      The less overhead you introduce into software developer the more enjoyable it is.

      It works until two teams start stepping on each other's toes due to lack of process.

    33. Re:All development methods are flawed by Murdoch5 · · Score: 1

      We can disagree but I don't agree to giving labels to process which aren't static, as for stepping on each others toe, that only happens when the teams don't talk, it only takes a minute for one team to email the other for a status update.

      The worst teams I've ever worked on were the ones who enforced strong protocol, such as documenting everything , constant meetings, constant reviews, strict steps and all of that. Which is why I hold all processes are flawed, the best process is no process.

      I had one team, years ago, where we flushed documentation out to the point where it really was pathetic, to the point where if you needed it to get there, you didn't understand in the first place and shouldn't get involved.

    34. Re:All development methods are flawed by jklovanc · · Score: 1

      I too have worked on systems that have been in documentation hell. On the other hand I have been lost in systems that have had no documentation. It is all about balance. Too much documentation is bad. Too little documentation is also bad. Too many meeting is bad. Too few meeting is also bad. Finding the happy medium is the key.

      Which is why I hold all processes are flawed, the best process is no process.

      You are delusional if you don't think you have a process. For example you stated that you review requirements docs until you are satisfied they are complete. That is part of a process. Just because you don't label it does not meant that it is not a process.

  10. Can we generalize this to all methodologies? by Anonymous Coward · · Score: 0

    IMHO, methodologies are a goo starting point, but none of them are ideal. If you don't tweak your methodology to suit your team when appropriate, you get what you deserve. If your team was working great before Joe had to pair program with John who has chronic halitosis, maybe you need to pair John with Jane who has no sense of smell. OTOH, if Jane isn't geared to work on that module and is an expert in some other domain, that's not a good idea either. Let John and Joe e-mail once in a while, and work in separate offices. Screw blindly following the methodology. Likewise, if all your SCRUMs devolve into 2 hour long water-cooler sessions, you could try to discipline it, or you could scrap the idea, or you could just have fewer meetings. Maybe you've got the skills to keep the meeting on track... maybe you don't. Etc., etc., etc.

  11. My .$02 by geeper · · Score: 3, Insightful

    Our development and project management groups (~ 50 people) moved from waterfall to scrum/agile 2 years ago. Since then, we have seen a significant increase in quality and velocity. It is also more comfortable for the devs on the teams because they know exactly what the PM process will be and what is expected. I don't know that Scrum/Agile is the best practice out there but in our case, it has brought increased productivity, higher product quality, less worry and overall comfort with all our processes.

    --
    Error reading device 'Signature'. (A)bort, (R)etry, (F)ail?
    1. Re:My .$02 by cjjjer · · Score: 4, Insightful

      It only works when everyone is on board and willing to keep working on it. Right now I work on a large project that started Agile but the only thing Agile about is the velocity they want out of us while throwing away the rest.

    2. Re:My .$02 by Anonymous Coward · · Score: 1

      How has velocity increased when Agile requires you to waste about an hour to an hour and a half a day with your team size? You are not doing Agile if you are not wasting that much time every day. It requires you to do a daily scrum. With fifty people, even if everyone takes only a single minute to give their status, then with the meeting overhead, you're wasting an hour a day.

      Also, sprint planning meetings are going to waste four+ hours per sprint with that size group. On the forty-five member team I was on with a certified scrotum master, it took us about three hours per week to story point enough user stories to keep everyone busy for the week. Agile demands that.

      It sounds like you weren't doing real Agile. If you were, you would have seen just how inefficient it is. Add-in the required demos, hours wasted with JIRA, sprint pre-planning meetings, required fake grooming sessions, etc., I waste nearly 2/3 of my week on the Agile-required overhead.

    3. Re:My .$02 by geeper · · Score: 1

      ~50 people total, 7 teams working on different projects (or parts of a project). I should have stated that.

      --
      Error reading device 'Signature'. (A)bort, (R)etry, (F)ail?
    4. Re:My .$02 by Daniel+Hoffmann · · Score: 1

      The real problem are the clients, many only want the complete solution and they want to know exactly when it is going to be delivered and how much it is going to cost. I have seen way too many projects that had these kind requirements to be shoehorned into the agile methodology only to stupidly fail after some months.

      If you project has to be done in 6 months and has to deliver everything that the client requested agile simply does not work.

    5. Re:My .$02 by Anonymous Coward · · Score: 0

      Standups are 15mins tops, if you do any more your process is wrong. We also have meetings inly on fridays aside from the standups, pms, product, marketing know not to ask for a meeting min to thurs, becuse they know I will shut them down and kick them off the floor.

    6. Re:My .$02 by Creepy · · Score: 1

      We had this problem handing off code to a traditionally waterfall team. I work in an R&D team, so we get tossed onto new projects every couple of years and have to hand off the code eventually to the core developers and testers that are still organized as waterfall. The transition was not smooth - they basically just crammed waterfall stories into multi-sprint epic stories instead of breaking them down (which is why we're still helping on the project and the release date slipped).

    7. Re:My .$02 by Cederic · · Score: 1

      It requires you to do a daily scrum

      No. A specific methodology does, and "These scrum meetings are strictly time-boxed to 15 minutes."

      So you're clearly not following Scrum, and you appear to be in a very poor place to suggest someone else isn't "doing real Agile". You don't appear to have the slightest fucking clue what that means.

  12. Yes by JohnFen · · Score: 4, Insightful

    Agile started failing pretty much as soon as it met the real world. I disagree with Andy Hunt's explanation of why, though. It's not because "thinking is hard", it's mostly because of two things: management not allowing agile to be done correctly, and (from the developer's point of view) it drains software engineering of the things that make it a satisfying and enjoyable activity, turning it into the software equivalent of grunt factory work.

  13. New methodology GROWS by Frankie70 · · Score: 1, Flamebait

    First off, we need a name. A loose collection of good ideas doesnât generally get much traction in the world. There has to a be a name, a brand, to hang it on. Let's call it:

    The GROWSâ Method.

    GROWS in this case is an acronym, for GRowing Real-World Oriented Working Systems. It's an idea Jared Richardson and I (Andy Hunt) have been working on.

    New books to be written and sold, new training programs, new seminars. That's the reason there has to be a new methodology every decade.

  14. Yes, but not because it's a bad idea by asylumx · · Score: 2

    Agile is great in theory and if you can get everyone involved to understand it then it's great in practice, too. The reason I say agile is a failing concept is because those of us in the industry understand it but are remarkably terrible at selling it to the non-technical people we need to have involved in order for our projects to be successful. What good Agile methodology really drives at is an effective amount of involvement from all parties -- customer, analyst, technical team, testers, operations, etc. Most businesses want to fire things at their IT department and then go off and do other things while the project is underway. This is clearly more conducive to the "waterfall" model (which we all know is terrible) and it prevents them from ever seeing and effective agile development implementation.

    So, yes, Agile is a failing concept. Not because the idea bad, but because it's so incredibly difficult to implement fully, and it's not very valuable when partially implemented (you basically just turn it into mini-waterfalls).

    I foresee DevOps ending up with a similar problem.

    1. Re:Yes, but not because it's a bad idea by Kazoo+the+Clown · · Score: 1

      It violates the KISS principle. From my understanding of it, Agile is an attempt to pipeline the development process. A good idea in principle, but except for me (one time hardware guy turned systems guy then app guy), the entire rest of the team's history are application programmers, QA and doc people who wouldn't know a pipeline if they were flushed down it. So it ends up being a mini waterfall every sprint, because that's as much as they're able to comprehend.

    2. Re:Yes, but not because it's a bad idea by Anonymous Coward · · Score: 0

      remarkably terrible at selling it to the non-technical people

      I disagree strongly with that. At my current employer and the one two jobs ago, the board of directors dictated we use Agile. Overpriced Agile consultants are doing a great job of selling C-level titles on their bloated process. At my last job, it was the head of sales and marketing that drove the push for Agile. He wanted a more fine-grained control over our roadmap and the ability to completely change the priorities every two week sprint. We've lost about half of our customers because the new feature they need after the ACA was passed hasn't been done because it will take more than one sprint, and by definition with Agile, you are not allowed to do anything that takes more than one sprint. It is destroying our company.

      Upper management loves huge complicated processes. They feel like they're more in control when they get to dictate more of our time and keep us in meetings longer. That is why they love Agile and why the Agile mafia is no longer pushing it hard to developers. They forcing it on the developers from the top.

    3. Re:Yes, but not because it's a bad idea by HornWumpus · · Score: 1

      How do you pipeline development? Agile _is_ just iterative waterfall.

      You can no more code before planning in Agile then anywhere else. If you try the coder just has to plan on the fly.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
  15. It's only been 14 years... by under_score · · Score: 5, Insightful

    That's not even close to enough time for a major cultural change to take place. The Agile Manifesto describes a culture of work that is so fundamentally different from how work was (and still is) performed, that I expect it will take another 15 to 30 years for organizations to really "get it". This is the same thing that happened with Lean manufacturing. Toyota developed it, other manufacturers adopted it as a fad over the course of about 15 years, and then it declined in popularity... but it never died out because it was "correct" and "good". Now, 40 years later, most manufacturers are still learning to be lean, but lean has fundamentally changed the culture of manufacturing. I have clients that will probably be working to adopt Agile methods over a 10 to 20 year period. Agile hasn't failed... Andy Hunt's patience has failed.

  16. If you can't make it work, it's you (or your work) by luis_a_espinal · · Score: 1

    Is Agile Development a Failing Concept?

    No. It's just that people suck at doing quality work. People released shit when using procedural/modular programming. But that's people, not procedural/modular programming. Then OOP came, and people did more shit with it. But that's not on OOP, but on people.

    I can say that with confidence because I know teams and companies that have delivered quality work using either any (or all) of these paradigms.

    Same with processes. People have done good work with waterfall, and bad work with waterfall. Good work with spiral/iterative process, and bad work as well. Same with RAD, RUP, all flavors of agile, XP, Scrum, Kanban, etc.

    It is people. It is organizations. A group of engineers that do good work with one reference process is very likely to do good work with most other processes, newer or older than the reference process by which they are currently being measured.

    Newer processes are typically better than older ones when applied to general cases. Better as in helping ameliorate cost or increase delivery, or pretty much optimize some type of software development KPI. But that neither implies older methods are bad or that newer methods guarantee better deliveries.

    It's never the tool, but the wielder. Give a process to a good engineer, and he will find a way to get things to work. Give any process to a code monkey, and you are just going to get a lot of shit flinging irregardless of the process of choice.

  17. GROWS? by Anonymous Coward · · Score: 0

    Yet another name for the same dog and pony show?

  18. Re:If you can't make it work, it's you (or your wo by Lunix+Nutcase · · Score: 1

    It's never the tool, but the wielder.

    This is bullshit. Tools can be poorly made.

  19. Yay! More acronym buzzwords! by Nuncio · · Score: 0

    I think it's been dead for years. I think it's time we came up with a new buzzword acronym just to pad our resumes.

    1. Re:Yay! More acronym buzzwords! by asylumx · · Score: 1

      You don't need to create a new one, just use DevOps!

  20. Agile Works by Anonymous Coward · · Score: 0

    At least it works for what it actually does, which isn't what most people probably think it is for. What it does is offload the work of a manager on to a team. Spending developer time with co-ordination and extra information they don't need, tasks normally handled by a competent manager, allows a team without a manager, or with the far too common incompetent one, to still succeed. However if you're in the fortunate position of having a good manager, agile is a waste.

  21. Re:Yes by Stormy+Dragon · · Score: 2

    I second the management thing. None of the managers want to change the way they manage things (I need a schedule for your work for the next 6 months!) in away that prevents any of the advantages of Agile from being fully realized.

  22. Re:If you can't make it work, it's you (or your wo by Anonymous Coward · · Score: 0

    It's never the tool, but the wielder. Give a process to a good engineer, and he will find a way to get things to work. Give any process to a code monkey, and you are just going to get a lot of shit flinging irregardless of the process of choice.

    Good luck hammering nails with a hammer made out of plastic straws. And when you can't get it to work, it must have been your own fault not that of a bad tool.

  23. management and control are the issue by Anonymous Coward · · Score: 0

    Agile fails because it requires Management to think differently. Agile is either incorrectly deployed as a means for management to do even less, where they think "someone else" or the Agile framework will magically keep features and versions under control. Management fails to filter constant business requests into the proper versioning framework and bypasses it whenever the properly influential stakeholder wants an immediate change. Management in the stakeholders gets upset that one voice isn't completely "in charge". The whole thing devolves into a chaos of changes being lost or forgotten as priorities shift back and forth, goals shift and change drastically on a daily or even hourly basis, documentation never able to keep up, and the whole mess being blamed on the developers while all levels of Management cover their butts with "we're using Agile!" as some sort of ultimate excuse.

    Agile is NOT chaos. Nor laziness. It requires "thinking" from ALL levels. INCLUDING all stakeholders. And it involves ALL checking egos at the door, as well as "seniority" or "priority" after step is approved. Not just a verbal buy in but actual behavior in following the ideal.

    all the devs think or they wouldn't be decent devs. Management needs to follow along, and in organizations where they don't Agile fails badly. In organizations where they do, they're probably using some home grown system that looks a lot like Agile that produces the results they want.

  24. Does it work for you and your group? by Anonymous Coward · · Score: 0

    Its just another tool in the toolbox to use. If it works where you work then no. If not then yes.

  25. Maybe, maybe not by tomhath · · Score: 1

    I've worked on agile teams that accomplished little more than completing the required checklists, and I've worked on agile teams that were very productive. It all depends on the skills of the scrum master and the product owner; of course the same could be said for any development process - good people can make it work, incompetent people will make it fail.

    1. Re:Maybe, maybe not by Phoenix+Rising · · Score: 2

      We effectively do without a scrum master. It can be done with an open and communicative team, so long as everyone recognizes the rules of the game and is willing to speak up to guide the process. Product owner buy-in is essential (and a scrum master IMHO an essential backup if the PM is fighting the system); they don't make the system work, but without good backlog management they can make the system break.

      Our team succeeds at Agile more than anything else because our developers are respected by management. Our product owners and management have both wanted longer term planning and a more waterfall process because it's easier for them, but we have the ability to push back, and they have the respect to listen.

      --
      Let us live so that when we come to die, even the undertaker will be sorry -- Mark Twain
  26. It's about half true, roughly by Anonymous Coward · · Score: 0
    Hmm.. Let me check out what they say, in reference to my current job.

    Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.

    Sort of. This is a big part of it.

    Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.

    True. It's fine and ok for requirement to change. That's because requirements are usually a topic put off until after the product goes live. Do it, then design it, then start thinking about what the goal of the project is and what you might want the software to do.

    Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.

    Sort of.

    Business people and developers must work together daily throughout the project.

    False. You don't talk to business people until after you delivered the software. That's when you start working on the design. And as I mentioned, later on you'll start to get the business people to admit what the requirements are.

    Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

    True! You have to be motived, nay, love the company (I really mean this) to do it. And the support is actually pretty good. I really like my workstation.

    The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

    Probably true, but I'm not sure it's appropriate to be talking about efficient and effective in this context.

    Working software is the primary measure of progress.

    True.

    Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

    WTF? No. This is completely and utterly false.

    Continuous attention to technical excellence and good design enhances agility.

    Nope.

    Simplicity--the art of maximizing the amount of work not done--is essential.

    Definitely a big gigantic no. Simplicity is something we say we want, but we always pick the most complex approach that we can imagine.

    The best architectures, requirements, and designs emerge from self-organizing teams.

    Maybe. I don't know.

    At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

    No. Never, ever ever reflect on what has been working and what disasters could have been so effortlessly avoided. That would be ruinous.

  27. Re:If you can't make it work, it's you (or your wo by Desler · · Score: 1

    It's never the tool, but the wielder. Give a process to a good engineer, and he will find a way to get things to work. Give any process to a code monkey, and you are just going to get a lot of shit flinging irregardless of the process of choice.

    Then you haven't been in software development for very long or how little ability to discern a good tool from a bad one. Shitty tools are foisted upon software developers all the time in the form of buggy and/or poorly documented frameworks, databases, IDEs, etc.

  28. Re:If you can't make it work, it's you (or your wo by Desler · · Score: 1

    or *have* little ability, that is.

  29. Agile advocates actually hate it by Anonymous Coward · · Score: 0

    I've seen plenty of Agile advocates in management positions absolutely hate it when they get stuck with their own process.

    In fact every Agile manager I've worked with who has said: "We going to do this by the book", has in reality hated it when they get stuck with their own book.

    The ones who have used it as a flexible framework and stuck with the spirit of the process, rather than the book have been very successful.

    An example is making the entire team agree on what every story means rather than simply the manager/lead, developer working the story, product owner and QA.

    1. Re:Agile advocates actually hate it by under_score · · Score: 2

      So true. When we help an organization "go Agile" it is critical that the managers also use Agile and that they stick with it. But this doesn't mean exactly "by the book" since, for example, Scrum might not be the best approach for a management team. Kanban, OpenAgile, Crystal or other Agile methods or techniques might work better for any given team (including a management team). Long term success of Agile methods in an organization requires that management become Agile too.

  30. Managers Fail by Anonymous Coward · · Score: 0

    I saw it with my own eyes too many times to tell.

    Bad manager knows AGILE buzzwords and train wrecks a project by exercising 75% waterfall and the only part of agile that makes up the other 25% is the part where developers aren't provided shit and are expected to code, design, document, spec, and then turn around and explain it all two or three times to four or five people who heckle themselves as 'chickens'. Bad manager is rewarded as a pioneer and visionary while developers are branded as shy and slow (not to mention horrible attrition rate even facing above average pay and shares).

    AGILE is fine. The world is full of bad managers though.

    1. Re:Managers Fail by Anonymous Coward · · Score: 0

      Let me quote my former Manager on this : "You guys start coding and I'll go find out what they want."

      Good times...................

  31. Agile is not what was intended by Anonymous Coward · · Score: 0

    Agile as a concept has its merits, but the way it is implemented by corporate bean-counters is not at all what was intended.

    "Agile" as it is "sold" to development groups is completely different than what is "expected" by management. To management, "Agile" is a way to push responsibility for scope creep and indecisiveness off onto development teams. It is also something management uses to try to "guess" what the customer is going to want, and then make sweeping, dramatic changes to scope as customer wants materialize, all without actually being responsible for the added cost, because that is blamed on R&D not "guessing" right.

    If I were to boil it down to a sentence, I would say "Agile is a way for a company to reduce perceived risk by being neither a leader nor a follower in its space."

    A company can and should do one of two things - it should develop products that follow the leader in a competitive space, or it should create its own competitive space where other companies follow it. One or the other. Both are risky, and Agile is an attempt to eliminate risk by eliminating the company.

  32. Hmm... by fahrbot-bot · · Score: 2

    The articles to which TFS links point have more than a few links and references to other articles, blogs and books (yes, "see my article/book") written by Andy and the "gang of 17". Not exactly astroturfing, but certainly rather self-promotional. "Agile" is one methodology, appropriate for some situations, but certainly not the "one ring to rule them all." (if I recall, wearing that ring had some negative effects...) Now he wants us to move on to: "The GROWS (TM) Method."

    All this probably benefits someone, not sure it's always us.

    --
    It must have been something you assimilated. . . .
  33. love/hate view on agile by prgrmr · · Score: 3, Insightful

    As a system admin, I admire agile for the rapid proto-typing. Because as we all know, business users seldom know what they really want, but they all know what they don't like. However, I hate agile for being the universal excuse for turning project management into an exercise for "let's make it up as we go along", because then everyone expects me to work like that too. They don't want to acknowledge, let alone understand, that being a good system admin is about being organized and informed and having a more than 5 minute attention span.

  34. Agile - irrelevant for success by DrTJ · · Score: 1

    Agile doesn't make a crappy team good.
    An excellent team is good with or without Agile.

    Too much effort is spent on methodology compared to construction of teams which work really well.
    Usually, people just end up in a team. "Here's Steve, he starts today. Hi Steve!".

    Setting up an excellent team is usually very hard, and take a lot of skill. I.e. it requires excellent leadership.
    I've seen it once in 20 years, and fortunately, that time is now. I'm happy to go to work, despite crappy
    customers, budget constraints, slow hardware. The people are awesome and make the best of it.

  35. Agile Development... by Anonymous Coward · · Score: 0

    Agile Development: in which we pretend that not planning things is a good idea so long as we gather together and not plan for 15 minutes a day.

  36. Certainly Not by careysub · · Score: 3, Insightful

    Iterative, incremental development - the core of agile - has been around at least since Barry Boehm described the "spiral model" of development in 1986, and has been successfully used for nigh upon 30 years since under various monickers (and I'll bet there were practitioners before Boehm's paper).

    "Agile" has matured and developed a lot of inter-related supporting practices and tools that have made it increasingly powerful and easy to implement. Continuous integration, test-driven development, use of "stories" as a tool for requirements definition, you cannot tell me these techniques and tools are not successful.

    I have personally seen the development practices of a company dramatically transformed for the better by having an agile trainer brought in and training the entire staff, including managers, and instituting formal agile practices. It is great when a junior developer can tell the VP of marketing to take a hike because his request has not been submitted through the grooming and priority assignment process.

    This one experience gives me complete confidence that people mocking agile simply do not know what they are talking about.

    One problem agile does have is with zealots who don't understand that this is, and has to be, a collection of related practices that must be tailored to the needs of the environment, not a one-size-fits-all, all-or-nothing thing. Another problem is thinking that "form" is what is important, not "what is happening".

    For example: holding stand-ups is not agile. It is a common, useful tool to use in an agile environment. If your team is coordinating with informal sessions as needed, Skype, chat tools, and an updated Wiki in real time, and the managers are keeping in the loop using these tools, then maybe a stand-up is a waste of time for you. I think most teams benefit, but design and planning is not part of a stand-up, other meetings are needed for these.

    There can be long-term planning that does not follow the agile model, and can be described as water-fall, and this has its place too. But I think the only really successful development practices are variants of an "agile" type process.

    --
    Starships were meant to fly, Hands up and touch the sky - Nicky Minaj
  37. Re:Yes by avandesande · · Score: 1

    Totally agree- I am certified scrum master and most of the attempts I have seen at organizations being 'agile' have been atrocious.

    --
    love is just extroverted narcissism
  38. Agile is treating the wrong problem. by ckatko · · Score: 1

    The problem isn't that many programmers don't know how to use Agile methods. The problem is that many programmers don't know how to think critically.

    If you have a terrible HR process that allows morons into your company, then no investment, no snappy buzzwords, not nothing is going to make them change how they fundamentally approach problems. By time you graduate college, 99% of people are already set in their ways, and within the first few years of working, the rest have.

    It's like my Differential Equations 2 teacher in college said. "This is not the class to learn fundamentals of problem solving. If you've come this far and still haven't learned to solve problems, there's nothing I can do in this last semester to fix you."

    1. Re:Agile is treating the wrong problem. by ZombieDonut · · Score: 1

      This. If you don't understand the pipeline and can't communicate enough to head of problems before they happen sitting down, I don't see how standing up is going to help. It's really good for management that likes to micromanage and talk 'velocity'... it is not good in getting everyone to think more efficiently and work better as a team.

  39. Well by Greyfox · · Score: 2
    In the places I've worked where management was just jumping on the buzzword bingo bandwagon, what was being done wasn't really "agile". It was more like "Let's adopt all the overhead of agile but not actually empower the developers or stop micromanaging them." So you end up with the same work load plus the overhead of a daily standup for a team that is way too big for actual agility (30 people, 26 are doing things that don't directly affect you,) and an iteration planning that is generally ignored because the team is always in firefighter mode anyway. You never see time allocated to write unit tests or refactor the code that keeps the team in firefighter mode constantly. So yeah, if you do it wrong, agile will fail.

    I've been watching the idea since the early 00's. I've been on teams that have adapted the processes to work for the team and have been very successful doing so. I've seen a team get a cadence going and become extremely accurate at estimating new work for a product the same 5 people worked on for 5 years. During that time they also dramatically improved the quality of the code, reducing crashes that required weekend coverage to almost 0. Every once in a while they'd adjust their processes if things weren't working smoothly. Teams can work very effectively in an agile environment, if they're actually allowed to.

    If you follow the evolution of agile, you see a lot of key concepts that get repeated over and over. The guys who wrote it understood that code is never perfect and never really correct the first time you write it. It pushes unit testing as a core component of the process. As with other things, making mistakes and correct them teaches you something about the problem, and so the whole process is designed around uncovering those mistakes quickly, throwing code away and rewriting it and constantly improving quality. The philosophy of most companies is that the developers should just crap something out that kind of works and then move on.

    What it basically comes down to is just because your team is agile doesn't mean you can hire chimpanzees to write your code. Or manage the team. If you're looking for a silver bullet that will fix what's wrong with your company, agile isn't it. It enforces much more discipline than whatever crappy process you were using before that, but you really have to understand what it's about, and most people don't.

    --

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

  40. New technique, old problem by bfwebster · · Score: 1

    It's a good article, but the pattern is an old one. Twenty (20) years ago, I wrote much the same thing about object-oriented technology. Since then, I've found that the same issues, the same pitfalls, pretty much apply to any new technology or methodology; here are some more generalized pitfalls (based on ones from the 1995 book) that I wrote up nearly a decade ago (2008):

    -- Adopting a new technology or methodology for the wrong reason
    -- Thinking a new technology or methodology comes for free
    -- Thinking a new technology or methodology will solve all your problems
    -- Betting the company on a given technology or methodology
    -- Getting religious about the technology or methodology
    -- Adopting a technology or methodology without well-defined objectives
    -- Overselling the technology or methodology

    These all apply to Agile -- but they also apply to just about every other 'silver bullet' technology or methodology that's come along. ..bruce..

    --
    Bruce F. Webster (brucefwebster.com)
  41. Doing it Wrong by thaneross · · Score: 1

    The problem is Agile is fundamentally incompatible with the way most businesses are run. Top down command and control organization, blind adherence to process, lack of discipline / peer accountability, lack of team autonomy, etc will all create a disaster out of Agile. Blame corporate culture, not the person pointing out the inconvenient truth that "Hey, software is hard and I'm not arrogant enough to sit in a room and design everything upfront and pretend here at the beginning of the project when I have the least amount of information over the problem that half of my decisions are going to be right."

  42. Obligatory xkcd by Anonymous Coward · · Score: 0

    https://xkcd.com/927/

    1. Re:Obligatory xkcd by careysub · · Score: 1

      Inapplicable (or should be). There is no "standard" here. It is a collection of related, mutually supporting practices and tools. People who try to make it into "name brand" all-or-nothing methodologies can create that impression though.

      --
      Starships were meant to fly, Hands up and touch the sky - Nicky Minaj
  43. They met to TALK by Anonymous Coward · · Score: 0

    Agile has a good idea: that at any moment in time the project should have a working version ready to deploy.
    Any programmer worth his salt has worked this way without some consultant training him/her/it into that.

    And then come the part that any programmer worth his salt loves: pointless meetings. Daily.
    Note that those 17 programmers met to TALK about programming, not DO programming...

  44. Re:If you can't make it work, it's you (or your wo by Anonymous Coward · · Score: 0

    That's what Andy says as well:

    When you are first learning a new skill—a new programming language, or a new technique, or a new development method—you do not yet have the experience, mental models, or ability to handle an abstract concept such as “inspect and adapt.” Those abilities are only present in practitioners with much more experience, at higher skill levels (see my article Why Johnny Can't be Agile for more).

    I agree though I'll put it more bluntly. Most programmers, for all their alleged smarts, are drones. They can crap out code with varying degrees of ability if you tell them what you want in painstaking detail but they can not think and have no understanding of the bigger picture, in terms of the business, the market, and so forth. Some programmers grow out of this as they gain experience and mature into software engineers. A lot, a hell of a lot, don't.

    (This would be a whole lot less irritating if most of them didn't act as if they were God's gift to coding.)

  45. The real problem with Agile by Anonymous Coward · · Score: 0

    I've done some form of agile for the last decade. Participated in/led/struggled for/struggled against, the whole bit. The real problem with agile is that it only works when the sales force sells an agile service rather than traditional products. That means devs talk to customers. Live with it. And, if you're not doing that, then (a) it's not agile, it's a mess of broken expectations, and (b) it's probably not working. The real problem, frankly, is that most of the time customers do not want to talk to devs. They do not want you to craft their own special little diamond. They just want a fucking usable product so they can get on with their fucking business.

    Sorry, I've just lived in the developers' gap between sales and management for a little too long. The bottom line is that MANAGMENT, SALES and DEVELOPMENT ALL need to be doing what the CUSTOMER WANTS.

    Process exists, but focusing on it is a mistake that people just can't seem to stop making.

  46. The problem is not methodology... by erp_consultant · · Score: 5, Insightful

    it's management. When you get a good project manager its like a breath of fresh air. The best PM I ever worked for was a guy that used to be a developer and just didn't understand object based programming, after an honest assessment, so he decided to go into project management. He shielded us from all the corporate BS and just let us code.

    Most of the other PM's I have worked for have no background in programming. Some of them claimed to and didn't, which is much worse than someone that just tells you they don't. They would insist on idiotic exchanges like the following:

    PM: How long will it take to code this?
    Me: I'm not sure until I get all of the requirements
    PM: Can you give it a guess?
    Me: Sure but what's the point? It won't be a very good guess.
    PM: That's OK I just need something to put on the project plan
    Me: *Bullshit radar is now on full alert* So you just want me to pull something out of my ass so that you can finish up your project plan? Is that it?
    PM: Umm, well, no...it's not like that
    Me: OK, fine. I'll give you numbers but they are going to be grossly inflated to account for the unknowns. It covers my ass. Kind of like what you are doing, no?
    PM: *Grunts and walks away*

    Most of these people look at project management as if we were building widgets on an assembly line. As if we know exactly how long each task is going to take. Well, software development is not not like that. Not in the least. The ones that understand that - the ones that are truly "Agile" as it were - are the successful ones. The successful ones understand that any number of things can go wrong and plan accordingly.

    1. Re:The problem is not methodology... by Vitriol+Angst · · Score: 1

      I just took a course on Scrum/ AGILE and it was refreshing to learn that "the hardest thing to figure is how long things take on a complex project."

      So an AGILE PM would say; "How complex do you think task X is relative to Y?" You'd then break things down into units of labor and try and attack the priorities and the lowest number units. This will of course, come as no shock to anyone in AGILE development -- but I'm repeating this stuff for the benefit of anyone who hasn't, and myself to reinforce the concepts.

      Over time and consistency, your work units will translate to "time" -- but not until a while with a team and working on the same types of projects.

      The point is; a business needs to hire the labor that they need, and get as much done as they can in a reasonable amount of time. No matter what they do, they can't get an unreasonable amount of work done with a small amount of labor -- they can only fail to produce good work or timely work.

      AGILE fails because companies and or management do not adhere to it's principles. Unless workers are empowered to do all that they must do to accomplish a given task -- it isn't going to work. And if you want a timescale of less than 6 months where you can predict the rate of output -- that's also going to fail

      Management has been blowing smoke up the rear of executives for decades now, and I suppose everyone still likes the breeze it makes.

      --
      >>"ad space available -- low rates!!!"
    2. Re:The problem is not methodology... by Anonymous Coward · · Score: 0

      Yeah, my conversations like that normally end with them saying the grossly inflated numbers don't fit the timeline, therefore, we have to make the numbers smaller to fit the timeline. So I ask why they bothered asking me in the first place, just make up the timeline yourself, but I sure as hell won't agree to it.

    3. Re:The problem is not methodology... by erp_consultant · · Score: 1

      Interesting points...and I do believe that Agile can work if it is implemented properly.

      "AGILE fails because companies and or management do not adhere to it's principles. Unless workers are empowered to do all that they must do to accomplish a given task -- it isn't going to work" - Spot on. I think that often it is the empowering workers part that scares management. Control issues or what have you.

  47. Agile is like penicillin by laughingskeptic · · Score: 1

    In the correct application, it can be a miracle. Misapplied it does nothing, or worse kills the patient. I've seen it misapplied many times.

  48. Agile is like ITIL by ErichTheRed · · Score: 3, Insightful

    I do systems engineering work for a professional services/software company. Development is fully Agile with a capital A, whether or not it makes sense for a particular project. On the systems side of the house, we have another particular religion called ITIL which lots of companies have jumped into with both feet. The problem with both of these concepts is that they are adhered to, almost to a comical level, even if it's painfully obvious that parts of it don't fit.

    Adhering to all of ITIL, for example, is a really good way to ensure your production systems almost never change. The number of people and sheer volume of paperwork, tickets and meetings to get anything even scheduled for a change in a "true ITIL" system is beyond insane. The same goes for incident management -- we have so many single-task focused "resolver groups" that I have no idea how anyone knows how any of our systems operate end-to-end. ITIL is great for mainframe systems, safety sensitive stuff, and networks which never change.

    "True Agile" and "True Waterfall" are opposite ends of the spectrum. Agile gets you very fast development, at the expense of pinning down any sort of architecture in the beginning. Waterfall often results in software you have to throw away because the requirements change out from under you. However, there are some things that require at least some discipline, both in systems and development. No systems guy would ever advocate just logging in and making random changes on a production system to see what happens. No smart developer/architect charged with writing something that underpins tons and tons of other things would advocate swapping out the core components without at least some backward compatibility thrown in. The prpblem is that "gurus" make their money selling management on these methods. In the case of both Agile and ITIL, it's a manager's dream -- everyone becomes a replaceable unit and business requests can get promoted to production in one Sprint.

    1. Re:Agile is like ITIL by Tom · · Score: 1

      Adhering to all of ITIL, for example, is a really good way to ensure your production systems almost never change. The number of people and sheer volume of paperwork, tickets and meetings to get anything even scheduled for a change in a "true ITIL" system is beyond insane

      What I learned in my years in IT Compliance (SOX) is two things:

      a) nobody really understands these things (ITIL, SOX, Agile, take any buzzword you want), including the people charging you at high-class escort levels for consulting.
      b) there are many ways to skin a cat.

      SOX is actually very simple, but consulting companies are not interested in simple, they're interested in selling a lot of expensive consulting hours, so they turned it into this monster. I was the Senior Manager for SOX in a 2500 people company and I was not overworked. Another company in the same corporate structure had a room full of people doing SOX, and I dare say their compliance wasn't better than ours.

      ITIL is more formalized, but I don't see why anything in it has a hard requirement for the insanity you describe. I'm fairly sure the issue wasn't with ITIL, but with the particular way it was implemented. I'm almost certain it was implemented by outside consultants, am I right?

      Just like nothing in Agile prevents you from making architecture decisions early on. It just tells you to keep an open mind for changing them. And nothing in ITIL tells you that you can't change anything, it just tells you to do it in a way that properly tracks the change.

      I'm not saying these things are not often nightmares in the real world. I am saying that they do not have to be. There is no "it has to be horrible" clause in ITIL.

      --
      Assorted stuff I do sometimes: Lemuria.org
    2. Re:Agile is like ITIL by Anonymous Coward · · Score: 0

      My company has adopted both ITIL and Lean. Personally I believe that those 2 frameworks are the opposite. ITIL loves process, change control, ticketing, etc. Lean is about stripping away everything that doesn't add value. Inevitably that means stripping away considerable process, process that ITIL put there.

  49. See, this is bullshit by melted · · Score: 1

    Do you even measure "quality and velocity", let alone "increased productivity"? Do you control for confounding variables? I bet the answer to all of that is "no". For all you know it might be hurting all those metrics, but you feel good about yourselves because you do "stand up meetings" every day and talk about how you couldn't get anything done the day before, but today you will definitely be able to do it.

    1. Re:See, this is bullshit by Anonymous Coward · · Score: 0

      Well it seems more productive, so it must be working, right?

  50. Doomed all doomed... by Anonymous Coward · · Score: 0

    Places I've worked agile has been dumbed down to aggressive stupidity and seen as synonymous with scrum. It is very good at being business driven and very bad at technical excellence. On the positive side the blame game is faster at assigning responsibility for issues because it is easier to see the cookie crumbling but the usual investigation process is more or less survivor style voting card games. It is essentially bureaucratic with a scrum master as political commissar. Like many 'new' methodologies it is a factory management system which assumes all individuals are replaceable and have no special talents which can be balanced in a team. It is millitary in origin and assumes teams of highly trained functional specialists. There are many fundamental differences between military and civilian life and this is one reason it fails on some levels. It is able to extract a lot of additional value for the business but at a high cost to many human values. When it is working well I have never seen so many people unhappy with and at their daily work.

  51. think is the key, but also need vision by Dan667 · · Score: 1

    My experience for most of these development methods and problems almost always comes back to requirements gathering. People typically want to jump on what ever solution they seize on or what is being asked of them instead of taking the time to truly understand the problem space and only then designing their solution. Often your Customer has no idea how a software implementation will change their work so I have watched agile being the blind leading the blind a lot. Rapid iteration is good, but to be successful in the end it requires an upfront understanding of the domain, thinking, and how it might change with different solutions.

  52. Just name an open source project that .... by MouseTheLuckyDog · · Score: 1

    ...uses Agile.

    not some subproject of a subproject, but a real project.
    AFAIK no such thing exists, but if it did it could be analysed.

    Frankly every time I down load a project I don't see any unit tests for examples. Code is written by one person.

    I consider Agile a major failure, not in that it was a bad failure, but it took up all the oxygen from other iterative processes like RUP, and has reduced the progress of design overall.

    1. Re:Just name an open source project that .... by tshawkins · · Score: 1

      All of them, at its core agile is about adaptive teams, and oss has to adapt continiously to the needs of its teams.

    2. Re:Just name an open source project that .... by MouseTheLuckyDog · · Score: 1

      Many projects predate Agile. Apache, the linux kernel, FreeBSD kernel, all the relational databases, the basic GNU utilities, X, perl and python.

      The open source projects I've seen have not been developed by the Agile techniques, granted I've only seen a few. So I give Agile proponents the chance to provide some. Instead I probably find the reason it is called Agile in the first place. It's proponents are Agile atg spreading bullshit.

      So cut the crap and list a few projects. Oh and make sure to show where in their repositories the unit tests are.

  53. Agile was always a scam. by engineerErrant · · Score: 3, Insightful

    Why would anyone take something seriously that was created and peddled by consulting outfits at $700-per-hour bill rates? I had the misfortune of being incarcerated at Pivotal Labs for a month by a misguided boss who thought their bizarre religion was the answer to all of life's ills. Boy, was that eye-opening.

    As many people rightly point out, that doesn't mean we can't pick up some new ideas from it - my company now does short daily meetings and have a chart with everyone's daily tasking on it, and those have proven very effective. But the other 99% of what the Snowbird 17 vomited forth upon our industry is empty zealotry and jingoism. It was like Scientology right in our codebases, and worked about as well. And no, for god's sake, it wasn't because we just weren't doing it well enough.

    We do have shockingly dramatic quality issues in the software industry, but they will never be addressed by the next dumb-ass management fad. We need to sit down and re-think the ways that we learn to code, get serious about "Software Engineering" degrees in our colleges, and let go of fetishized code patterns as the primary unit of engineering ability. In my own experience, we know plenty enough design patterns, but almost no one understands how to exercise coding judgment in the context of a team or long-term project.

  54. Re:If you can't make it work, it's you (or your wo by luis_a_espinal · · Score: 1

    It's never the tool, but the wielder.

    This is bullshit. Tools can be poorly made.

    Which is true. But here we are talking about tools, concepts and processes that are known to produce good results when used intelligently (or that should be known by anyone worth his/her salt in this industry.)

    The context should have been apparent, but I guess we needed to go Barney Style with it.

  55. We'll See by Anonymous Coward · · Score: 0

    I actually could not care less about "pure" agile.

    It will never work at my company (Japanese).

    Waterfall has been a huge, corn-studded, three-curl steamer. FAIL, in big red letters.

    We need to do something different.

    I'm working on that.

    No silver bullets, here. "Pure" agile has a fart's chance in a tornado of ever making it in my company.

    If anyone has ever worked with Japanese engineers, then they know all about Process (note the capital "P," for it is a HOLY WORD).

    Ironically, many of the practices that agile claims as its own started in Japanese companies, like Toyota.

    I'm in the process of hammering out a new process that allows project tracking without introducing a lot of overhead (instilling coding best practices and a lot of DevOps automation), scales to match team size (small teams should have less overhead, large teams require it), and fast projects.

    Lot of work.

    LOT of work. What's out there now won't fit the bill. I'll need to build a lot of this as I go along, and expect to encounter lots of fail on the way.

    I have no intention of publishing or blogging it (in fact, I'd probably get fired if I did).

    I'm keeping my fingers crossed, and my sleeves rolled up...

    Once more unto the breach...

  56. Re:If you can't make it work, it's you (or your wo by gatkinso · · Score: 1

    What if the straws are melted down into a hardened composite? (ducks)

    --
    I am very small, utmostly microscopic.
  57. Re:If you can't make it work, it's you (or your wo by luis_a_espinal · · Score: 1

    It's never the tool, but the wielder. Give a process to a good engineer, and he will find a way to get things to work. Give any process to a code monkey, and you are just going to get a lot of shit flinging irregardless of the process of choice.

    Good luck hammering nails with a hammer made out of plastic straws. And when you can't get it to work, it must have been your own fault not that of a bad tool.

    Why would you use a hammer made out of plastic straws? What is the use of that tool? What is the purpose? What is the context? These are obviously rhetorical questions used to highlight the stupidity of your counter example.

    For that matter, why don't you go and say "good luck hammering nails with a bar of soap, a saw, or a roll of toilet paper"?

  58. Yes by Anonymous Coward · · Score: 0

    All of these concepts are bullshit.

  59. Re:If you can't make it work, it's you (or your wo by Lunix+Nutcase · · Score: 2

    Which is true. But here we are talking about tools, concepts and processes that are known to produce good results when used intelligently (or that should be known by anyone worth his/her salt in this industry.)

    No, we have a process that is full of "no true scotsman" defenders who do no introspection on why the methodology has numerous notable failures beyond blaming everyone but themselves. And I say that as someone who does like many aspects of Agile, but it is far oversold on what it can offer by its true believer priests.

  60. Agile truth. by An+Ominous+Coward · · Score: 2

    Agile is nothing but an admission by clueless marketing/business development folks that they're terrible at their jobs. They have no idea how to do market research, they have no idea how to interact with actual or potential customers, they have no idea what a company's products actually do and what solutions they provide, they have no idea how to do the analytical side of their job, and have no vision at all for their industry. So instead they shove all the responsibility onto the development team: hack a small iteration together quick, show it to a customer (or more likely, show it to a cross-function representation of development groups within the company, none of which is trained in market analysis), and repeat until someone in upper management says "hey, this was supposed to be released this quarter". Then marketing will swoop in and offer to put together some glossies.

    Obviously for situations like with a small start-up, you aren't going to have a well-rounded business development unit, and you'll be forced into having developers and other non-specialists pick up the business development slack. That's when agile makes sense: when you have no other option. But big companies with full business development and analysis teams pushing agile on its developers is nothing but welfare for idiot marketers.

  61. Yes it is, and this is why by Foske · · Score: 1

    Agile means: Completely loosing the big picture, allowing people to write code without knowing what the scope is they are doing it in. It also means: If something is too big to fit in a scrum sprint, you have to split it up in pieces which will not be scheduled in adjacent sprints because of -wheee Agile- higher priority stuff. Which means the pieces might easily go to different teams, or the second half might not be executed in the near future at all. It also means, if something requires more than a sprint to do, it will never be properly finished, so you better not start it. Agile is nice if everyone has the same knowledge about your project. Which means it is a small project for which Agile is completely over the top or you don't have any specialists -correction- you ignore the fact that each human being has his own areas of interest, areas of specialisation and capabilities.

  62. Re:If you can't make it work, it's you (or your wo by HarrySquatter · · Score: 1

    Why would you use a hammer made out of plastic straws?

    Why wouldn't I? You've proclaimed that every tool is perfect and it's only the user that is at fault when it doesn't work.

  63. Re:If you can't make it work, it's you (or your wo by Desler · · Score: 1

    Which is true.

    Can't be possible. Your original claim was pretty adamant that all issues are the fault of user and to quote you "it's never the tool". If a tool is poorly-made then it means that it is not the fault of the wielder if they can't get the job done using a faulty tool.

  64. No, Agile is a Failed Concept by HannethCom · · Score: 1

    There is no one methodology that works for everyone. Usually the purest form of any of the major concepts is fundamentally flawed in that in general you will not get what you want with Waterfall, you will never have a finished product, or even know the feature set for the next iteration in a pure Agile development.

    What you need to do is look at the work you are doing and borrow from the main two, and any other, methodologies to come up with what works for your group for the type of software you are developing.

    I have been in a group where the Waterfall with added iterations worked really well. We were working on embedded office automation controllers.
    I have been in a group where we were making a tourism web site and a more Agile approach of faster iterations and showing the customer was more appropriate

    I say Agile is a failed concept, because all the concepts are failed. You just need to take from them what is appropriate and modify it if things don't work, or the nature of the work changes.

    --
    Microsoft, Apple, Google, Amazon what's the difference? All steal money from devs and control with walled gardens.
  65. It can't fail by swamp+boy · · Score: 3, Insightful

    It can't fail cause all of the critics are doing it wrong.

  66. Re:If you can't make it work, it's you (or your wo by luis_a_espinal · · Score: 1

    Why would you use a hammer made out of plastic straws?

    Why wouldn't I? You've proclaimed that every tool is perfect and it's only the user that is at fault when it doesn't work.

    I didn't say every tool is perfect. I said that every tool has a function, has a context, and that works in that context. But hey, I guess I have to go Barney Style in these realms.

  67. Re:If you can't make it work, it's you (or your wo by luis_a_espinal · · Score: 1

    It's never the tool, but the wielder. Give a process to a good engineer, and he will find a way to get things to work. Give any process to a code monkey, and you are just going to get a lot of shit flinging irregardless of the process of choice.

    Then you haven't been in software development for very long or how little ability to discern a good tool from a bad one. Shitty tools are foisted upon software developers all the time in the form of buggy and/or poorly documented frameworks, databases, IDEs, etc.

    Been in this business for 20 years, 9 different companies in various industries, doing application and system/embedded development. But whatever. If you want to play my lightsaber is bigger than yours, by all means, knock yourself out, you win.

    We are obviously talking about processes in general. But if we want to talk about shitty IDEs, languages and coding-level artifacts, let's do it. Yes, there are shitty IDEs, bad languages and such. They make work difficult, if not painfully insane, but none of that stop good workers from delivering good work (or at least avoid the number of sophomoric WTFs from piling up.)

    Back in 1994, I once had the disgrace of having to do support report generating programs on PICK systems, using nothing but ed (not even vi for ${DEITY:-FSM} sake), using a bastardized language that mixed sh-based constructs with SQL-like statements for multi-column databases and PICKBasic.

    That last thing, PICK Basic, utter crap that made GW-BASIC look like Haskell. At least GW-BASIC supported named labels for your GOTOs. PICK Basic oth only supported numeric labels. Imagine that if you can. You can have named labels in most assembly languages, but not in PICK Basic. Wrap your head around that if you can.

    Anyways, the existing programs were a monstrosity we inherited were a monstrosity. We started fixing that by establishing standards and procedures for creating new programs (or introducing changes in new ones). We established a hierarchy of numeric labels - labels in the 1000-1999 range for initialization, 2000-2999, 3000-3999 for general computation, 4000-4999 for reporting/output and 5000+ for error handling and abnormal termination.

    Those are the tools we had for that specific job, and as ugly as they were, we found ways to deal with them, to increase value for our employer while minimizing the number of WTFs that had been piling up for years by incompetent code monkeys.

    There is no question in my mind that PICK systems were pure crap because they required us to put significantly more attention to detail to avoid introducing WTFs. Thank God that was just one job I had to do, and that I have never had to deal with that ever since.

    And I've experience deja-vu moments like that, in Java, Visual Basic, C/C++, FoxPro, you name it. There is no language or IDE out there that does not have some unbelievable collection of WTFs.

    But none of them cause people to unavoidably fuck it up again and again and again. Wielder, not tool.

    When we had our choice to pick, we try to pick the best tools we can get.

    But more often than not, we do not. And when that happens, what do you do? Do you go on auto-pilot and let the tool WTFquery imbue themselves into WTFs in your own code?

    No. Not at all. You use your skills and find ways to make that shit work, to put some structure, some standards, some sane mechanisms and patterns and practices to maintain some quality in your work.

    It can be done. Actually, it is done, and it has been done. Wielder, not tool. Always.

  68. You can thank "process improvement" consultancies. by javabandit · · Score: 4, Interesting

    At its inception, the Agile manifesto was simple. Four priority/value statements and then a list of simple principles. The goal? Merely to say that delivering value to the customer, collaborating with customers, frequent delivery and feedback, and team empowerment are the way to deliver software. Focus on delivering value. Don't focus on delivering things that aren't valuable. Very simple.

    Once Agile values started to become embraced and a couple of new development processes came along (SCRUM, etc), you all of a sudden had a bunch of consulting companies and community meetups appear that all but destroyed the perception of Agile. For these companies and community groups, it's all about the process. They will teach you how to "do agile". They will provide you with bodies/contractors who can "do agile". They will sell you certifications which show you "do agile". They will sell you seminars and training on how to "do agile". They will sell you software which "does agile". Agile has went from a basic set of values to becoming a fundamentalist religion.

    So my statement to "Agile Process Improvement" firms is this: You are all just scammers and profiteers. You are software development Pharisees. It is amazing that you focus on profiting from creating processes, enforcing processes, teaching processes, and writing process software... for a methodology where the first value statement is "Individuals and interactions over processes and tools". Why don't you guys teach REAL agile? Why don't you teach companies how to better define value and deliver it to customers instead of selling new processes, fundamentalism, and bodies?

    For the rest of you, if you want to be "Agile". Read the Agile manifesto. Create your own process that suits your team and your business. Work continuously with your customers to understand what is valuable to them. Deliver good value to them often and get their feedback. Allow your team to learn and grow and understand the needs of the customer. THAT is Agile. THAT is all you need to do.

  69. Agile = Just another silly fad by Anonymous Coward · · Score: 0

    There have been many in the industry, and no doubt there will be many more. Agile is now beginning to enter the final phase of its existence, to be replaced by the next fad, whatever that will be.

  70. Bad developers, good developers by Anonymous Coward · · Score: 0

    Bad developers will do poor development with or without Agile. For good developers to do poor development, that takes Agile.

  71. We're not worthy, Andy! by Anonymous Coward · · Score: 0

    We don't deserve such a great system as you've given us. Please accept our humble devotion and apologies. We promise to be more agile in the future!

  72. Re:If you can't make it work, it's you (or your wo by HarrySquatter · · Score: 1

    No, you said and I quote: "It It's never the tool, but the wielder". This statement could only be true in a world in which every tool is perfect.

  73. Agile Oxymoron by Loconut1389 · · Score: 3, Informative

    I always find it funny for something named Agile and aimed at being responsive to needs that people are so "by the book" about it. I find it oxymoronic that there's "one true way" to do something called Agile.

    Some employers are so by the book that they have to have a physical whiteboard with postits even though they also have to have jira and keep both those in sync. The purist agile says no remoting- face to face only, which I think is incorrect- I think "some kind of verbal or visual chat" is sufficient, but the key is communication beyond say hipchat and jira and email.

    Some employers claim to be really purist about it and yet depart in significant ways. I think a lot of employers also use Agile as a way to squeeze long hours out of devs at the end of every sprint even though "purist" agile says 40 hour work week.

    I generally like agile and it took a while for me to understand that MVP doesn't mean do the bare minimum for the sake of doing the bare minimum but with the idea you get it to the customer for feedback sooner and you iterate.

    1. Re:Agile Oxymoron by Livius · · Score: 1

      Agile is awesome except when it lacks agility.

  74. Re:Yes by Phoenix+Rising · · Score: 2

    Management push-back is a tough one and understandable. They want to know where the company is going in a quarter, two quarters, next year. That means big plans, and it means estimating the size of things way in advance. That's something that Agile is specifically designed to avoid - unnecessary advance planning. I think this conflict exists (or should exist) even in the best Agile development shops. The alternative is the ultimate in management short-sightedness - no plan for the future, just get through the quarter. On our team the compromise is doing some one quarter rough-grooming and having our engineering team manager (who was a team member before being promoted) flesh out the more distant epic level grooming with our PM.

    --
    Let us live so that when we come to die, even the undertaker will be sorry -- Mark Twain
  75. Agile works well when you work fast by npetrov · · Score: 1

    From my experience, Agile works really well when you or your manager can define "mini projects" that are completed within 1-2 days. Yet, if you are slow and such projects take 1-2 weeks, it doesn't work as well.

    From this perspective, the best Agile teams should have several super fast developers who would interact on such development every morning and keep the good speed of going forward.

  76. agile works great^H^H^H^H^Hcheaply for... by dAzED1 · · Score: 1

    Agile works cheaply for software which is a relative island onto itself; facebook, google stuff, etc - where you have to meet a standard for a web client, but where otherwise you can publish API versions and allow people to continue to use previous versions, but that nothing is really built /on/ your product. It works horribly for anything which has to work with anything else which might change (yes, standards change....slowly). Operating systems, libraries, etc - when a core principle is to ignore documentation or any group other than the engineers themselves (including clients) then yeah - works well for islands, not things which are parts to a larger puzzle.

    1. Re:agile works great^H^H^H^H^Hcheaply for... by plopez · · Score: 1

      OK, this is close to what i was going to say. But basically I think if you approach it as a 'one size fits all' or some sort of silver bullet approach it will fail. Use it in the domains it is good at. For other projects, you have to look else where.

      In my case we have teams scattered across the world working on a very large enterprise scale project. I do not think Agile works well in that environment. I am unsure what does. ANd unfortunately we are doing things referred to as 'Agile' but is not. It is merely an excuse to keep us on an insane release schedule. SSDD. Or to put it another way, 'Ground Hog Day'.

      --
      putting the 'B' in LGBTQ+
  77. Agile - an outside in perspective by shakuni · · Score: 1

    To me the biggest risk in any product is not getting the right product out. Quality comes second. Iterating rapidly allows you to get to the right product. The impact on quality that comes from not having enough time to think through design, code and test, in theory, could be compensated for by "smarts". To the extent Agile helps iterate to get to the right product it is valuable. The specific mechanics of it are not "nature laws" and hence should and must be changed by smart people to see if it fits their purpose.

    1. Re:Agile - an outside in perspective by Anonymous Coward · · Score: 0

      > not having enough time to think through design, code and test,

      By definition, you are not allowed to write good code if it takes more than one Sprint. Every task must be completed within one Sprint, or it must not be done even if it is required for the survival of the company. I work for a company that does payroll, and our board hired a full-time Agile project manager. He will not let us do any task that takes more than two weeks. As Agile requires, completing a task includes all of the dev work, QA, and bug fixes so it is hard to make all of tasks fit. We're upgrading to a new tax engine, and even after spending more than a year planning and creating more than a thousand tasks, there's still four that take more than two weeks. Those four simply can't be divided up. He will not let us start development. I've had four developers doing nothing for sixteen months because of Agile. We missed our deadline last Dec to add the W-2 box 12 code DD numbers. It was legally required for most of our customers, so they are angry, and we lost customers. We still haven't started creating the feature because we're still in negotiations with our Agile master.

      It's depressing how much in salary we're wasting due to Agile. He makes about $160k per year and add-in four devs that make about $120k per year on average, and you're up to $853k for the sixteen months since he started obstructing work. That doesn't even cost the revenue we lost because we couldn't put the legally required information on our customer's W-2s. Agile is a disaster.

  78. Same here by Anonymous Coward · · Score: 0

    Developper not doing proper testing simply doing only unit test and some very limited automated test , then not expanding automated test because there is no time, and then no real business test (integration). And then in the end stuff not working with a simple test. And don#t get me on the doc never updated or written because hey code is self explanatory (yeah tell that to the client or the specificator or when somebody want to test or understand the implementation like end user).

  79. Yes. Kanban ftw by Anonymous Coward · · Score: 0

    Nm

  80. We tried that method by aepervius · · Score: 1

    "agile team lead themselves". We tried that. Gave outline. And the agile developer used that to explain them being much slower than estimated because the spec are not deep detailed enough. And then test were dropped in favor of coding. Yeah sure. Excuse are invented to be used. Too much micromanagement. not enough micromanagement. So yeah. You'll excuse me if I see I am skeptical.

    --
    C. Sagan : A demon haunted world:
    http://www.amazon.com/gp/product/0345409469/
    visit randi.org
  81. Re:Yes by Cederic · · Score: 3, Insightful

    it drains software engineering of the things that make it a satisfying and enjoyable activity, turning it into the software equivalent of grunt factory work

    I'm confused. The satisfaction and joy of software engineering is turning a problem into a working solution.

    The agile methods I followed let me realise that joy multiple times a day - checking in working code, and see it pass the automated test bed on the build server.

    What is it that you perceive to be satisfying and enjoyable, and how are you losing that?

  82. Ready, fire, aim! by Tablizer · · Score: 1, Insightful

    If you want to do it semi-scientifically, then test a given methodology for at least 7 years on actual projects for multiple project and organization types.

    Why is it methodologies start spreading before being properly field tested? It appears to be hypsters jumping the gun in order to get rich selling hype (books, training, & consulting), but I'm open to other explanations.

  83. Read As by Anonymous Coward · · Score: 1

    I made enough money with agile, its caught on and I can't make money anymore.

    Look at that shine! Use GROWS and you too can look like me! Ka-chow!

    1. Re: Read As by Anonymous Coward · · Score: 0

      Cynical, but probably true.

  84. Agile needs good people by Anonymous Coward · · Score: 0

    like waterfall.

    on a project burning a million a year between various team, we had a successful delivery 2 months ago. Its a large DW BI project with tons of data.

    The fact is that a good team will deliver with Agile or Waterfall.

    Been a developer for 15+ years, the problem I have seen with Agile is that hip shops pick it up. Kids are out of college and that contributes to failure than Agile it self. The mentality, "Its cool to be agile, who wants to do waterfalls, thats what my dad did".

  85. My Kingdom for Good Acceptance Criteria by Gestahl · · Score: 2

    If Agile is failing despite voluminous developer output, that's where the rubber hits the road.

    In real world development, you are going to have acceptance criteria written to your PMs level of understanding of the product. Most businesses don't understand product managers, they understand *project managers*, and since project managers are just bookkeepers, organizers, and communication traffic facilitators, meant to be fungible across many types of projects, it just all goes to shit.

    The experts who know the system can't be bothered to write the stories, and the project manager has no fucking clue what they are typing up.

    Here's the stupidest thing ever: a company that develops with Agile, yet still has Subject Matter Experts communicating through the project managers. Of course you have to have a project manager, because it isn't a single team, or even all Agile teams, and the teams need to coordinate their efforts. And of course those SME's are too busy answering everyone's questions to be bothered to write out the specs properly.

    Agile is like most high school physics: it works *perfectly* in low-friction environments.

    Now, the pro-Agile people are going to say you aren't doing it right, etc. etc. You people are like communists: it works if you do it right! No, it doesn't, because it doesn't take into account corruption, greed, politics, propaganda, and deliberate mis-control of information for the benefit of a few. And those things are going to exist in any large-enough group of people.

    Agile will not fix your organizational problems. It only shines a spotlight on them. Usually, when you point this out, everyone will nod their heads. They will all agree it needs to change. The problem is that no one with the power to actually fix the issue is in the room.

    1. Re:My Kingdom for Good Acceptance Criteria by Anonymous Coward · · Score: 0

      Now, the pro-Agile people are going to say you aren't doing it right, etc. etc. You people are like communists: it works if you do it right! No, it doesn't, because it doesn't take into account corruption, greed, politics, propaganda, and deliberate mis-control of information for the benefit of a few. And those things are going to exist in any large-enough group of people.

      I've done real Agile and fake Agile, but I more or less agree with you.The thing is, communism works really, really well for communes. If you are thirty monks looking to run a monastary, capitalism sucks. Communism works very well. If you're 15 developers looking to make a good product, Agile works, waterfall sucks.

      The deal is scaling them is not a simple matter. You can't throw 3000 monks into a huge commune and get anything that isn't a corrupt pile of shit like the Vatican.

    2. Re:My Kingdom for Good Acceptance Criteria by Gestahl · · Score: 1

      That's not saying very much: just about any methodology "works" with a small enough group of highly-like-minded and self-selecting people.

  86. Agile is a fine way of implementing a design and a by Anonymous Coward · · Score: 0

    Agile is a fine way of implementing a design and a really, really bad way of designing anything. Agile will move you inexorably to a fixed objective, but run you right off the rails if the objective wavers even a little.

  87. Not failed, but... by gestalt_n_pepper · · Score: 1

    It works because it forces developers meet regularly, track progress, discuss problems, pay attention to requirements, be aware of the schedule and what everyone else is doing, The rest is theology, more or less.

    --
    Please do not read this sig. Thank you.
  88. Re:You can thank "process improvement" consultanci by phantomfive · · Score: 3, Informative

    Once Agile values started to become embraced and a couple of new development processes came along (SCRUM, etc)

    That's a nice thought, but SCRUM actually predates Agile by half a decade. SCRUM was introduced ~1995, and Agile ~2001.

    Though the actual Agile techniques are much, much older. Reading the Mythical Man Month can convince you of that.

    --
    "First they came for the slanderers and i said nothing."
  89. Management Buzzwords by DarthVain · · Score: 1

    Agile probably fails because it is the next Management Buzzword that somebody heard somewhere. Then try to use it, because it is the new best thing.

    Like anything, it likely has it's place and time, probably mostly dependent on size and type of project being worked on. Having it misapplied because Management thinks it is a swell idea, then having people just try to make it work because they have to, well it might work, but if you are trying to fit a square peg into a round hole it may be difficult not to fail.

    From what I have read, for small to medium sized project Agile can work quite well. However once you get to the large and gargantuan size projects it starts running into some fundamental problems. Sure you might be able to break it down into smaller projects, but that is not always reasonable or makes sense, or then you are adjusting requirements simply to fit your development process. Also those pieces need to be able to work together in a seamless and coordinated way, which requires some higher level planning...

    Anyway when I hear about a very large system being done in an Agile manner, the first thing I think of is, enjoy that incomprehensible pile of garbage that is going to be the result unless you are very careful.

    I think some like it for infinite job security, as you will just be constantly going back over and redoing and readjusting things for that application forever just to keep it limping along and running like some Quasimodo. Though in this example, perhaps Frankenstein might be a more apt analogy where you are trying to take a bunch of badly related pieces and building a single system out of it, zapping it with lightning and hoping for the best... The result? Fire and Mobs... Fire and Mobs...

  90. Re:If you can't make it work, it's you (or your wo by ExEm2SS · · Score: 1

    You can theoretically hammer nails with a saw. :)

  91. So much Agile here by Anonymous Coward · · Score: 0

    All this discussion from Pro-Agile folks--ya'll make waterfall sound like it was really:

    waterfall@aol.com

    Just saying.

  92. No wonder it's not working for you! by __roo · · Score: 1

    I'm seeing posts from people saying things like, "Agile isn't working for my team, I just spent my whole daily standup reading this thread" or, "I get a lot of work done during my retrospectives". Of course agile sucks for these people! Agile will get limited—but still useful—results when the team has this attitude.

    But if they have a different mindset where they actually try during the daily standup or retrospective, it works so much better.

    Look, every really good developer I've worked with has had good opinions and ideas about how the project should be run. When they spend the entire standup or retrospective looking at on their phones, the team doesn't get the benefit of those opinions and ideas. But when they use the meeting to actually share those ideas, and maybe even engage in a good discussion (or even argue for them!) with the rest of the team, the whole project benefits. But that only works if they care about doing a good job with the standup or the retrospective the way they care about doing a good job with their code.

    I'm plugging my book, Learning Agile, now. I hope you don't mod me down too much for that. But I think we did a pretty good job arguing this point in the first few pages the first chapter. You can read the first chapter for free [PDF].

  93. Tough sell but easy buy by Anonymous Coward · · Score: 0

    " 'Agile methods ask practitioners to think, and frankly, that's a hard sell,' "

    It seems to me that if Agile works so long as practitioners are willing to "think" that it might be most profitable to just fire the ones who aren't adaptable enough -- or not hire them to begin with?

  94. Depends on the project by Anonymous Coward · · Score: 0

    I've been through four different methodologies and all of them have good parts, its more about understanding what applies to the project you are on.
    Delivering a website, VS. delivering a desktop application.
    Delivering software for the International Space Station VS. delivering software for a phone app.
    Delivering a 1.0v/2.0v of a product VS. delivering 1.0v+/2.0v+ of a product.

    I find agile is better suited for post-1.0 product deliveries of a Django website, rather than initial development on a C++ application for a mission critical system. I find it bizarre that it becomes a buzzword and so it gets used on every project under the sun. I tend to like fresh (1.0) software development on more critical apps, which allow for more design and proof before hard-core development happens, and so I tend not to like Agile in general, and wish it would just go away. Agile is at odds with Lean start-up mentality, and I hope that encourages a trend away from Agile or at least a rethink of its usefulness. (Read the original waterfall papers, and you'll see that agile is really just a dumbed down waterfall).

    The best thing to do is find the (custom) process that's best suited for the project you are on at the current point in time, and forget about what's currently the hot buzzword.

    1. Re:Depends on the project by SQLGuru · · Score: 2

      I'd argue the opposite. As a consultant, when we're brought in for a 1.0 type project, we're more successful with an Agile approach because requirements are less solidified in detail but the high-level stories are fairly well known. Each sprint, we can take a story, detail it out and implement it. The customers see progress and enjoy the feedback loop.

      Projects that are more focused on enhancements (smaller scale, not a "major upgrade") tend to have issues in an Agile fashion because everything needs to be done "right now" because it's "affecting such and such group" and the prioritized backlog turns into a big mess of conflicting priorities.

      That being said, my main complaint about Agile is that the typical implementation of it is too short-sighted. Sure, Agile allows for refactoring phases, but if you are only focused on what's in the current sprint, you might make a sub-optimal decision in Sprint 2 for a feature that isn't even considered until Sprint 6......but the decision you made in Sprint 2 locked you in to a bad approach and refactoring will take almost a full Sprint.....had you known about the Sprint 6 feature, you could have implemented the Sprint 2 feature in a way that the Sprint 6 feature could be implemented in a matter of days.

    2. Re:Depends on the project by Tamerlin · · Score: 1

      I agree with this. Most of the "agile" teams I've been part of just pretend that all it takes is sprints + scrum meetings to be agile. They throw any pretense at engineering out the window and rely largely on hacking in its most pejorative sense to get things done, which usually means ignoring quality and putting in a lot more hours.

      Most teams I've been stuck in have also been more obsessed with who owns what and how many hours and story points everyone's working than on how much functionality they're implementing, and at the same time largely ignoring even any pretext at there being a team involved.

  95. Straw Man by Capt.Albatross · · Score: 1

    Waterfall is a straw man. It only continues to be mentioned because it is an easy target. Claims that X is better than waterfall are a waste of time; they tell us nothing about whether X is actually effective.

  96. Agile is a failure buy my new methodology by Anonymous Coward · · Score: 0

    which falls under the Agile umbrella. Oh wait....

  97. '90s by X10 · · Score: 1

    The origin of agile and scrum (and the use of rugby as a metaphore) is "The Knowledge Creating Company" by prof Nonaka and Takeuchi. When you read that book, you realize that Scrum as it is practised today, in nothing resembles the ideas of Nonaka and Takeuchi. So, my answer is "yes". Even the scrum metaphore is wrong: the book uses team play in rugby as an example. Scrum is not team play and agile, it's standing still.

    --
    no, I don't have a sig
  98. Don't confuse Agile with Scrum by wumbler · · Score: 1

    Agile works for many teams or projects, but Scrum only works for some.

    Agile has received a bad name due to real-world implementations: The real-world implementation of an agile project philosophy is often done via Scrum, which is a very strict and prescriptive process. There are others, but Scrum is the most popular one. Scrum doesn't work for all organizations and projects, though! Shoe-horning unsuitable teams and projects into the Scrum process can lead to lots of problems and disillusionment with Agile, even though it wasn't really Agile's fault in that case.

    It's a bit like how Socialism gets a bad name from the (totally failed) real-world 'implementations', such as what we've seen in the Soviet Union or East Germany, even though the theoretical ideas of Socialism may actually offer some good points. The "agile" (lower case) aspects of "Agile" (upper case) are quite good, so it's worth to see if you may be able to adopt some of them.

    If you are interested in a less prescriptive and much more flexible approach to Agile, may I recommend you have a look at Kanban? It starts by just watching how you do things now and then can be used to slowly add a few processes here and there to strengthen the good things and reduce the bad things in your process. Especially large, established organizations can benefit greatly from that.

  99. Agile needs a standardized pipeline. No one has th by Qbertino · · Score: 1

    Unlike other methods (and I'm strechting the term "method" here), agile methods rely on excellent optimised and product oriented software production pipelines. This is how you should do it anyway, agile or not. But in my experience roughly 1 in 20 software shops implement even the flakiest of standardised production. Most of the time you still have to explain to people why they should use versioning.

    The decision makers, sales people and IT strategists also usually have a very hard time commiting to a product and produktion pipeline. They want to sell whatever goes and have the devs sort it out, understaffed, ill-equipped and with extra weekends.

    There are a few companies that have sales and technology and perhaps even industrial design/user experience all on par (Apple for example), but most companies that offer software development have no decision makers that understand even the faintest about software development.

    Agile methods such as Scrum are the ones that expose the fastest wether you actually are doing professional development or if your crew is just a bunch of people faking it with poor gouvernment, bad organsiation and a sales and production team that don't communicate professionally with each other. IT mostly is a second and third afterthought with most companies and in such environments the best method won't improve development, no matter what.

    If a PM can't tell a client from a server or Java from JavaScript and couldn't be bothered to understand why it is important to make a call and a final decision about tabs or spaces Agile will show how shitty your environment is in an instant. Waterfall (i.e. we don't know what we're doing but we're doing it anyway) will disguise that indefinitely, because there's no fixed model for accountability built in.

    Bottom line: Until IT stops being the cellar child of the company no method in the world will professionalise development as it is desperately needed. We're still like medicine in the 16th century in that regard.

    --
    We suffer more in our imagination than in reality. - Seneca
  100. Programming Motherfucker...Do you Speak It? by Irate+Engineer · · Score: 1
    --

    Left MS Windows for Linux Mint and never looked back!

    Vote for Bernie in 2016!

  101. Waterfall is as waterfall does. by Anonymous Coward · · Score: 0

    Agile fails because horrible management wants an "Agile" work environment but still get involved and want the overhead of a waterfall project.

    You cannot possibly have both, and until they understand that it will continue to fail.

    The largest Agile shops in the world that are successful always give their employees the latitude to self-manage the project and their customers work with the product owner to create a proper backlog. The Agile environments I've worked in have gone something like this:
    0) An idea is had, a pitch is thrown, and, it is decided a project will be introduced that promises to completely revolutionise the way we do business.
    1) Create the entire project during initiation, including complete system architecture. Ensure that modularity is not in any part of the system.
    2) Begin the project, working on the disperse parts that will all end at the same time at the end of the project.
    3) At 70% of the way through, the managers will then have to come in and start complaining about how their commissioned design has not been followed properly and if it had, the system would be up and running by now. Manager starts complaining about the architecture and how the developers screwed it up and now they need to implement modularity.
    4) A few months after schedule, the developers are barely able to pull together the original system as they had to write in a few different "modules" to get functionality working that broke other parts of the application.
    5) Users being actually using the product, complaining, and, whinging.
    6) Managers deflect fault onto others.
    7) ???
    8) A year later, a new Agile project will be introduced that promises to completely revolutionise the way we do business.

    Also, anyone that attempts to implement a third-party piece of enterprise software is doomed to failure if they attempt it using an "Agile" project.

  102. Agile has always sucked by Anonymous Coward · · Score: 0

    I am not a big fan of "Agile" development. To me, it sounds like dropping important parts of the development process in order to churn out more lines of code per minute. Of course every group has their own best methods of dealing with the development process. Having "agile" in the name certainly implies that it's superior to the old, stodgy, "inflexible" methods. Of course developers are happy, because they don't have to do those parts that were dropped. And management is happy, because they are "producing code faster" and buzzword compliant.

    Now, I had the displeasure of working for a company that attempted to adopt "agile" development practices.* Not long after I started, I told them I wouldn't do that any more, and they stopped. It may be just that they were implementing things incorrectly, though, so I looked at Wikipedia to find out more.

    The "waterfall" method as described in Wikipedia is just a straw man. The only company that would implement a completely inflexible process where separate groups implement each step in isolation is a completely management-heavy company that would be painful to work at for any position. There is always feedback between processes. The "V" method is probably the most common method of implementing "waterfall". Just because it got its own name doesn't mean that it isn't what's meant when people (who are not "agile" proponents) say "waterfall".

    Here's the Agile Manefesto, with commentary by me:

    > We are uncovering better ways of developing software by doing it and
    > helping others do it. Through this work we have come to value:

    > Individuals and interactions over processes and tools

    Processes and tools empower individuals to get their jobs done without uncertainty and with great efficiency. Also, many agile shops insist on using certain methods that require certain tools (e.g. Rational Rose, Microsoft Visual Studio), so this is clearly not a shared value.

    Valuing individuals is good. The proper way to do this is to adjust the processes and tools to meet the needs of the individuals, rather than dictacting what sounds best to everyone without feedback.

    Wikipedia provides elaborations:

    >> ... self-organization and motivation are important, as are
    >> interactions like co-location and pair programming.

    What does this even mean? Are you saying non-"agile" methods do not encourage self-organization and motivation? Motivation in particular is completely dependent on the individual. Agile methods do not motivate me, for example. Self-organization sounds a lot like "we have no clue how to manage this, so we'll rely on you to, even though you probably have no clue, either". ISO 9001 compliance, which was popular for a time, requires that every task an indivdual performs be written down. This prevents management from inventing new tasks outside of the employees scope, helps orient new employees, and when it comes time for status reporting and performance reviews, it gives the employee a reference against which to evaluate. Self-organization can be part of that, by not forcing procedures that dictate organization, but I don't see a lot of that coming from the "agile" programming folks. Instead, a new set of rules is forced on people, claiming that they are somehow superior.

    Co-location is fine, and saves money for the company. However, it's missing an important point: we have the technology to stay in touch regardless of physical distance. Email is sufficient for most communication, and chat protocols allow more real-time interaction. It's not hard. It helps people who don't like live meetings, it allows people to work from home, and it allows blind and deaf people to communicate as equals (although maybe not so much blind people when other people start drawing diagrams). It's also easier to retain a record of the discussion. It also helps prevent common communicable diseases, such as the cold and flu. Of course video conferencing provides some of thes

  103. Agile by db10 · · Score: 0

    well no most coders are rather clumsy. Look I don't have time for morning snuggles or can can boards.. Don't force nerds to talk about their code, omg we're trying to avoid that. Just show me who to beat the specs out of and let's program, muffukas

  104. Care to recommend suitable alternatives? by Anonymous Coward · · Score: 0

    There are more choices than just Agile and Waterfall.

    Care to recommend other suitable alternatives that can tackle the complexity of big projects?

    Thanks!

  105. Like all methodologies by murdocj · · Score: 1

    So the argument is "the methodology is perfect, it's the people that are failing". Just like "waterfall is perfect, it's the people that are failing". Accept that "agile" has some good stuff and some stuff that doesn't work, applies in some cases and not in others. Take some good stuff from it, and move on.

  106. It just needs to come up with more buzzwords by Anonymous Coward · · Score: 0

    People taking part in agile development just needs to synergize and refactor their b2b b2c ROI scrum before they close the loop by getting more eyeballs on the strategy.

  107. Methodologies are just a grab-bag of techniques by Anonymous Coward · · Score: 0

    All of the techniques of which Agile is composed exist independently. They can be usefully applied by themselves. Furthermore, there are techniques which don't exist within the Agile definition which can also be useful. Developing a broad, integrative understanding of the range of management, workflow and development techniques available is critical. Ideally, that knowledge is held by "the boss", whoever that is. It could be a project manager, a product owner, a software team lead. Whoever has the capability to drive change will be the person to drive change; whoever has the capability to push process compliance will do so.

    That capability comes from a mix of organisational authority; knowledge-based authority; people-manangement skills; problem-solving ability and a broad range of ideas. What's important is that the key nexus points in the informal org chart have the knowledge of how to get work done.

    That's the challenge. It's not standardisation on a narrowly-defined, specific set of processes and terminology.

    Agile isn't dying, because it's a great starting point. It allows managers and leaders at around about the competence / proficiency stage of the Dreyfus model of skill acquisition to present a model for their team to follow. However, there are many levels above it.

    In my opinion, there will forever be a constant cacophony of stress, challenge, failure, success and rework in our attempts to deliver software, based on the skill acquisition points of the whole team.

  108. Waterfall in agile clothing by Tony+Isaac · · Score: 1

    In my first encounter with Agile back in 2001, our management decided to follow Scrum.

    We did the daily meetings, of course. Then we divided our project into sprints:

    Sprint 1: Design
    Sprint 2: Coding
    Sprint 3: Debug
    Sprint 4: QA
    Sprint 5: Release

    Needless to say, it didn't work out too well. Since then, I've seen agile done a lot of ways, some worked, some did not. Frankly, most waterfall proponents simply don't get Agile. Managers who DO get agile are able to deliver far better quality, in far less time, than any waterfall model.

  109. Criticism doesn't mean failure by Anonymous Coward · · Score: 1

    Firstly, criticism does not mean failure- it means things can be improved, which is part of being agile...

    I'm a big fan of Agile. In a team of intelligent, talented, motivated developers and managers who trust each other it can be fantastic. Sadly, once it got a label, people tried to codify it. Then they started following processes and ignored one of the tenets of the Agile Manifesto - People before processes. That's when it started to go wrong.

    My team tried Scrum, it didn't work. Rather than give up (or keep plowing on), we looked at why and decided to give Kanban a go. It worked, mostly. Where it didn't, we tweaked it. As the team grew in size we did more tweaking.
    One of the most important things we do is to bring up any issues in our retrospective - if something isn't quite right we try to fix it. We criticize our process. Sometimes managers do it, sometimes devs. We talk, we trust each other. All in all it works pretty well.

  110. one size fails all by Tom · · Score: 2

    The problem is not with Agile, but with people who believe in magic potions.

    Nothing in this world ever solves all problems. Nothing in this world ever fits everyone. Agile is no exception. It might be good or bad, depending on circumstances such as your team, your culture, your project and a dozen more.

    The best you can do as a leader (manager, lead dev, CTO, whatever) is to pick and choose and come up with a system that works for your company, your people. It might be Agile, or Agile with something else mixed in or something else with some Agile mixed in, or no Agile at all. It depends.

    If you believe you can take something that someone else cooked up without knowing your situation, and just apply it by the book and that's it, then you are not doing your job.

    --
    Assorted stuff I do sometimes: Lemuria.org
  111. Woohooo! by Anonymous Coward · · Score: 0

    We've gone full circle! Something that promised to improve *everything* has been badly applied for a decade or so, and now it's considered failed.

    Go figure.

  112. LOL is this for real? by Anonymous Coward · · Score: 1

    "the Agile Manifesto, the product of 17 software developers coming together in 2001 to talk over development methods."

    So they figured it all out for the rest of us devs. Awesome! Works for everything!!!

  113. Incremental development, yes. Agile, no. by Anonymous Coward · · Score: 0

    The major takeaway in Agile is to develop software in an incremental fashion. Now here's the kicker: that methodology was well understood for 30 years before the Agile Manifesto was even published.

    Incremental Development is spirituality. Agile is religion. You don't need the latter to achieve the former.

  114. No Management Buy-In by Anonymous Coward · · Score: 0

    I have worked as a developer in many environments using both Agile and Waterfall methodologies. Many of these organizations have claimed to be Agile but cling to some Waterfall practices and so are not true Agile. Of all the environments claiming to be Agile, the common denominator I have seen that makes them not true Agile is that Management has not bought into it entirely. When this happens it is only "Agile-like". In order to be true Agile, Management has to have bought into it completely. Typically Management will say they support it entirely yet when a product is not going to be completed by a particular date they do not behave in an Agile manner; by either changing the date or by dropping features as appropriate. True Agile also requires there to be a product owner. The product owner's job is to have full power to make product decisions. Many of the Agile shops I have worked in have a product owner, but they do not have the power to make any product decisions or they are product owners of too many products concurrently and tend to end up unavailable when it matters most. These are the primary reasons I see Agile fail.

  115. We should all strive for the three minute standup! by rhyous · · Score: 1

    The three minutes standup

    Manager: (looks at Dev 2) Kanban board says you moved Blah task to done yesterday and pulled in foo task today.
    Dev 1: Yes.
    Manager: Good work. Need anything from me or the team.
    Dev 1: No

    Manager: (looks at Dev 2) Kanban board says you moved Oober1 task to done yesterday and pulled in Gobblygook task today.
      Kanban board says you moved blah task to done yesterday and pulled in foo task today.
    Dev 2: Yes.
    Manager: Need anything from me or the team.
    Dev 2: Yes, I need help from Dev 1 to do Gobblygook.
    Manager: (looks at Dev 1) Dev 1, can you talk to Dev 2 about gobblygook after standup.
    Dev 1: Yes

    Manager: (looks at Dev 3) Kanban board says you moved Whatsit task to done yesterday and pulled in WrongWork task today.
    Dev 3: Oops. Yes, I finished Whatsit yesteday, but I pulled in the wrong story. I am working on RightWork.
    Manager: Fix the Kanban board mistake. Need anything from me or the team on RightWork.
    Dev 3: Nope

    Manager: (Looks at Tester) Kanban board says you finished tests for oober1 and you are working on testing Blah.
    Tester: Yes, there was one bug, I verbally told Dev 2, he fixed it. I retested an now all tests pass. I am testing Blah now.
    Manager: Good work.Need anything from me or the team.
    Tester: I'll maybe need to speek to Dev 1 about Blah sometime after lunch.

    Manager: Great job team. Keep up the good work.

    Stand up ends.

  116. Yes and no by EmperorOfCanada · · Score: 1

    Agile development in the more pure form such as XP is doing just fine where I see it being used. But the management/certification/terminology/paid courses version of Agile should be taken out behind the woodshed and shot. Basically when I hear a company has SCRUM masters then I add it to the dead pool of tech companies that my friends and I bet chocolate bars on. I have a long list of these sort of silver bullets that can claim to turn shitty programming teams into productive machines. Six Sigma would be another pet peeve.

    I am partial though to some parts of the PMI PMBOK type stuff but some care needs to be taken distinguishing between certification and ability. At least half of managing people is being a people person.

    But to me agile seems to be mostly adopted by really really shitty programmers who aspire to management so as to cover up their complete inability to get anything done. Also many Agile people tend to use the guise of agile to ram their shitty programming style down everyone's throat as some kind best practice. People who like ++i or have insane commenting styles.

  117. Agile: Recipe for failure by Anonymous Coward · · Score: 0

    All AGILE does is allow a PM or architect the ability to terrorize the development process with useless process. All 4 week sprints do, is burn your developers out. On current project that uses AGILE, most engineers last about 7 months and quit, or move to another project. AGILE just plain sucks.

  118. same old same old by gzuckier · · Score: 1

    So, there's a brilliant programmer or programmers who can and do create and negotiate their own path by constantly juggling the requirements, the current state of the project, the gap between where it is and where it wants to be, within their heads at all times, while keeping the code clean and readable. And you want to convert your organization from reliance on one or a group of these talented programmers, so that you'd have to quit the business if anything happened to them, into one where the talents and knowledge and wisdom and good habits and skills and styles and diligence are all built into the processes so that mediocre programmers can do good work by just adhering to processes; and good programmers will find these processes are in accord with what they're doing anyway and not be hindered. Ha! Welcome to the dilemma of every organization, ever; making the leap from a bunch of talented people pooling their talents into an organization where the talent is built into the structure/function of the organization. If 5% organizations make the leap successfully, I'll be surprised.

    --
    Star Trek transporters are just 3d printers.
  119. I guess we're doing it better than I thought by eric_harris_76 · · Score: 1

    After reading some of the comments about how Agile is being done elsewhere, I'm pretty pleased with how well it's going where I work. I do wonder why the difference, though.

    Standups are 15 minutes (officially) but went longer because we had two scrum teams (called "pods", which name no longer irritates me) working on a project that affected both. We needed the expertise and the resources.

    We don't spend a lot of time on backlog grooming, in part because we don't have to split many of our user stories. Things were pretty well broken-down into manageable size when we laid out our work, up front. (Somewhat waterfall-ish, but it has worked out OK.)

    Another reason is we have a separate meeting (which we call a "champion meeting" for some reason) where a subset of the whole team identifies uncertainties and determines things that were TBD, if they have to be before the user story can be sized. User stories normally are sized at that time.

    We used to use "planning poker" cards, but now people are comfortable singing out their estimates or doubts about the estimates of others, and working to a consensus. If we can't come to a consensus, we'll go with the higher of point estimates.

    Teams are small, 5 or 6. (Except for our duo-Pod team, during that project.) About half our people are in St. Louis, the other half are contractors in India. Almost always a St. Louis QA tests what a St. Louis Dev produced, and an India QA tests what an India Dev produced. One BA/scrummaster for the team. (Two, during the duo-Pod project.) Only St. Louis folks attend the "champion meeting", but all attend the daily standup and a weekly coordination meeting (at the end of the India day and the start of the St. Louis day).

    Much of the above applies all Pods, some only to the the duo-Pod team, which is breaking up now. Next week, some are going half-time on the duo-Pod work, and then it's just going to be one of the pods.

    We've not been slavish in following Agile rules, or our own. The "champion meeting" was added a few months back. And with the end of the duo-Pod, we'll no doubt have to make more changes. We've already started on that.

    Why has it gone so well? A couple explanations.

    Management had a strong commitment to it, and for the most part hasn't micromanaged it, or even come close. All pods are now on 2-week sprints, and are synchronized, with a 6-2-1 at the end of each quarter. Initially we had a requirement to maintain a somewhat even velocity. If the points accomplished per sprint weren't sufficiently consistent over time, we got "dinged". Now we have to commit to calendar dates for big chunks of functionality, instead, but we get to choose our commitments. (We can't be silly about it, of course.)

    We got some training, pretty much from the get-go. Some general Agile training initially, and when we were ready or almost ready for it, more detailed training, like on user story splitting.

    Another part is the company culture. There's more of a "fix the problem, not the blame" when things go awry, and the concept of technical debt is understood pretty well, even in the business. (We're about 2 weeks away from removing the last of the Visual FoxPro code from production -- in our Pod's code. We're not quite the first Pod, and won't be the last. So, they know what happens when important-but-not-urgent work is deferred too long.)

    --
    There's no time like the present. Well, the past used to be.
  120. Programmers Who Get the Job Done by herbierobinson · · Score: 1

    Don't fill up pages and pages of Slashdot arguing about which methodology fad is best...

    --
    An engineer who ran for Congress. http://herbrobinson.us
  121. Wow! by cwsumner · · Score: 1

    From what ya'll are saying, it sounds like big beauracracy all over again! Only the names have been changed, to "protect the guilty".

    Note that using new words, does not guarantee a new outcome...

  122. A new development paradigm by peterofoz · · Score: 1

    Tired of endless meetings, circling back, and rehashing specifications no one has reviewed? Running out of corporate buzzword bingo cards? I'm working on a new paradigm which I think I'll name: Git-r-dun. Your thoughts?

  123. Re:Yes by Anonymous Coward · · Score: 0

    Logical thinking/work is hard to do in a logical manner. It seems too rigorous at times.