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.

355 of 507 comments (clear)

  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 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.

    5. 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?
    6. Re:No. by BradMajors · · Score: 1

      Maybe.

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

    7. 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.

    8. 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.
    9. Re:No. by BradMajors · · Score: 4, Informative

      There are more choices than just Agile and Waterfall.

    10. 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
    11. 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...

    12. 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.

    13. 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/...

    14. 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.

    15. 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
    16. 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
    17. 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
    18. 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.
    19. 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.

    20. 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....

    21. 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'
    22. 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.

    23. 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.

    24. 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)
    25. Re:No. by __aaclcg7560 · · Score: 1

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

    26. 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.

    27. 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.

    28. 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.
    29. 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.
    30. 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.

    31. 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.

    32. 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.

    33. 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.

    34. 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.

    35. 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...

    36. 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.
    37. 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."
    38. 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.

    39. 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.

    40. 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?

    41. 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.

    42. 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.
    43. 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.
    44. 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."
    45. 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.

    46. 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".

    47. 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.

    48. 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.

    49. 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...

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

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

    51. 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.

    52. 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.

    53. 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.

    54. 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.

    55. 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
    56. Re:No. by Anne+Thwacks · · Score: 1

      So its your lawn. I was wondering about that!

      --
      Sent from my ASR33 using ASCII
    57. 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
    58. 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)
    59. 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...

    60. 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."
    61. 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.

    62. 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."
    63. 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.

    64. 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.

    65. 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.

    66. 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.

    67. 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.

    68. 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.

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

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

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

      Everything is a "spike". Done.

    71. 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.

    72. 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.

    73. 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?

    74. 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!

    75. 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.

    76. 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.
    77. 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.

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

      "Because it sounds good?"

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

    79. 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.

    80. 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.

    81. 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.

    82. 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...

    83. 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.

    84. 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.)

    85. 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".

    86. 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.

    87. 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.

    88. 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.

    89. 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.

    90. 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.

    91. 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.

    92. 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.

    93. 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...

    94. 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
    95. 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.
    96. 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.
    97. 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)
    98. 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
    99. 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
    100. 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
    101. Re:No. by wallsg · · Score: 1

      Rabbit Season!

    102. 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?
    103. 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.

    104. 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.

    105. 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.

    106. 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
    107. 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.

    108. 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.
    109. 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.
    110. 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
    111. 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.
    112. 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.

    113. 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. 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 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.
    6. 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.

    7. 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.

    8. 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.

    9. 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.

    10. 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?
    11. 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).

    12. 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.
    13. 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.

    14. 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.
    15. 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.

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

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

    17. 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.

    18. 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.

    19. 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).

    20. 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...

    21. 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?

    22. 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.

    23. 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.

    24. 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.
    25. 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'
    26. 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.

    27. 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.
    28. 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.

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

      EXTREME PROGRAMMING!!!

      Ugh.

    30. 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.

    31. 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.
    32. 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."
    33. 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.

    34. 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.

    35. 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.

    36. 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.

    37. 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.
    38. Re:Agile. by epine · · Score: 1

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

      Emphasis on the word "speak".

    39. 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?

    40. 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."
    41. 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."
    42. 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'
    43. 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.
    44. 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.
    45. 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.
    46. 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."
    47. 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."
    48. 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.
    49. 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."
    50. Re:Agile. by tshawkins · · Score: 1

      Waterfall

    51. 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."
    52. 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.

    53. 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."
    54. 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.

    55. 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.
    56. 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."
    57. 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.
    58. 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.
    59. 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.
    60. 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
    61. 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)
    62. 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)
    63. 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)
    64. 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.

    65. 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.

    66. 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.
    67. 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.
  3. 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 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
    2. 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...
    3. 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.

  4. 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 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.
    5. 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".

    6. 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
    7. 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.

    8. 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.
    9. 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
    10. 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."

    11. Re:Right conclusion, wrong reasoning. by grimmjeeper · · Score: 1

      Agreed.

    12. 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.

    13. 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.
    14. 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.

    15. 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).

    16. 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.

    17. 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.

    18. 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'
    19. 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.

    20. 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

    21. 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.

    22. 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.

    23. 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.
    24. 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...

    25. 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.
    26. 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.)

  5. 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.

  6. 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 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.

    2. 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.

  7. 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.

  8. 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: 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.

    2. 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.

    3. 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.
    4. 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."
    5. 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.

    6. 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.

    7. 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.

    8. 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!.

    9. 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.

    10. 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.

    11. 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.
    12. 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.

    13. Re:All development methods are flawed by tshawkins · · Score: 1

      What about source control, you run commando on that too?

    14. 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.

    15. 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'
    16. 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.
    17. 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.

    18. 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.

    19. 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."
    20. 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.

    21. 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.

    22. Re:All development methods are flawed by jklovanc · · Score: 1

      You just described the waterfall process.

    23. 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.

    24. 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.

    25. 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.

    26. 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.

    27. 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.

    28. 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.

  9. 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 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).

    6. 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.

  10. 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.

  11. 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.

  12. 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 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'
  13. 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.

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

    I'll dub thee DevOps

  15. 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.

  16. 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.

  17. 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.

  18. 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
  19. Re:Yay! More acronym buzzwords! by asylumx · · Score: 1

    You don't need to create a new one, just use DevOps!

  20. 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.

  21. Re:If you can't make it work, it's you (or your wo by Desler · · Score: 1

    or *have* little ability, that is.

  22. 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?
  23. 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. . . .
  24. 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.

  25. 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.

  26. 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.

  27. 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
  28. 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
  29. 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.

  30. 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?

  31. 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)
  32. 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."

  33. 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 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.

  34. 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.

  35. 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
  36. 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
  37. 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.

  38. 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.

  39. 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.

  40. 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.

  41. 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.

  42. 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.
  43. 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"?

  44. 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.

  45. 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.

  46. 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.
  47. 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.

  48. 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.

  49. 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.

  50. 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.
  51. It can't fail by swamp+boy · · Score: 3, Insightful

    It can't fail cause all of the critics are doing it wrong.

  52. 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.

  53. 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.

  54. 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.

  55. 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.

  56. 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.

  57. 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
  58. 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.

  59. 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+
  60. 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.

  61. 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
  62. 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?

  63. 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.

  64. 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!

  65. 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 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.

  66. 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
  67. 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.
  68. 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."
  69. 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...

  70. 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. :)

  71. 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].

  72. 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.

  73. '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
  74. 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.

  75. 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
  76. 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!

  77. 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
  78. 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.

  79. 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.

  80. 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.

  81. 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.

  82. 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.

  83. 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.

  84. 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
  85. 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!!!

  86. 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.

  87. 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?
  88. 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.

  89. 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
  90. 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.

  91. 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.

  92. 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.
  93. 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.

  94. 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.
  95. 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
  96. 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?
  97. 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...

  98. 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?