Slashdot Mirror


Why Your Users Hate Agile

Esther Schindler writes "What developers see as iterative and flexible, users see as disorganized and never-ending. This article discusses how some experienced developers have changed that perception. '... She's been frustrated by her Agile experiences — and so have her clients. "There is no process. Things fly all directions, and despite SVN [version control] developers overwrite each other and then have to have meetings to discuss why things were changed. Too many people are involved, and, again, I repeat, there is no process.' The premise here is not that Agile sucks — quite to the contrary — but that developers have to understand how Agile processes can make users anxious, and learn to respond to those fears. Not all those answers are foolproof. For example: 'Detailed designs and planning done prior to a project seems to provide a "safety net" to business sponsors, says Semeniuk. "By providing a Big Design Up Front you are pacifying this request by giving them a best guess based on what you know at that time — which is at best partial or incorrect in the first place." The danger, he cautions, is when Big Design becomes Big Commitment — as sometimes business sponsors see this plan as something that needs to be tracked against. "The big concern with doing a Big Design up front is when it sets a rigid expectation that must be met, regardless of the changes and knowledge discovered along the way," says Semeniuk.' How do you respond to user anxiety from Agile processes?"

597 comments

  1. I tell them I feel the same way! by Anonymous Coward · · Score: 1

    But the alternatives are worse, so... there's that.

    1. Re:I tell them I feel the same way! by Anonymous Coward · · Score: 4, Insightful

      Agile taken to an extreme can be a PITA. If a customer orders a car, they want what comes out of the factory to have four wheels and a steering wheel. Agile development means that who knows what the end product will be... will it be a bicycle, will it be a lorry, will it be a motorcycle, or perhaps it might be a unicycle. The only person who knows is the one with the loudest voice.

      This isn't to say that waterfall is the best dev model, but there should be a balance, so one at least has a vision of what the end product will look like.

    2. Re:I tell them I feel the same way! by Entrope · · Score: 5, Insightful

      If you're not doing Xtreme Agile, you're not doing Agile right.

      Or at least that's what I keep hearing from all the Agilistas. They also tend to claim that any failed "Agile" project must have been doing Agile wrong, because by definition, Agile processes deliver useful working software at frequent intervals -- and they don't see the problem in defining "real" Agile processes based on an outcome rather than the processes used beforehand.

    3. Re:I tell them I feel the same way! by ebno-10db · · Score: 5, Interesting

      If you're not doing Xtreme Agile, you're not doing Agile right.

      That is correct comrade. Failure is always caused by insufficient ideological zeal and purity.

    4. Re:I tell them I feel the same way! by Anonymous Coward · · Score: 0
      Non sequiter much?

      massive power

      Uh huh. Seriously, this noise has nothing to do with anything. Mods: don't waste your mod points on this. Go mod insightful someone who deserves it, instead. :)

    5. Re:I tell them I feel the same way! by interval1066 · · Score: 1

      Been in lots of shops who claim to do agile, AND... fail. Or this: "Hey kids, we're doing agile now..." two weeks later... "...agile...? What's that...?"

      --
      Python: 'And then suddenly you have a language which says "we're all stuck with whatever the whiniest coder wants".'
    6. Re:I tell them I feel the same way! by plopez · · Score: 3, Insightful

      False analogy. Designing and creating a car is much easier to manage as a "waterfall" since it is so much harder to change and the problem domain is often in less "flux". The sheer energy and expense to design a car; which consists of market research, basic R&D e.g. engine and tire materials, the design of the car, the design of the factory, the design and construction of the manufacturing equipment, the training of workers, etc., is so huge that upfront design makes sense.

      In software the problem domain is often in flux, e.g. financial reporting regulations, and the cost of changes in software are lower. So software must be soft or lose relevance AND the fact that it is soft creates the danger of too many changes. We cannot think of software as no different than a factory, that is the original sin of software development.

      --
      putting the 'B' in LGBTQ+
    7. Re:I tell them I feel the same way! by Anonymous Coward · · Score: 1

      You could try writing the manuals and documentation first. Once they like how it work then you can make it work that way.

      But you really need the top engineering folk not marketing or newbies write the docs. Otherwise someone might write impossible features or "magic happens" into the manuals ;).

    8. Re:I tell them I feel the same way! by gmhowell · · Score: 1

      You piece of fuck! I will not allow you to sully my good name with your lies! I shall destroy you and your worthless reputation! How's that? Are you cowering in fear of my massive power, or are you sinking into an endless pit of depress and despair? Well, which is you? Those are your only options, Slashdot intellectual!

      I think it's supposed to go like:

      "cower in my shadow behind your chosen pseudonym some more, feeb.

      i am michael kristopeit.

      you are NOTHING."

      --
      Jesus was all right but his disciples were thick and ordinary. -John Lennon
    9. Re:I tell them I feel the same way! by BitZtream · · Score: 4, Insightful

      You are a problem.

      You seem to fail to understand that there is no difference between designing a car and designing a software product.

      All the things that go into designing a car should go into designing software. The fact that you don't do it that way shows the failure is you.

      Chasing the current fad is for those without the ability to produce something of quality. They don't provide actual benefit, just waste resources.

      The reason that software 'developers' get by with it and engineers don't is because most software can't result in someones death, where as an engineering failure on a car can.

      You've tried to compare apples to oranges ... but only because you don't realize your oranges are really just another apple.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    10. Re:I tell them I feel the same way! by Anonymous Coward · · Score: 4, Insightful

      Uhh. One simple example of how they are vastly different.

      Cost of recalling 5 million mufflers due to tiny flaw in production == HUGE

      Cost of minor bug fix for (almost all) software == not so huge

      This single difference drives all sorts of different optimizations for process.

    11. Re:I tell them I feel the same way! by chrismcb · · Score: 3, Insightful

      Agile processes deliver useful working software at frequent intervals -

      I love that definition... If you failed you weren't doing Agile..
      Just because you've produced something working at frequent intervals, doesn't mean the user won't see it as "disorganized and never-ending"

    12. Re:I tell them I feel the same way! by chrismcb · · Score: 0

      You seem to fail to understand that there is no difference between designing a car and designing a software product

      Of course there is a difference. Not only several magnitude orders of complexity, but the fact is, it is kind of hard to have a working car with 2 tired, one door, half a hood and 1 cylinder. Yet you can have working software that only does half the features it is supposed to do.
      A car has what, 10,000 moving parts, a piece of complex software can have millions.

    13. Re:I tell them I feel the same way! by Anonymous Coward · · Score: 0

      You seem to fail to understand that there is no difference between designing a car and designing a software product.

      Man, so *that* is what we've been doing wrong all these years! We just had to think about software engineering in the same way as auto engineering! I mean, why has no one ever thought of that one before??

      A toast to all geniuses who claim there is a single solution to all software projects!

    14. Re:I tell them I feel the same way! by pmontra · · Score: 2

      False analogy, yes. But not for that reason. The real analogy would be: I ordered a car and working with the engineering team I slowly discover I needed a camper van. That's what I get home with and end up much happier because I got the right product. Obviously that analogy applies to custom designed software and is seldom appropriate with cars. If I buy something off the shelf, think about a car or about Word, I usually know what I need because I already used it. But Word as seen from inside MS is custom designed software. I don't know if they use Agile to build it but they could.

      In a project I've been working on for part of the last year the general direction didn't change much but we made many discoveries along the way. We started with some high level documents and some more detailed ones. The only ones that survived the first three months of development were the high level ones, which we kept adapting as they provide a good orientation map to the project. The detailed ones were superseded by what we wrote as the development team worked on the code. We could have spared us the trouble (and time and costs) of writing them. Lesson learned for the next time.

    15. Re:I tell them I feel the same way! by Anonymous Coward · · Score: 3, Interesting

      Of course there's a big difference. Software is essentially the most malleable and fungible thing humans have ever devised. The big problem in software engineering that doesn't arise in automotive engineering is that in software engineering, the requirements are frequently in flux. If you can fix your requirements as precisely as the requirements for a car, than yes, there is no difference. But in general this isn't true. Unless you're writing software for NASA or something similar, most such requirements often can't be so easily nailed down. You get a giant spec, build the thing, and then realise that the process the software is designed to integrate into doesn't quite work the way the spec says it should. I've been in the software business for close to 20 years and except for a brief stint in embedded systems this has always been the case in my entire professional career. We build something and halfway through the design we find it doesn't quite work the way they customer wants it, even though yesterday they said that was what they wanted it. Are you going to tell the customer: "fuck you, you said it should work that way and that's the way we're going to build it!"? That is not the way to treat any customer, most especially when you can, with some additional effort for which you should be duly compensated, accomodate their desires. Defective brake pads can cost a car company billions in recall and replacement. Similar bugs in software can be fixed almost painlessly by comparison. Software can also be far more complex than cars. A typical car probably has a few thousand distinct parts. Software like the Linux kernel has distinct parts in the billions. Try to tell me again how there is no difference between designing cars and designing software.

    16. Re:I tell them I feel the same way! by Anonymous Coward · · Score: 0

      The are too many things you don't know until you start coding. If you're lucky you'll have to rewrite only half of the documentation but the other half might completely change the product and the costs.

    17. Re:I tell them I feel the same way! by mcvos · · Score: 5, Interesting

      I've worked in lots of places that claimed to do Agile, but few really did. Often it meant doing daily standups (or even sit-downs in one case!) and not having any good specs. Right now I'm working at my first contract that really is Agile, and it's fantastic. It is chaotic, but not because of us; it's the reality we're facing. We're doing several projects at once, the designs had to be sent back several times because they were wrong, business isn't really sure what they want, and we're being productive in spite of that.

      We tell business what we need from them in order to do our work, instead of the other way around. We don't accept issues that don't meet our standards, and as a result, more and more issues do meet our standard. When we uncover a misunderstanding, we can change direction on a moment's notice, and because business, admin and others show up at our standups and our sprint demo, we discover these misunderstandings pretty quickly.

      Not all is perfect. Not everybody around us really gets Agile, and particularly our tester would be much more at home in a Waterfall setting, but for me personally, it's working very, very well.

    18. Re:I tell them I feel the same way! by Anonymous Coward · · Score: 0

      So in essence:
      - you don't seem to understand, or be willing to understand, the differences between building a car and a piece of software
      - you ditch innovations which you seem to know very little about on the basis that they are "fads" or "waste", and not their merit
      - you go calling people problems and failures and have an overall confrontational attitude

      I hope I never have to work with you. Curious how the thoughtless macho-developer attitude gets modded +5 like this.

    19. Re:I tell them I feel the same way! by Big+Hairy+Ian · · Score: 2

      Speaking as an Agilista. Just because you're doing Agile doesn't mean the project won't fail it just means you spot it going south earlier and thus save money by pulling the plug before you do six months additional work. Of course even in Agile you can have bad management which can make a project fail.

      --

      Build a Man a Fire, and He'll Be Warm for a Day. Set a Man on Fire, and He'll Be Warm for the Rest of His Life.

    20. Re:I tell them I feel the same way! by gnupun · · Score: 3, Insightful

      You seem to fail to understand that there is no difference between designing a car and designing a software product.

      I beg to differ. Cars have a fixed design: body, chassis, steering wheel, gears, seats, engine, tranny, suspension, fuel tank, exhaust, etc. Car manufacturers only change the spec of each of these components. Once you've manufactured cars for a few years, you know how much time and effort is required to make small changes for the next version.

      The same does not apply for designing new software. Software design's scope is several orders of magnitude bigger than car design's because the former can do much more than the latter. Sure you may know how to write the GUI and program the database. But there are still many other pieces of the software you have not built before. These new components are brand new. So they can't be planned like you can plan a car component or a construction building. That's because you are building it for the first time whereas these car components and building structures have been built and perfected for decades or hundreds of years.

    21. Re:I tell them I feel the same way! by gl4ss · · Score: 3, Insightful

      If you're not doing Xtreme Agile, you're not doing Agile right.

      Or at least that's what I keep hearing from all the Agilistas. They also tend to claim that any failed "Agile" project must have been doing Agile wrong, because by definition, Agile processes deliver useful working software at frequent intervals -- and they don't see the problem in defining "real" Agile processes based on an outcome rather than the processes used beforehand.

      well.. there's a difference between doing agile where you're supposed to and in making the user a part of the testing team..

      why would the user care how the sw is developed? they don't. but if the fucking sw they have in active deployment changes where buttons are weekly as the developer is doing reactive development, that is going to suck balls.

      --
      world was created 5 seconds before this post as it is.
    22. Re:I tell them I feel the same way! by TapeCutter · · Score: 1

      The idea of starting with a user manual is to make sure everyone agrees on what "it" is. The difficulty/cost of implementing it is irrelevant at that stage. Once you have agreed "what it is" the customer wants then you can start figuring out how to implement it and what it will cost. Unfortunately this is rarely done which is why you often hear business people complain that devs don't understand and devs responding by saying business people don't know what they want. If your willing to build something that is vaguely specified then it's kind of obvious you will get vague results. There is no better fertilizer for PHB's than vague specifications.

      --
      And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
    23. Re:I tell them I feel the same way! by TheMathemagician · · Score: 2

      I almost thought this was a troll it's so crazy. Of course there is a huge difference between designing a car and designing software. Manufacturing a car requires the assembly of thousands of physically pieces in a precise three-dimensional structure. The design process needs to analyse all the forces, internal and external, the car has to cope with, the flow of various fluids, electricity, changing conditions of temperature and humidity etc etc etc If a user suddenly wanted an extra window or a periscope or larger rims half-way through the process then it's not going to be possible. With software development changes like this to an application should be easy.

    24. Re: I tell them I feel the same way! by Anonymous Coward · · Score: 0

      Apart from day one of "shit, we're doing Agile, this is doomed." You may find minor incremental failures sooner, at the cost of finding major architectural failures later.

      That's fine if your goal is to build the software equivalent of a Brazilian favela. Better have little of value stored there and pray the weather never gets rough...

    25. Re:I tell them I feel the same way! by RabidReindeer · · Score: 1

      You are a problem.

      You seem to fail to understand that there is no difference between designing a car and designing a software product.

      All the things that go into designing a car should go into designing software. The fact that you don't do it that way shows the failure is you.

      Chasing the current fad is for those without the ability to produce something of quality. They don't provide actual benefit, just waste resources.

      The reason that software 'developers' get by with it and engineers don't is because most software can't result in someones death, where as an engineering failure on a car can.

      You've tried to compare apples to oranges ... but only because you don't realize your oranges are really just another apple.

      False analogy.

      Even Homer Simpson knows what a car should be. Software, however, is rarely so well-defined. With the exception of fundamental systems with decades of practical use such as basic accounting packages, most software does not have a "master architecture" that it can be designed against.

      The Waterfall method has always attempted to define a master architecture, but the problem is, even when the waterfall method works, the users realize after they actually have a working product that they could be doing their job better if the steering wheel was on the left and not the right and that the brakes should be pedals and not levers. This isn't failure to plan, it's learning from experience. Automobiles went through this phase as well, but there are fewer basic types of automobiles and the learning process mostly ended a century ago.

      Forget all of the other alleged virtues of Agile. The only ones that the users really care about are that they get something that they can limp along with sooner and that subsequent stages will trend towards improving the product in the directions that are best adapted to their needs, with a minimum of tear-the-whole-thing-up-and-start-over. Reduced costs may or may not happen. Faster final results probably won't. What IT does internally, they could care less about. But if the users feel like they're part of the ongoing process and they're getting what they need, they'll be... well, probably not satisfied, but at least happier.

    26. Re:I tell them I feel the same way! by Progman3K · · Score: 1

      From everything I'm hearing, Agile appears to encourage laziness on the part of the client.

      It's not that I don't want to satisfy the client, of course I do, it's just that the client has to do his part in specifying clearly what s/he wants. You know, specs.

      And yes, sometimes the developer DOES know what the client wants better than the client does. A seasoned developer with knowledge/experience in the target domain will typically understand lots of things more in-depth and realistically than a client who simply has a pie-in-the-sky vision of things.

      --
      I don't know the meaning of the word 'don't' - J
    27. Re:I tell them I feel the same way! by gbjbaanb · · Score: 3, Insightful

      I really beg to differ there - you see the design that goes into a car and you'd understand that software is pathetically simplistic in comparison. There's a reason a new car takes years from inception to delivery, and why my car doesn't have a USB media, or Android or iPhone interaction - when it was designed, these components were too new for inclusion in car specs. Your argument that software is always new, while it has some merit in that our industry does too much re-engineering of stuff that should be stable, doesn't compare to car designs that have to utilize new stuff too.

      Still, it doesn't take away from the fact that cars are designed well, and software is hacked together on a sloppy basis. No matter what unit tests or "best practices" or methodology you use, the comparison is still that software is cobbled together.

      Now software used to be well designed, (and I don't mean where that means a huge requirements specification that can never be fulfilled), but designed as software. When I started out we were taught to write software by first laying out on paper how it would work and how it would interact with all of its components. Nobody does that today, and its probably why the software of yesteryear are still running your banks systems compared to how Microsoft cannot produce software that requires service pack after service pack, or a framework that they won't scrap and replace with something else after 2 years!

      If we want our industry to be mature and well-respected, and for our software to keep running for decades, then we have to move away from the continual reinvention of the same old shit. We have to put up with moving goalposts all the time - thanks to the suppliers like Microsoft that keep on changing the OS or OS components so they can sell us new versions. We don;t help ourselves by chasing new languages and frameworks all the time too though. If we could fix this, we could start writing software that did whatever it was designed to, and didn't need replacing.

    28. Re:I tell them I feel the same way! by Gr8Apes · · Score: 1

      I've worked in lots of places that claimed to do Agile, but few really did. Often it meant doing daily standups (or even sit-downs in one case!) and not having any good specs. Right now I'm working at my first contract that really is Agile, and it's fantastic. It is chaotic, but not because of us; it's the reality we're facing. We're doing several projects at once, the designs had to be sent back several times because they were wrong, business isn't really sure what they want, and we're being productive in spite of that.

      We tell business what we need from them in order to do our work, instead of the other way around. We don't accept issues that don't meet our standards, and as a result, more and more issues do meet our standard. When we uncover a misunderstanding, we can change direction on a moment's notice, and because business, admin and others show up at our standups and our sprint demo, we discover these misunderstandings pretty quickly.

      Not all is perfect. Not everybody around us really gets Agile, and particularly our tester would be much more at home in a Waterfall setting, but for me personally, it's working very, very well.

      So, you're a contractor, and you're working, you appear to have productivity, and you are driving. Hmmm, that seriously smells on a number of levels.

      From the sound of your description, what could happen is that what comes out the other end gets completely trashed because while the pieces looked good when they were presented, the whole sucked eggs and required a redesign with new wireframes that cannot be matched with what you produced. Additionally, this approach, especially given your description, will result in something like my current project, where there are 4 separate shopping carts, each for a different phase of the purchasing cycle, because no one with half a brain sat down and actually designed what the process would be. Nope, couldn't do that because it would take more than an iteration's time to properly get all requirements, design it, and then develop all required pieces.

      I have other examples where projects failed under Agile. In fact, across the many years and projects, I have yet to see a successful project using Agile that was more than 2-3 developers. My successful projects, of which there are quite a few, were all project driven, not really waterfall, and had various processes in them that Agile now claims as their own, but have nothing to do with Agile. They all started with a known goal and requirements, which then generated planning sessions and components, which were then put into the development workflow. The results were always a cohesive design working across multiple nodes, including in some cases distributed services and workflows. This never lends itself to Agile, unless Agile looks an awful lot like waterfall, which the Agile elitists tell you never happens.

      --
      The cesspool just got a check and balance.
    29. Re:I tell them I feel the same way! by ATMAvatar · · Score: 4, Insightful

      It's not that agile encourages laziness from the client... it's more that agile realizes that many (most?) clients don't really know what they want up front.

      I find mention of the car design up above particularly useful, as you may have a client go through a lot of trouble to explain that they want a car and work with you to design a beautiful station wagon. You produce that station wagon perfectly to spec, and the user grudgingly accepts the station wagon but is never fully satisfied with it because what he/she *really* wanted was a sports car, but the user was unable to fully realize it until you handed over the station wagon.

      Now that the process is over, though, the user is stuck with the station wagon unless he/she is willing to start the process again and throw more money at it (and at least in my contrived example, they got a working car).

      The underlying goal of agile is to get the user to realize he/she wanted the sports car at a point early enough in the process to either change course and make the sports car with minimal extra overhead or realize the end product is simply going to be a station wagon and live with it or cancel the project early.

      --
      "They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety."
    30. Re:I tell them I feel the same way! by Xest · · Score: 1

      "You seem to fail to understand that there is no difference between designing a car and designing a software product.

      All the things that go into designing a car should go into designing software. The fact that you don't do it that way shows the failure is you."

      So you're saying that no bespoke software development should occur and end users should have no choice but to work with pre-packaged software whether it suits their needs or not?

      Car manufacturing is a production line task based on a design determined by the experts and implemented as is. Bespoke software would, in contrast, be equivalent to each customer have the car designed as and how they want and each outcome looking and being completely different from the other such that they could not possibly be manufactured in a production line.

      If you can't see the difference and don't understand the differences in the types of project then you're not qualified or experienced enough to be engaging in this discussion. What you say only holds true for pre-packaged software, which is a minority of the total development that is done across the globe.

      Bespoke software development really is nothing like producing a car and anyone who thinks otherwise clearly has absolutely zero experience in actual delivery of bespoke software projects. I find it kind of ironic that you refer to engineering given that many engineering disciplines that do produce bespoke solutions suffer the same problems that software does and are in fact the source of some elements of agile in the first place. Certainly when I worked at an electromechanical engineering firm they had the exact same problems and solved them by moving to an agile process on a T&M charging basis.

      In fact, even in the UK the NHS has made use of SCRUM in determining treatment methods for some illnesses because the duration of the project wasn't quantifiable beforehand and needed to be operated on a cost-controlled basis so that it could be axed if going beyond it's necessary goals.

      So no, the GP isn't a problem. Understanding the way different types of project work isn't a problem in any way whatsoever - he does, but apparently you don't.

    31. Re:I tell them I feel the same way! by sosume · · Score: 1

      How do you know a car is the best product you can make for this customer? If you analyse why he needs a car and where he'll be going with it, you may come to the conclusion that rollerskates will fulfill his needs better. Which means you can complete his project faster, cheaper and with better result. Everyone happy!

    32. Re:I tell them I feel the same way! by jecblackpepper · · Score: 4, Insightful

      Errm, that's exactly what waterfall is. You have a big upfront specification phase (essentially your user manual from your example) followed by a design phase followed by development etc.

      The problem is that users truly don't know exactly what they need, and even if they did, those requirements will change over time in response to the market changing. So by the time that you've spent months writing a spec, 50% of what you specified will not be what is actually required. Worse you've now spent months writing out of date documentation and have NO software to show for it and opportunity to start getting back any of your investment - paper specifications are not a business asset. Then you spend still more months writing code against that spec, meanwhile another 50% of the remaining correct spec is now out of date meaning that by the end of development you've actually only delivered 25% of what the customer really wants and 75% of what you've developed is wrong. And you've still not got any software into production to be returning on the investment you've made.

      That's why people looked at other ways of developing software and why agile gained traction.

      It's not a perfect approach, but IMHO it's the least bad approach that we've tried so far.

    33. Re:I tell them I feel the same way! by Xest · · Score: 2

      The problem is that even the client can't be sure what they want. I finished a roughly 2 year project last year and when you're working on a project of that scale 2 years is long enough that the client's business requirements wont necessarily be the same at the start of the project as when they finish. You can't blame the client for that, and it's something you have to deal with.

      The clients have to deal with changing markets, they have to respond to competition, and so forth - that's just a reality of business for them. In the example of this 2 year project I'm talking about, tablets weren't even really much of a consideration when the client was first building their requirements but support for them became a necessity 18 months into the project - these are the sorts of things you just cannot predict ahead of time.

    34. Re:I tell them I feel the same way! by Xest · · Score: 1

      "Additionally, this approach, especially given your description, will result in something like my current project, where there are 4 separate shopping carts, each for a different phase of the purchasing cycle, because no one with half a brain sat down and actually designed what the process would be. Nope, couldn't do that because it would take more than an iteration's time to properly get all requirements, design it, and then develop all required pieces. "

      This is absurd, agile doesn't preclude the option of prior planning and I'm not really surprised to hear that you've been on a number of projects because they jumped straight into development. You can either still plan using classic techniques, or you can create a sprint or two, or three, or whatever dedicated to architecture before you ever even write a line of code. There's definitely nothing that says that global requirements gathering, design, and implementation must happen in one single sprint - I've no idea where you or your bosses got that idea from and I'm not surprised it turned into a trainwreck!

    35. Re:I tell them I feel the same way! by khchung · · Score: 1

      You seem to fail to understand that there is no difference between designing a car and designing a software product.

      The "design" part is no difference, but the execution makes all the difference. Running software is like running a car in an alternate universe, which you only get a specification document for the basic laws of physics and the spec for the materials, which may contain errors, and which may change without notice. The strength of the steel, for example, may suddenly weaken, or a steel bar may suddenly shatter if a small but specific pressure is applied to a special point on the bar.

      Not only that, the requirements for the car changes at the whim of some group of people, and different requirements sometimes contradict each other. Plus the quantitative requirements (like mileage, capacity, etc) double every 18 months, but your design today have to also handle for the increase in the coming 5-10 years, which means you must use technologies still in experimental stage, and hope it fits your design when it matures.

      You can bet a car designed for such alternate reality will have lots of problems. So, yeah, designing a car and designing a software product is not different.

      --
      Oliver.
    36. Re:I tell them I feel the same way! by hobarrera · · Score: 1

      Shoulds a lot like "if you failed, it's because you lacked the faith" and infinite variations of that.

    37. Re:I tell them I feel the same way! by hackula · · Score: 1

      any failed "Agile" project must have been doing Agile wrong, because by definition, Agile processes deliver useful working software at frequent intervals

      I like to call this the "No True Agile Fallacy".

    38. Re:I tell them I feel the same way! by hackula · · Score: 1

      Designing a car is not even close to designing software. The requirements of a car are extremely static. The requirements of most software are constantly changing. An api gets deprecated. A data provider goes out of business. A new set of laws change how XYZ business calculations are made. A 10 year old legacy software needs to be brought up to date. Imagine a car designer "bringing up to date" every '92 Civic on the road... without disrupting the users. I am not saying one is better/harder than the other, they are just completely different problem domains.

    39. Re:I tell them I feel the same way! by mcvos · · Score: 1

      From everything I'm hearing, Agile appears to encourage laziness on the part of the client.

      From what I'm experiencing, Agile encourages involvement on the part of the client. They don't get to sit by the sideline, they get to be involved every step of the way.

      It's not that I don't want to satisfy the client, of course I do, it's just that the client has to do his part in specifying clearly what s/he wants. You know, specs.

      And yes, sometimes the developer DOES know what the client wants better than the client does. A seasoned developer with knowledge/experience in the target domain will typically understand lots of things more in-depth and realistically than a client who simply has a pie-in-the-sky vision of things.

      The thing with software development is that developers generally lack knowledge in the target domain. That's why the client needs to be involved, because he does have that knowledge. The advantage of Agile is that he gets to provide feedback every step of the way, rather than only at the start and end. I may think I know better than the client what he needs, but blindly assuming that I'm right is a recipe for disaster. I need to get his feedback. Preferably early on.

    40. Re:I tell them I feel the same way! by hackula · · Score: 1

      If my typical software clients were ordering a car from me, I guarantee that every single one of them would end up living in a house accessible only by bike path.

    41. Re:I tell them I feel the same way! by mcvos · · Score: 1

      So, you're a contractor, and you're working, you appear to have productivity, and you are driving. Hmmm, that seriously smells on a number of levels.

      From the sound of your description, what could happen is that what comes out the other end gets completely trashed because while the pieces looked good when they were presented, the whole sucked eggs and required a redesign with new wireframes that cannot be matched with what you produced.

      That's why it doesn't just come out at the end. We show what we've got at the end of every sprint. If it sucks eggs, we can change it. Without Agile, we'd discover this much later. And the earlier you discover this stuff, the cheaper it is to change it.

      Additionally, this approach, especially given your description, will result in something like my current project, where there are 4 separate shopping carts, each for a different phase of the purchasing cycle, because no one with half a brain sat down and actually designed what the process would be. Nope, couldn't do that because it would take more than an iteration's time to properly get all requirements, design it, and then develop all required pieces.

      You don't have to show something new every sprint. Especially early in a project, when you're still designing the basic architecture and data structures, it's entirely logical that you don't have a good-looking screen ready. Instead of your stories being "make screen X with a shopping cart" and "make screen Y with a shopping cart", your stories might be "make a shopping cart for screen X and Y", "make screen X", and "make screen Y". If the shopping cart is a separate feature, your stories should reflect that. Personally I prefer small issues, and therefore small stories.

      I have other examples where projects failed under Agile. In fact, across the many years and projects, I have yet to see a successful project using Agile that was more than 2-3 developers. My successful projects, of which there are quite a few, were all project driven, not really waterfall, and had various processes in them that Agile now claims as their own, but have nothing to do with Agile. They all started with a known goal and requirements, which then generated planning sessions and components, which were then put into the development workflow. The results were always a cohesive design working across multiple nodes, including in some cases distributed services and workflows. This never lends itself to Agile, unless Agile looks an awful lot like waterfall, which the Agile elitists tell you never happens.

    42. Re:I tell them I feel the same way! by BVis · · Score: 1

      Several critical things you cite:

      "business isn't really sure what they want" - And it sounds like they're aware of that and have been forced to understand that Engineering can only do the things you ask them to do, they can't read your mind.

      "We tell business what we need from them in order to do our work, instead of the other way around." This is probably the most important thing. It seems to me that the preponderance of businesses out there basically allow sales and marketing to run the show, and since they don't understand what Engineering does beyond drink coffee and consume budget, it can't be important or hard. I recently interviewed with a company with in-house engineering, and I asked them to describe how a project usually is structured there. I was told that the business decided that they wanted a feature added and picked a timeline based on their own strategy (to coincide with a trade show, quarterly earnings, etc) and told Engineering what the requirements were. The deadlines were set at that point, before Engineering even knew that the business wanted the feature. No consultation with Engineering about feasibility or resources required, just "Do this, you have until X." They had also previously asked me how I felt about routinely working more than 40 hours in a week (and, being an Exempt position, this would have meant no additional compensation). Fortunately I did not get offered the job, and would have likely turned it down had it been offered.

      "We don't accept issues that don't meet our standards" - I am skeptical of this being as simple as it is stated here. Every environment I have worked in has resisted this heavily, especially when the issues being created are filed by people with "Executive" in their job title. Usually it's "This is broken go fix it" and if the person filing the issue has enough juice, nobody will dare go back to them for more information, they're far too important for that. Some companies are worse than others, but I have yet to be at a company (and I've worked for several Fortune 500 companies) where IT/Engineering were first class citizens, able to require more information to solve a problem.

      "business, admin and others show up at our standups and our sprint demo" - See above, usually people who actually can make decisions won't deign to attend meetings with people who do actual work.

      --
      Never underestimate the power of stupid people in large groups.
    43. Re:I tell them I feel the same way! by AuMatar · · Score: 1

      You're assuming the client wants to be involved that hands on. Most don't. They want to see a prototype every now and again and that's it- they don't want to be involved in every meeting about feature prioritization etc. Remember that this isn't their job- they have other things to do to actually make money.

      And while developers lack knowledge of the target domain, the customer lacks knowledge of the software domain. Involving them in every decision just makes them feel stupid, clueless, and frequently they make the wrong decision. Its not as cut and dried as you'd like.

      --
      I still have more fans than freaks. WTF is wrong with you people?
    44. Re:I tell them I feel the same way! by mcvos · · Score: 1

      It doesn't always have to be the client himself, but he does need to be represented in the process. This can be done by a business analyst, as long as he knows exactly what the client needs. And when he doesn't he needs to figure this out pronto. But there needs to be someone available who can make these decisions. Having the programmers decide business requirements is a bad idea. It's not their job.

    45. Re:I tell them I feel the same way! by mcvos · · Score: 1

      "We don't accept issues that don't meet our standards" - I am skeptical of this being as simple as it is stated here. Every environment I have worked in has resisted this heavily, especially when the issues being created are filed by people with "Executive" in their job title. Usually it's "This is broken go fix it" and if the person filing the issue has enough juice, nobody will dare go back to them for more information, they're far too important for that.

      If they're that important, then surely their issue deserves to be properly spec'ed, doesn't it? I can't read his mind, even if he is an Executive. I'm not going to guess at what an executive might mean. I need to know. Otherwise I'll probably do it wrong, and I'm sure that's not what the Executive wants, is it?

      I'm very fortunate that it really does work like that here. If we need to make a feature where part of the texts, design or something else is missing or unclear, we send it back, specify exactly what we need before we can put this in a sprint, and they provide it. And if they don't, it doesn't get in the sprint.

      We have a "Definition of Ready". Issues that don't meet those standards, cannot be included in a sprint.

      We do on rare occasions deviate from our standards of course; we recently included some extra work in a sprint that was already in progress and nearly over, and doing so meant postponing several other issues. We didn't make that sprint, and we made it clear that that was because we had to include extra work at the last minute (as well as several other unexpected problems during that sprint). But that's all part of being Agile.

      Some companies are worse than others, but I have yet to be at a company (and I've worked for several Fortune 500 companies) where IT/Engineering were first class citizens, able to require more information to solve a problem.

      It's a rare experience for me too, but I'm very glad that that's how it works here. Maybe it's because this is a train company; perhaps those are more engineering-minded. But now that I've experienced it, I'm convinced that this is the only way to work. If management insists on Agile, then this is what they have to do.

      "business, admin and others show up at our standups and our sprint demo" - See above, usually people who actually can make decisions won't deign to attend meetings with people who do actual work.

      We insist that they do, and keep reminding them that they should. Those who don't, get less input in what gets made. If they complain, we say they should have been there. Not everybody adapts easily to that, but to those who do, we show gratitude and give them results.

    46. Re:I tell them I feel the same way! by Anonymous Coward · · Score: 0

      If you mandate that "successful" is part of your definition of "Agile" then, yes, agile will never fail, ever. The rest of us will still call you a sham, mock you for playing word games, and not really being as productive as us. Agile is nothing but a bullshit hipsterism.

      Buzzword fads have always been popular in the same circles that have very high activity but really low productivity. They feel good about themselves because they're doing a lot. To them it feels like they're "making it happen." The reality is that "busy" doesn't always mean "productive."

      The real developers in an organization let you play this charade just like all the others that came before it. We can't make you productive so we let you be busy and manipulate you into getting out of our way when it really matters. Ever notice how 95% of your code ends up not being used? You're bullshit. We can't fix you (cant fix stupid). We can't fire you (not our job). So we manipulate you in the most perverse way imaginable. We let you think you're one of us because warm fuzzies make you weak. When you like us we get our way. Always.

      LOL. Fucking tools.

      Full disclosure: I might work where you do. You like me but don't really know why. You trust me even though some part of you has big doubts. One warm fuzzy will fix you again.

    47. Re:I tell them I feel the same way! by Creepy · · Score: 1

      I haven't personally seen an Agile project for a car with 4 wheels and a steering wheel end up with two wheels and handlebars - you'd pretty much have to scrap your requirements and start over to get that. Now a sports coupe vs a minivan vs an F1, sure - that is Agile's nature - you refine based on what your customer(s) require by grabbing additional features off the priority stack. Sometimes you've got to go back, as well - the steering wheel in the F1 is going to be a bit different than the minivan - but if that isn't in there, the product doesn't ship.

    48. Re:I tell them I feel the same way! by Creepy · · Score: 1

      Great example - I actually like that with our Agile team, we are not only directly working with our product marketing team (the team that gets specs and works with customers on refining them), but also get nearly immediate customer feedback when we have questions about the design, and we get the product features our customers absolutely need now quickly and give them the ones they want in future releases depending on demand. In contrast, our Waterfall teams are sometimes working 5 years out (they are planning 2019 already), often to rigid specifications. If a feature is no longer needed by customers because it was replaced by some other tech, well too bad - it goes in anyway.

      On the other hand, the Waterfall stuff tends to be well tested and integrated, while the Agile stuff is more haphazard. When you have a lot of configurations like we do, that can lead to some major testing gaps without a full time testing team working it over for a couple of months after it is done. For us, that usually means post release patching, sometimes before the product goes to market (due to manufacturing lead times), aka the zero day patch.

    49. Re:I tell them I feel the same way! by skelly33 · · Score: 1

      With respect to a stable, useful life for software, while I agree that it would be nice if, as an industry, software were mature enough to not have to continually struggle to keep software running and just, plain get things to work for now, much less for an extended period of time, it would be a shame to do so at the expense of industry progress. New frameworks, platforms, languages, etc. I see as a necessary element for the progression of the industry - something that the automotive industry you compare it has shown to be distinctly lacking. The 1989 Geo Metro performed about as well as today's advanced Toyota Prius at a fraction of the price and complexity; by and large, I'd say the automotive industry has been very busy indeed, but made little real progress. As for reliability, I'd venture a guess that there are more fix-it shops out there for busted cars than there are for software. I suppose I am equally dissatisfied with the lack of progress in established industries such as automotive and banking as you are with the excessive activity in software...

    50. Re:I tell them I feel the same way! by booch · · Score: 1

      In your car analogy, it's a lot easier to make the 2nd car than the 1st.

      The problem is, I've never been asked to write a piece of software exactly like another that I've written. That's why we can't tell you how long it will take. We're not building cars, we're designing them. We could easily tell you how long it would take to make each additional copy.

      --
      Software sucks. Open Source sucks less.
    51. Re:I tell them I feel the same way! by Max+Hyre · · Score: 1

      So by the time that you've spent months writing a spec, 50% of what you specified will not be what is actually required.

      It's worse than that. In all too many cases, users don't know what they want (though they'll describe it in detail). During the time spent in specification, the users will continue to agree with what they've already said. It's only when they get their hands on the widget that the shoe starts to pinch, and they start changing their tune. Therefore, in those cases it makes a lot of sense to get a dummy UI out fast for them to dirty their hands on: only then will the truth come out.

      --
      I refuse to believe corporations are people until Texas executes one. -- desert rain on http://www.dailykos.com/user/
    52. Re:I tell them I feel the same way! by Anonymous Coward · · Score: 0

      And porridge with insufficient salt.

    53. Re:I tell them I feel the same way! by Hognoxious · · Score: 1

      Agile schmagile already.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    54. Re:I tell them I feel the same way! by Hognoxious · · Score: 1

      If they're that important, then surely their issue deserves to be properly spec'ed, doesn't it? I can't read his mind, even if he is an Executive. I'm not going to guess at what an executive might mean. I need to know. Otherwise I'll probably do it wrong, and I'm sure that's not what the Executive wants, is it?

      You seem to be operating on the naïve assumption that the complainer cares about getting it fixed, rather than grandstanding in order to look important or just being a dick for the sake of it.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    55. Re:I tell them I feel the same way! by Hognoxious · · Score: 1

      Even Homer Simpson knows what a car should be.

      Wrong. When his long-lost brother let him design one, it was total shite and ruined the company.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    56. Re:I tell them I feel the same way! by Hognoxious · · Score: 1

      As I usually put it, they don't have half a clue what they want, but they're all bloody experts in what they don't want.

      Sort of like toddlers at mealtimes.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    57. Re:I tell them I feel the same way! by mcvos · · Score: 1

      If they're that important, then surely their issue deserves to be properly spec'ed, doesn't it? I can't read his mind, even if he is an Executive. I'm not going to guess at what an executive might mean. I need to know. Otherwise I'll probably do it wrong, and I'm sure that's not what the Executive wants, is it?

      You seem to be operating on the naïve assumption that the complainer cares about getting it fixed, rather than grandstanding in order to look important or just being a dick for the sake of it.

      No, I'm being practical. If he honestly wants to get it fixed, he wants to provide me with the means to fix it. If he just wants to be a dick, he can do that without any action on my part.

    58. Re:I tell them I feel the same way! by RabidReindeer · · Score: 1

      Even Homer Simpson knows what a car should be.

      Wrong. When his long-lost brother let him design one, it was total shite and ruined the company.

      Yes, but he loved the car! It was exactly what the customer wanted.

      I never said that the car had to be profitable. Or even the product of a sane mind.

    59. Re:I tell them I feel the same way! by gbjbaanb · · Score: 1

      general quality issues are another thing - often driven by cost cutting measures than anything else, but there are auto manufacturers that make a reliable model - when a friends car broke down, she asked the breakdown car what she should get, and he said "I can't recommend any make, but I can say I don't carry any Honda spares"

      I suppose we should use an engineering analogy instead of cars - a bridge is a complex piece of engineering, that has to work. If only we had software that performs like bridges. Or maybe aircraft,complex as hell and works reliably more often than the media would like to portray (as there's no news in "airplane flies without problem for 10 years").

      Still, even if we don;t go to the extreme of making
      stuff as reliable as a bridge or a building, we should be working towards reducing the truly excessive and mostly pointless churn in technology.

    60. Re:I tell them I feel the same way! by Gr8Apes · · Score: 1

      You've actually summed up my points well, and they jibe with the criticism I've offered. As for Agile, that it " doesn't preclude the option of prior planning" is 99% of the problem with Agile, it is an option, and an unstated option at that. In fact, it's the only purported software process that doesn't make the equivalent statement to "Get your engineers and architects together and design, scope, and plan the overall project". I've always held you need a documented vision of the final product and a roadmap on how to get there. Agile eschews both in principal and often in practice. The first thing I generally do on Agile projects I come into is ask for artifacts outlining both of those pieces, otherwise I know I'm on a doomed project before I even start.

      --
      The cesspool just got a check and balance.
    61. Re:I tell them I feel the same way! by Gr8Apes · · Score: 1

      That's why it doesn't just come out at the end. We show what we've got at the end of every sprint. If it sucks eggs, we can change it. Without Agile, we'd discover this much later. And the earlier you discover this stuff, the cheaper it is to change it.

      This assertion is a fallacy, Example: you create the ability to register a user, then edit that user, then assign it to a group, etc. The requirements come out over 6 iterations and are worked in across roughly 10. Yes, it is demo'd every time and accepted. Then the business tweaks the back end service requirements a small bit, causing some major changes in the front end, after which they look at it and go - wow, wouldn't it be cool if we combined this suite of functionality into a single functional piece? And many iterations later, that newly envisioned piece, that requires a whole new backend suite of services, is still in flux. Fortunately I'm not responsible for that, only that it and other issues have moved the delivery date out by a factor of 4.

      Furthermore, what makes you think that Agile, and only Agile, will deliver components for review early?

      --
      The cesspool just got a check and balance.
    62. Re:I tell them I feel the same way! by mcvos · · Score: 1

      That's why it doesn't just come out at the end. We show what we've got at the end of every sprint. If it sucks eggs, we can change it. Without Agile, we'd discover this much later. And the earlier you discover this stuff, the cheaper it is to change it.

      This assertion is a fallacy, Example: you create the ability to register a user, then edit that user, then assign it to a group, etc. The requirements come out over 6 iterations and are worked in across roughly 10. Yes, it is demo'd every time and accepted. Then the business tweaks the back end service requirements a small bit, causing some major changes in the front end, after which they look at it and go - wow, wouldn't it be cool if we combined this suite of functionality into a single functional piece? And many iterations later, that newly envisioned piece, that requires a whole new backend suite of services, is still in flux. Fortunately I'm not responsible for that, only that it and other issues have moved the delivery date out by a factor of 4.

      I don't know why you'd want to do it like that, but if you do, then I'm really interested in hearing how Waterfall or anything else would handle this better.

    63. Re:I tell them I feel the same way! by Hognoxious · · Score: 1

      Non sequiter much?

      I don't sequit at all, and haven't for many years.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    64. Re:I tell them I feel the same way! by Hognoxious · · Score: 1

      What they want is to able to say that it doesn't work, so that they can stick with using card indexes and bits of dead duck dipped in soot & gum like they've always done.

      The less information they give and the more ambiguous it is, the more chance there is of them not having to learn anything new or, heaven forfend, adapt. As a nice bonus, those who know all the wrinkles, bodges, frigs and workarounds of the old system don't become obsolete.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    65. Re:I tell them I feel the same way! by Anonymous Coward · · Score: 0

      If we want our industry to be mature and well-respected, and for our software to keep running for decades, then we have to move away from the continual reinvention of the same old shit. We have to put up with moving goalposts all the time - thanks to the suppliers like Microsoft that keep on changing the OS or OS components so they can sell us new versions. We don;t help ourselves by chasing new languages and frameworks all the time too though. If we could fix this, we could start writing software that did whatever it was designed to, and didn't need replacing.

      Who wants their software working as-is for decades after release? Where is the money in that?

    66. Re:I tell them I feel the same way! by Macgrrl · · Score: 1

      Otherwise someone might write impossible features or "magic happens" into the manuals ;).

      That's called 'the Sales team'.

      --
      Sara
      Designer, Gamer, Macgrrl in an XP World
    67. Re:I tell them I feel the same way! by Gr8Apes · · Score: 1

      I didn't say I wanted to do it like that. This is what happens on failing projects. There's not much you can do when the stakeholders do this. With an agreed upon design, however, you have ammo against the stakeholders pulling this nonsense, and there is no incremental scope creep unless all sides allow it. With Agile, scope creep is almost a foregone conclusion unless there is this person, generally a PM, that locks it down. But Agile doesn't have PMs.....It's actually one of the few appealing pieces of Agile, since no one likes those bothersome PMs. Seriously, I don't like them either, but I'd rather have one on a project than a "tech lead" that doesn't have enough leadership ability to manage a project. (Fr)Agile sucks, and all it's adherents can say is "You're doing it wrong" without pointing to where Agile will let you do it right and achieve success. The sooner it dies, the sooner it will stop causing projects to fail.

      --
      The cesspool just got a check and balance.
    68. Re:I tell them I feel the same way! by Pherdnut · · Score: 1

      I actually find agile at it's most useful when you strip all the BS out and get at the useful bits. Like sprint-planning and retro as a means of gauging/improving estimate accuracy and having those regular reminders of obstacles and roadblocks that keep getting in the team's way that would often get ignored/forgotten in a more waterfall-ish approach. The idea that you don't do any up-front planning/estimating for the whole project and that you don't set any kind of time-frame goal is 100% silly to me and I'm not even sure that comes from agile as-originally-established. I also think daily standup is a great idea although a daily skype-up would work just fine for me too. Just getting everybody in the same space to discuss progress and issues ultimately

      The idea that you can just muck with design at will is easily abused and perhaps a more liberal interpretation than the original intention. As a primarily UI dev, I'm the guy who gets the ugly side of that stick usually. IMO, the important thing is to not focus on completeness until you've established the broader details. i.e. don't freaking tell me to nail down every last detail down to the pixel and then start changing stuff. My preference is to get a crude version of the thing up and running ASAP and decide how we actually want the UI to work and where we want services lumped together before nailing down every last detail of the appearance and finessing things. One useful side-effect of doing things this way is that you tend to modularize better such that you CAN quickly adapt to design tweaks which also helps maintainability/ease-of-modification in the long-term.

      Where agile is at its worst, IMO is in Scrum implementations that have come about from the agile-training industry full of gimmicks and absurd attempts at mixing the "product owner" and as many other people who have nothing to do with the actual product development into the development process that inevitably twists the estimate-accuracy-improvement features of agile into an accountability mechanism and wastes dev time by requiring a concrete "deliverable" (I hate that word) be "shipped" in a complete form (i.e. a more difficult to modify form due to rushing and being tied down to details) and demoed at the end of every sprint. Sometimes you just need a week or two to clean up a mess or refactor something that only barely works as-is without distraction.

      Also, it's a complete waste of time if you have a mediocre, not-especially-bright team, IMO.

    69. Re:I tell them I feel the same way! by Pherdnut · · Score: 1

      Forgot to complete a thought. "...ultimately can save a lot of time by eliminating duplicated effort and sharing knowledge." in the first paragraph.

    70. Re:I tell them I feel the same way! by Pherdnut · · Score: 1

      Stop, you're giving me Sears flashbacks.

    71. Re: I tell them I feel the same way! by Anonymous Coward · · Score: 0

      Well put Mcvos.

  2. Agile Hitler said it best by Anonymous Coward · · Score: 2, Funny

    "Why weren't you at the fucking stand up meeting???"

  3. According to MS, agile does have a process. by Anonymous Coward · · Score: 0

    And you can do the in depth planning for the plan-less agile method , right in foundation team server-ices ( New word! For all the servers and all the services on top!)
    http://blogs.msdn.com/b/bharry/archive/2013/06/03/visual-studio-2013.aspx

    I mean, how can you not have enterprise agile capabilities in your devops team?

  4. Agile summed up by Shinobi · · Score: 5, Funny

    Agile is to proper software engineering what Red Bull Flugtag is to proper aeronautic engineering....

    1. Re:Agile summed up by Narcocide · · Score: 1

      This is inaccurate. Red Bull Flugtag generates a huge amount of publicity for Red Bull. Agile makes everyone who touches it quickly fade into obscurity.

    2. Re:Agile summed up by Anonymous Coward · · Score: 0

      Agile and SVN? Gimmie a break.

    3. Re:Agile summed up by Anonymous Coward · · Score: 0

      Bingo

    4. Re:Agile summed up by Anonymous Coward · · Score: 0

      This is inaccurate. Red Bull Flugtag generates a huge amount of publicity for Red Bull. Agile makes everyone who touches it quickly fade into obscurity.

      I wish!

    5. Re:Agile summed up by Anonymous Coward · · Score: 1

      If you know what you are doing more than 50% of the time then you are not doing true agile.

    6. Re:Agile summed up by perry64 · · Score: 2

      Academics with degrees in software engineering describing how to write code is like a horny virgin describing how to have sex:

      They've thought about it an awful lot, have lots of "great" ideas on how to make it better, and maybe have even been nearby a few times when someone else was doing it .

      But they have never done it themselves and the thought of actually DOING it scares the crap out of them.

    7. Re:Agile summed up by fuzzyfuzzyfungus · · Score: 0

      Don't forget the gigabytes of 'example code' stashed on their computers, and how you always seem to see an IDE being frantically closed if you open a door behind them when they aren't expecting it...

    8. Re:Agile summed up by MichaelSmith · · Score: 1

      Why not? If anything the problem is the branching strategy.

    9. Re:Agile summed up by Anonymous Coward · · Score: 1

      A "business" coder in the field describing how to write code is like a 1950s husband describing how to have sex. He's done it incompetently a bunch of times, which he feels makes him an expert. When given advice, he responds with abuse and indignation. The thought of anyone discovering he has no idea what the fuck he's doing scares the crap out of him.

    10. Re:Agile summed up by Anonymous Coward · · Score: 0

      The issue isn't with Agile necessarily - it's with those who adopt it as it is. Every project is different, as is what they can gain from Agile methods and because of that, exactly how Agile methods are implemented needs to be done differently, sometimes radically differently. The project I'm on is 15 years in development, millions spent every year in R&D but several times that coming in from customers who are thrilled because its development method the entire time has been continuous working with customers(current and future) to guide development using processes based on Agile methods with adaptations to our specific project. New hires seem to think it's crazy that a 4,000,000 SLOC project is under continuous development with Agile, but increasing profits every year and new customers every quarter don't lie: it works.

      It works, but you can't take Agile completely literally, you have to adapt it to your development, not the other way around.

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

      I can see the Agile Experts response to the OP:

      You're doing it wrong. The process has mechanisms to ensure this never happens. Again, your implementation of Agile is incorrect.

    12. Re:Agile summed up by Half-pint+HAL · · Score: 3, Insightful

      Academics with degrees in software engineering describing how to write code is like a horny virgin describing how to have sex:

      The same goes for academics with degrees in medicine describing how to treat a patient, academics with degrees in civil engineering describing how to build a bridge and academics with degrees in accounting describing how to balance the books at year-end, I take it?

      This is one thing that really p!sses me off about the programming world: the notion that "the real world" is all about graft and experience, and that actually thinking about what you're doing and why is a bad thing. I've just started programming again, and I'm following the advice I was given during my CS degree because it's good practice, and a good idea. When I cut corners, I acknowledge I'm being lazy, but I don't swear about ivory tower academics — I choose to break the rules for short-term convenience having assessed the impact of doing so, which is still good practice. That's what the "real world" coders forget: anything can be good practice if done for the right reason. The academics don't demand that we do everything one way every time, just that when we diverge from the "best" path, we do it conscious of the consequences.

      --
      Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
    13. Re:Agile summed up by Steve_Ussler · · Score: 1

      Not the best analogy...but the article is awesome.

    14. Re:Agile summed up by ahabswhale · · Score: 1

      You're an idiot. There is no such thing as "software engineering", at least not in the original sense of the word. Nobody has time for engineering. It's a red herring so stfu about it.

      --
      Are agnostics skeptical of unicorns too?
    15. Re:Agile summed up by Anonymous Coward · · Score: 0

      Not necessarily true. I think the best solutions are a hybrid of agile and traditional software development methodologies.

      1. Scrum is a very useful way of getting me, as a project manager, oriented in the morning with what my team is doing, what they achieved yesterday, and what tasks are blocking them. I strictly enforce a 45 second rule on my junior developers during the scrum. If you can't say what you need to say in 45 seconds, stfu and see me after the meeting. Scrums take us 5 minutes total at most.
      2. Customers change requirements all the time. You NEED a process to be able to pivot and address that. That process should use real requirements analysis in it. The stake holders should get together and come up with a list of questions based on the general description, and that should be the basis of requirements analysis.
      3. Requirements analysis makes for better software, better testing methodologies (the behavior of macrocomponents is well defined in requirements docs). I worked somewhere that requirements analysis was glossed over because OMGLOL AGILE! That's a really shitty methodology that leads to too many questions during development, way too much overhead with client communications that could be handled in bulk, and way too many changes to get stuff out on time and well tested.
      4. Sometimes it's more important to deliver something with SOME of the final requirements quickly than something with ALL of the requirements slowly. That's a business reality.

    16. Re:Agile summed up by Anonymous Coward · · Score: 0

      The same goes for academics with degrees in medicine describing how to treat a patient

      You do realize that those "academics with degrees in medicine" have to have at least one year of real world experience before they're actually allowed to practice medicine without someone watching over them, right?

    17. Re:Agile summed up by Half-pint+HAL · · Score: 1

      Yes. And of course there is a disconnect between academic and practical software engineering, and it's a disconnect that is perpetuated by the "ivory towers" attitude. Software Engineering should be treated like any other field of engineering, but in most cases it's currently run by the Computer Science department. If people objected to that, fine -- then we'd maybe start to see more movement towards recognising SE as a distinct discipline, but the prevailing attitude is not "CS vs SE", it's "university vs real world", and that's a problem.

      --
      Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
    18. Re:Agile summed up by romons · · Score: 1

      The problem isn't the professors. It is the moronic, half baked programmers who pick up a methodology without really understanding it, misuse it, and then whine about it afterwards in an attempt to deflect blame.

      Object oriented programming is a case in point. Everybody said it was great. However, unless you were quite dedicated at designing and factoring things before you started, the end result was invariably a hideous mass of scar tissue, oozing blood and puss. So, some shops now are culturally antagonistic towards oo design (cough cisco) precisely because they were burned by being stupid and arrogant. C++ was actually excluded from IOS (the original IOS, which is currently running most of the routers in the world) until about 5 years ago. It was only outside forces that changed things, acquisitions that had to be merged, that forced the issue. It is still frowned upon, except in these sorts of cases.

      --
      Go to Heaven for the climate, Hell for the company -- Mark Twain
    19. Re:Agile summed up by Anonymous Coward · · Score: 0

      I would actually tend to frame what most people are complaining about as an overabundance of CS grads taking principles, patterns, and practices their profs insisted on at face value without thinking about what they're implementing or why they need it but really it's a more general problem than that. What I've learned from six years of web UI and more general software work is that it's the very simple core principles that should overrule everything else. If it violates DRY or KISS, or solves a problem I don't have yet, I crumple it up and toss it over my shoulder. If it's a pattern, I need to understand everything about it and what it was originally implemented in because sometimes just one language feature can make an older pattern completely unnecessary.

      And power to you if you had good proofs that taught you to only use things that you actually need and to never solve problems you don't have yet. Because there are a whole hell of a lot of degree-holding Java devs out there that have never learned that, not even with years of experience. Generally, I suspect the general academia rant is probably coming from a place you'd agree with. The real issue, IMO is this phenomenon of "this is the only way to do it because Extreme Programming/My Prof/Some International-Code-Rockstar said so." Far too many devs fail to understand the basic inherent usefulness of OOP in architecture and are completely lacking in critical thought. IMO, things like dependency injection absolutely-everywhere and test-first TDD will be viewed in the same light as Enterprise Beans and XML config at absolutely every turn are viewed now.

    20. Re:Agile summed up by Pherdnut · · Score: 1

      Object oriented programming IS great. People just never learn patterns and methodologies before they understand basic OOP. All I've ever seen in C# and Java codebases are chains of methods that happen to be wrapped in class syntax with a sort of crude parroting of design patterns (often unnecessary or redundant given language features) that the devs themselves clearly don't understand. Thinking in terms of the players in your app and what they need to do rather than simply running from point A to B to Z and branching willy-nilly just to get 'er done is hugely beneficial. And FFS what is with the interfaces on absolutely everything. Some people should have their IDEs slapped out of their hands until they learn to write code you can read, debug and modify without crutches.

    21. Re:Agile summed up by Half-pint+HAL · · Score: 1

      Object oriented programming is a case in point. Everybody said it was great. However, unless you were quite dedicated at designing and factoring things before you started, the end result was invariably a hideous mass of scar tissue, oozing blood and puss.

      I'm with you on that. At university, I never really understood OO at all. It seemed like a pointless abstraction that was based on an oversimplification of natural principles... but that wasn't OO's fault, it was the teachers, the book authors and the whole bleedin' OO community that was at fault, as they invariably presented OO with contrived, pointless examples. Recently I started coding in Python (because I was working with NLP and there's a pretty sophisticated NLP toolkit available). Suddenly I was working in a problem domain where classes etc made perfect sense -- there are things that are materially different, but identical in usage.

      You cannot learn good OO practice by using OO for its own sake -- you have to be taught to apply it where it solves a problem./P

      --
      Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
    22. Re:Agile summed up by Anonymous Coward · · Score: 0

      Academics with degrees in software engineering describing how to write code is like a horny virgin describing how to have sex:

      The same goes for academics with degrees in medicine describing how to treat a patient, academics with degrees in civil engineering describing how to build a bridge and academics with degrees in accounting describing how to balance the books at year-end, I take it?

      English professors who have written a novel? Art professors who have produced a decent painting? You are picking subjects that are extremely formalised – in fact, almost automate-able – and comparing them with tasks that start out with a blank sheet of paper.

  5. UI/Process Stability by Mystakaphoros · · Score: 1

    There is some value to UI/process stability. Even if the overall operation is optimized, the time it takes to retrain users still counts for something...

    1. Re:UI/Process Stability by judoguy · · Score: 2
      It's because of incompetent management, or at least incompetently managing the development process, that most of the problems occur. I worked in construction before going into software development almost 30 years ago.

      You can't build a chicken coop properly, much less a modern house, much less a skyscraper without *really detailed* specs, the bigger the project, the more detail. And everyone buying the building or building it is supposed to realize that any changes are really expensive. How can you tell the client what even a simple structure will cost without knowing a whole lot about what's being built? Even then, with literally thousands of years of practice, construction often has cost overruns or worse, structural problems.

      But for software, we almost always pull numbers/timelines from our backsides and almost all software projects just flail on until it's good enough or collapses. Just making shit up as you go and calling it a methodology is sad.

      --
      Peace is easy to achieve, just surrender. Liberty is much harder get/keep.
    2. Re:UI/Process Stability by RobinH · · Score: 2

      That's a flawed analogy. The compiler does an excellent job of building the software many times a day given very detailed specs: the code. The code is the design. The "construction" phase is completely automated. The correct analogy is that the architect can't produce a design that will satisfy the customer if the customer doesn't provide all the requirements. Yep, that's true. In construction, the architect cost is a small fraction of the cost of the total project. If the customer changes their mind 100 times, as long as they do it before construction starts, it doesn't make much difference. You can take the design, cost it, and build it reasonably accurately and to spec and cost. If they change their mind after that, well that's like changing your mind after you press Build in your IDE. In software development, the design is the main cost. Don't tell me that architects and designers in the constructions industry don't have the same problems and cost overruns that software developers have - my sister is a designer, so I know. If we could automate construction of a building to the extent we've done with software, that industry would have the same problems.

      --
      "I have never let my schooling interfere with my education." - Mark Twain
    3. Re:UI/Process Stability by theMAGE · · Score: 1

      In actual newly designed buildings, the architect cost is 20-25% (source: Fred Brooks). Not talking about McMansions here that are built like refrigerators on the assembly line. And plenty of large buildings (either residential, commercial or industrial) run over money and time budget.

  6. Why do developers hate agile by Anonymous Coward · · Score: 1

    The more appropriate question is why your developers hate agile? And the most important question why is management pushing agile down the throat of developers?

    1. Re:Why do developers hate agile by Mystakaphoros · · Score: 1

      And the most important question why is management pushing agile down the throat of developers?

      Much easier to fire developers, sub in new and unprepared ones, and then blame delays on the "agile" programming.

    2. Re:Why do developers hate agile by Anonymous Coward · · Score: 2, Insightful

      Because, as every good manager knows, all problems can be fixed by making them more agile!

      Is your well oiled development team on schedule, and the producers are twiddling their thumbs with little to do? You need to be more agile!

      Have recent changes to the way your dev team works caused an on track project to go off the rails? You need to be more agile!

      Have your senior developers got so fed up with the piss poor management team behind your project, that they've all just quit? You need to be more agile!

      Has your company just gone bankrupt due to a lack of developers, and a lack a product? Have you considered becoming an agile consultant?

    3. Re:Why do developers hate agile by Anonymous Coward · · Score: 2, Insightful

      The more appropriate question is why your developers hate agile? And the most important question why is management pushing agile down the throat of developers?

      Easy ...

      Developers hate Agile because it, when combined with incomplete/inadequate specifications, is quicksand for developers.

      Management loves it because it allows them to commit to anything. The mindset management has is the developers can throw together an "Agile" solution without management having to do their part of the job.

    4. Re:Why do developers hate agile by Kazoo+the+Clown · · Score: 1

      I don't hate Agile, but in my experience the reason management is shoving it down our throats is that it gives them the ability to micromanage the projects to a previously unforseen degree. Gone are the days of trusting your developers to design or plan much of anything, it's all left up to incompetents. But I don't mind, it drags projects that should be done in weeks, into ones that take months. And when I bail their asses out every time they design themselves into a corner, no need for me to "I told you so" (though I undoubtedly did), I end up the hero. Agile would be the best job security I've ever had, if I cared anything about that.

    5. Re:Why do developers hate agile by mcvos · · Score: 1

      Developers hate Agile because it, when combined with incomplete/inadequate specifications, is quicksand for developers.

      Management loves it because it allows them to commit to anything. The mindset management has is the developers can throw together an "Agile" solution without management having to do their part of the job.

      If you do it right, it's the developers who should love Agile, because it puts them in control. The developers are the ones who decide on the process, they decide what they need from management and business, they decide when requirements are acceptable to them. At least, that's how it works where I work, and from my perspective, management and business do their best to fulfill the support roles that we give them. Not all of them, so we let them know they should do better. And when they do, we tell them they're doing good, and they're happy.

    6. Re:Why do developers hate agile by mcvos · · Score: 1

      I don't know what you call Agile over there, but trusting developers is one of the core principles of Agile. It should put more power in the hands on developers, not less. If it's used as an excuse for micromanagement, it's definitely not Agile.

    7. Re:Why do developers hate agile by gnupun · · Score: 1

      It should put more power in the hands on developers, not less. If it's used as an excuse for micromanagement, it's definitely not Agile.

      Nice try, but the reality is quite different. Managers love agile because of daily standup meetings. That is the height of micromanagement (constant status reports) and puts pressure on the devs to accomplish something everyday.

    8. Re:Why do developers hate agile by mcvos · · Score: 1

      It should put more power in the hands on developers, not less. If it's used as an excuse for micromanagement, it's definitely not Agile.

      Nice try, but the reality is quite different. Managers love agile because of daily standup meetings. That is the height of micromanagement (constant status reports) and puts pressure on the devs to accomplish something everyday.

      There's nothing wrong with accomplishing something every day. It's what you're paid for, isn't it? There's also nothing wrong with daily status updates. But the important thing is that the standup meeting is by and for the development team. Managers and other outsiders aren't required, though they are welcome.

  7. obligatory non-xkcd by mrvan · · Score: 4, Insightful
    1. Re:obligatory non-xkcd by bunhed · · Score: 1

      Bah, I was all down with that until I saw that blow hole Zed was behind it

    2. Re:obligatory non-xkcd by burningcpu · · Score: 1

      Yeah, with a name like Zed it is real easy to remember and associate him with his very public meltdown a few years ago.

      http://developers.slashdot.org/story/08/01/02/1811218/rails-bigwig-rails-on-rails-community

    3. Re:obligatory non-xkcd by phantomfive · · Score: 1

      Who cares who's behind it? Follow ideas, not people; that is the road to wisdom.

      After all, even a stopped clock is right twice a day, and when it is, you'd be a fool to disagree with it.

      --
      "First they came for the slanderers and i said nothing."
    4. Re:obligatory non-xkcd by Half-pint+HAL · · Score: 1

      After all, even a stopped clock is right twice a day, and when it is, you'd be a fool to disagree with it.

      Perhaps, but you'd be a bigger fool to agree with it in the absence of supporting evidence....

      --
      Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
    5. Re:obligatory non-xkcd by FilmedInNoir · · Score: 1

      Software engineering? We don't need no stink'in software engineering!

      --
      Sig. Sig. Sputnik
    6. Re:obligatory non-xkcd by phantomfive · · Score: 1

      Indeed, follow ideas and evidence, not people.

      --
      "First they came for the slanderers and i said nothing."
    7. Re:obligatory non-xkcd by Anonymous Coward · · Score: 0

      What?!

  8. Agile is not a golden bullet by bhetrick · · Score: 5, Interesting

    The major problem with Agile is that it is the new software development buzzword, and thus is perceived as a golden bullet for software development. Agile has a specific application: development of experimental software, where the project sponsors know they need something in a particular area but do not know exactly what. Agile (and iterative development in general) lets the target change over time as knowledge is gained. Unfortunately, iterative development is expensive, probably twice as expensive as waterfall for the same result: "refactoring" is another word for "rework," and there is a great deal of this in iterative development. Agile in practice is typically waterfall without a project plan: the project sponsor knows what is desired, and when, and is trying to get it for cheap. Iterative development fixes the time taken ("timeboxing") and the cost (level of effort); what is unknown is how long it will take (or alternately how much you can put into a sprint). Starving Agile has the same result as starving typical development: you only get the 1/3 of the software that is apparent, not the 2/3 that makes that 1/3 truly functional, reliable, and maintainable.

    1. Re:Agile is not a golden bullet by Anonymous Coward · · Score: 0

      One odd thing about "agile" (or "extreme programming") is that I agree it's a software development buzzword, yet the term has been widespread for over ten years now. I've been working solo for the past five years, so I'm somewhat out of the loop in terms of fads and buzzwords, but I'd think at this point there'd be a general consensus on the good and the bad of it. I'm left wondering if the articles about it are purposely behind the times, if people still don't get it, or maybe it attracts lots of new programmers that don't bother to read anything critical about it.

    2. Re:Agile is not a golden bullet by Entrope · · Score: 3, Insightful

      Journals and conferences don't want to publish negative results, so you very seldom hear about all the people who try a process and find that it sucks for them.

      Process success stories in the software field have always been driven more by special circumstances than science. Nobody has yet figured out how to (or at least bothered to) control for variations in sample-group productivity well enough to generate reproducible results for most process changes, and all the practitioners want to optimize their processes for different things. For example, CMMI and its ancestors are good if you have a load of time, good requirements control, and a few good leaders mixed with a bunch of more ordinary workers; Agile is good if your customers value whims over checking all the boxes and having really robust software; etc.

      Finally, software changes can have chaotic effects, which makes it hard to apply a lot of the control, prediction and robustness methods used in other engineering fields. This makes me think that there will always be a large element of individual skill and domain expertise in building and delivering successful software, and that processes will always need to be carefully chosen based on the team and the project.

    3. Re:Agile is not a golden bullet by bastia · · Score: 1

      The major problem with Agile is that it is the new software development buzzword, and thus is perceived as a golden bullet for software development.

      Golden bullet? What!? Are you fighting wererabbits over there?

    4. Re:Agile is not a golden bullet by plopez · · Score: 1

      Or perhaps it began in an environment with project types, programmer types, manager types, and problem domains it is good at Now as it goes farther and farther into new areas, where it may be unsuitable, and used by those who are not as well versed in the technique or whose personalities may not mesh well with it limitations are appearing.

      --
      putting the 'B' in LGBTQ+
    5. Re:Agile is not a golden bullet by Anonymous Coward · · Score: 0

      Indeed Agile should only be used on experimental software.
      The truth is most software made in the world is experimental and the specs are in constant flux.

      The only software I have seen that have a constant specification, is embedded software for things that cannot be updated by the user or even by the manufacturer (think microcontrollers with ROMs being made in 100,000 plus batches).

      That is the problem with software:
      - it is very complex; every line of code is similar to a moving object in a mechanical design (how often have you heard about an engine which have 100 moving parts?, how often have you created code yourself that contains over a 1,000 lines of code?)
      - The specification is a moving target while you are implementing it. How often does it happen that during the construction of a bridge the mayor asks you to put living spaces on the side of it, then later on he wants houses to be interconnected so the people living inside it can share a giant slot car track.

    6. Re:Agile is not a golden bullet by codeButcher · · Score: 1

      MY new Fugly DevMeth (still being developed) is gonna be the PLATINUM bullet!

      --
      Free, as in your money being freed from the confines of your account.
    7. Re:Agile is not a golden bullet by OneSmartFellow · · Score: 1

      New being the new euphemism for something that's been around for over a decade, and stinks as much as it's parent, Rapid Application Development, born in the 80's.

      Why does it stink ? Because it's implemented by mindless low level managers who fail to understand the point, and asked for by foolish high-level managers who are too impatient to let it produce the results it claims to produce. Meanwhile, the poor slobs working within its constraints get to attend "scrums" where they get to stand around during the most productive time of the day, explaining to their colleagues what they would be working on if they were at their desk.

    8. Re:Agile is not a golden bullet by Pallas+Athena · · Score: 1

      You have to use the right approach for your project. Agile works great when applied in the right way in the right projects. But if your customer expects a big design, and has his lawyers on standby just in case you don't deliver exactly what was promised, then don't be agile. Do waterfall - make this big design as good as humanly possible, get to an agreement, then start implementing, testing and deploying it. No point in being open for change - every change will cost you more in contract discussions than in developer time.

    9. Re:Agile is not a golden bullet by Anonymous Coward · · Score: 0

      "...perceived as a golden bullet..."

      You have golden bullets???? I'm still using silver for all mine. I need to upgrade!

    10. Re:Agile is not a golden bullet by angel'o'sphere · · Score: 2, Interesting

      Unfortunately, iterative development is expensive, probably twice as expensive as waterfall for the same result: "refactoring" is another word for "rework,"
      This is just nonsense.

      Software is done after X hours. X does not vary on the fact that you do it iterative or in one big bang. So the cost is the same.

      However experience has shown that small iterations/increments are easier to handle.

      Agile in practice is typically waterfall without a project plan That is completely wrong. Every agile (Scrum(Kanban/XP) project has a plan. Otherwise it would not fit the description of being agile.
      On top of that most agile methods are _not_ waterfall like. Except if you consider an iteration to be a mini waterfall (which it sometimes is, but often is not).

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    11. Re:Agile is not a golden bullet by PlusFiveTroll · · Score: 1

      I would think that any software development type would probably fail if it has mindless low level managers, foolish high level managers, and poor abused slobs.

    12. Re:Agile is not a golden bullet by ahabswhale · · Score: 1

      The main problem with agile is that people use it as an excuse to do whatever the hell they want. They think that because they have no methodology, that they're "agile". It's complete bullshit.

      --
      Are agnostics skeptical of unicorns too?
  9. Developers hate Agile too by pauljlucas · · Score: 5, Interesting

    I'm a developer and I also hate Agile -- specifically the daily stand-ups. I really don't care what everyone else is doing. Just have what you said you've have done by the time you said you'd have it done and we're good. The only time I care is if you need to change something or the due date. But then you could just come and tell me the instant you figure that out and not have to wait until the next stand-up.

    --
    If you reply, do so only to what I explicitly wrote. If I didn't write it, don't assume or infer it.
    1. Re:Developers hate Agile too by Typical+Slashdotter · · Score: 2, Informative

      I'm a developer and I also hate Agile -- specifically the daily stand-ups. I really don't care what everyone else is doing. Just have what you said you've have done by the time you said you'd have it done and we're good. The only time I care is if you need to change something or the due date. But then you could just come and tell me the instant you figure that out and not have to wait until the next stand-up.

      You're doing it wrong. The daily standups should be about 5 minutes and are mainly for communicating problems encountered, if any.

    2. Re:Developers hate Agile too by Jaime2 · · Score: 5, Insightful

      Almost everyone's doing it wrong, that's why it doesn't seem to work in practice. 99% of the "agile" efforts I've seen used agile as an excuse to avoid whatever part of the SDLC annoyed them most.

    3. Re:Developers hate Agile too by Anonymous Coward · · Score: 0

      This is the same BS that all Agile apologists say, "you're doing it wrong, its not agile its you!".

      Much more effective than a daily stand up: manager spending at least 5 minutes with each team member to review, inspect, and evaluate their progress (you know, actually checking people's work) + more meets as a deadline approaches (beginng of project doesn't need daily meetings, near end might need 2-3 meetings per day).

    4. Re:Developers hate Agile too by pauljlucas · · Score: 4, Insightful

      You're doing it wrong. The daily standups should be about 5 minutes and are mainly for communicating problems encountered, if any.

      As I understand it, in a stand-up, one is supposed to say what one did yesterday (I don't care), what one is going to do today (again, I don't care), and what road-blocks, if any, you have (and, unless your problems affect me doing my work, I still don't care). And it never takes 5 minutes. You also have to factor in the time of just getting everybody in the same place at the same time.

      If you discover a road-block at, say, 2pm, what do you do? Just sit there twiddling your thumbs for the rest of the day because the next stand-up at which you can bring this to anybody's attention isn't until tomorrow? You should just either walk over to me or e-mail me now. If you do that, then maybe we can solve the problem by, say, 3pm. Why wait until the next stand-up? If everybody did this with problems, your claimed reason for needing stand-ups evaporates.

      Stand-ups are both annoying and pointless. Agile is nothing more than modern-day snake-oil.

      --
      If you reply, do so only to what I explicitly wrote. If I didn't write it, don't assume or infer it.
    5. Re:Developers hate Agile too by dfghjk · · Score: 0

      "The daily standups should be about 5 minutes and are mainly for communicating problems encountered, if any."

      You are incorrect, though "You're doing it wrong" is the standard comeback for anyone who criticizes Agile.

      http://en.wikipedia.org/wiki/Stand-up_meeting
      http://www.mountaingoatsoftware.com/scrum/daily-scrum/
      http://agile.dzone.com/articles/agile-health-check-daily-stand

      There are three things that each Scrum team member is expected to relate in turn:
      - What they have done since the last standup
      - What they are working on now
      - Any impediments that are getting in their way

      Of course, such meetings aren't unique to Agile and aren't what makes Agile suck. There are other, far worse, problems.

    6. Re:Developers hate Agile too by pclminion · · Score: 2

      As I understand it, in a stand-up, one is supposed to say what one did yesterday (I don't care), what one is going to do today (again, I don't care), and what road-blocks, if any, you have (and, unless your problems affect me doing my work, I still don't care).

      So you're saying if a fellow team member is doing something in a way you think could be done better, you just stay silent? If a team member is planning to do something that you think isn't actually necessary because of something you're doing, you just stay silent? If a team member is struggling with a problem you have the skill set to help out with, you just stay silent?

      It's true, for Agile to work, you need to have a team. The group you are a part of doesn't seem to fit the definition (or at least you don't).

    7. Re:Developers hate Agile too by Nerdfest · · Score: 1

      Admittedly that's because most do Agile quite wrong. I saw a study somewhere that showed that those that the more Agile processes were followed, the better the success rate. Doing half-assed Agile doesn't work well and burns out developers.

    8. Re:Developers hate Agile too by Crazy+Taco · · Score: 3, Insightful

      99% of the "agile" efforts I've seen used agile as an excuse to avoid whatever part of the SDLC annoyed them most.

      This is totally true. And I think the main part of the SDLC they try to avoid is planning. I've both been a developer and had developers writing automation code as projects for me as an infrastructure engineer, and the most frequent abuse is zero planning. And that's the thing that makes agile seem endless to users like me. The developers keep having to rewrite everything every dang sprint because they didn't put enough planning into the architecture to make it flexible enough to meet the requirements. And speaking of requirements gathering, that consisted of getting a bunch of user stories and then diving straight into coding, rather than taking the time to get into the true details and really flesh what the users needed. Which is another agile abuse.

      I'm honestly getting pretty darn sick of agile, because even with the defects in other paradigms, I think better software was developed more quickly. It's amazing what a little up front thought (which most other paradigms call for) will get you. And again, a lot of people will argue that it's not agile that is the problem, but the abuse of agile. I agree in theory that abuse of agile is the problem, but since 99% of projects seem to do agile wrong in practice, it might be time to throw the baby out with the bath water and get a new paradigm that isn't so easily misinterpreted.

      --
      Beware of bugs in the above code; I have only proved it correct, not tried it.
    9. Re:Developers hate Agile too by chrismcb · · Score: 2

      I'm not saying I know how to do Agile wrong, but every team I've been on that did "agile" did it wrong, and pretty much every story I heard I can recognize areas that did it wrong. The first team I was on that did "agile" had 30 minutes daily conference room meetings! They are stand up/water cooler meetings for a reason. To keep them short.

    10. Re:Developers hate Agile too by Anonymous Coward · · Score: 0

      So you're saying if a fellow team member is doing something in a way you think could be done better, you just stay silent?

      The best way anyone can do something is in a way that makes sense to them and they can achieve efficiently. Give them a clear spec to adhere to and then let them do the job they were tasked with.

      If a team member is planning to do something that you think isn't actually necessary because of something you're doing, you just stay silent?

      Again, a clear spec!

    11. Re:Developers hate Agile too by Anonymous+Brave+Guy · · Score: 2

      I'd love to see a citation for that study. I've been waiting a decade for someone to show me actual data that supports a claim that various Agile practices cause a measurable improvement in some useful way, and so far I've yet to find a paper where the methodology and/or conclusions couldn't be debunked literally in a few seconds.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    12. Re:Developers hate Agile too by Anonymous Coward · · Score: 0

      A "clear" "specification" isn't a single thing. Nor has it EVER resulted in higher quality software (unless you can show a study to the contrary).

    13. Re:Developers hate Agile too by ebno-10db · · Score: 1

      So you're saying if a fellow team member is doing something in a way you think could be done better, you just stay silent? If a team member is planning to do something that you think isn't actually necessary because of something you're doing, you just stay silent? If a team member is struggling with a problem you have the skill set to help out with, you just stay silent?

      It's true, for Agile to work, you need to have a team.

      There is a difference between a team and trying to create a hive mind. If everybody has to talk about this crap every day, I fall asleep. We have a 0.5-1 hour meeting every week where everyone talks about what they've done, will do, what problems they face, and how they think they can fix it. That seems about right. It isn't necessary for everyone to go into excruciating detail about everything they do. Good people generally know when they've got things under control by themselves and when they have a big worries or need multiple people working on an issue. The daily confessionals seem like something out of 1984. In addition to the weeklies we have either impromptu or sometimes official meetings whenthings come up. We're also trying a new technology called "email".

    14. Re:Developers hate Agile too by Entrope · · Score: 2

      One of the hardest things for process designers to do is to fit their processes to the people who will use them.

      Most hard-core proponents of Agile don't understand this. This shows up in the small number of places that do stand-up meetings right, that do automated *and* thorough testing right, that elicit useful input and direction from the customer, and so forth. Once you throw all the Agile processes together, few places can do most of it right, and that's one of the biggest reasons that Agile ends up being a poor fit so often.

      When projects inevitably fail in those circumstances, it is just annoying human behavior that makes the Agilistas claim the failure is due to not doing Agile hard enough rather than doing Agile in the first place, and that's one of the biggest reasons that Agilistas end up being obnoxious blowhards so often.

    15. Re:Developers hate Agile too by Anonymous Coward · · Score: 0

      I just started working as an intern at a programming shop, and we're using Agile with five minute daily standups. I can honestly say it's incredibly helpful for the new guy, as you see what everyone is doing and how to think about certain kinds of problems.

    16. Re:Developers hate Agile too by MightyYar · · Score: 1

      The only people who benefit from such meetings (can we call them meetings?) are micromanagers, since anyone doing the work already knows. Meetings should be reserved for when one person wants to inform many, not for when many need to inform one.

      --
      W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
    17. Re:Developers hate Agile too by unimacs · · Score: 1, Interesting

      You're doing it wrong. The daily standups should be about 5 minutes and are mainly for communicating problems encountered, if any.

      As I understand it, in a stand-up, one is supposed to say what one did yesterday (I don't care), what one is going to do today (again, I don't care), and what road-blocks, if any, you have (and, unless your problems affect me doing my work, I still don't care). And it never takes 5 minutes. You also have to factor in the time of just getting everybody in the same place at the same time.

      If you discover a road-block at, say, 2pm, what do you do? Just sit there twiddling your thumbs for the rest of the day because the next stand-up at which you can bring this to anybody's attention isn't until tomorrow? You should just either walk over to me or e-mail me now. If you do that, then maybe we can solve the problem by, say, 3pm. Why wait until the next stand-up? If everybody did this with problems, your claimed reason for needing stand-ups evaporates.

      Stand-ups are both annoying and pointless. Agile is nothing more than modern-day snake-oil.

      As a project lead I found a lot of value in stand up meetings. Not all devs like them, that is for sure. The thing to remember though is just because an individual developer may find little value in it for them personally, that doesn't mean it doesn't have value for the success of the project as a whole.

      If you encounter a road block at 2:00 by all means, try to resolve it, but the truth is not all developers will and often they don't have to, it can wait and they move on to something else. Then there are developers who will naturally put things off anyway (sometimes too long) or will bang away at a problem forever when they could simply ask someone else. The beauty of the stand up meeting is that problems are quickly identified even if the dev doesn't specifically mention them. If they've spent 2 days on something that should have taken a few hours, you as the project lead know there's trouble.

      Just the fact that a developer on a daily basis has to stand up in front of their peers identify what they did and what they are currently working on helps them stay on task and helps you as the project lead nip problems in the bud. It also keeps everyone involved informed as to who is doing what and the current state of things as a whole. All by holding one short meeting. And if you're really doing agile, the developers are located in the same area and assembling them shouldn't take anytime at all.

    18. Re:Developers hate Agile too by AuMatar · · Score: 1

      2-3 meetings a day? When the hell would you find time to get things done? And daily 1 on 1 meetings each day with the manager might be needed for junior devs, for senior devs you're just getting in the way. Remember the important part of the idea of daily meetings isn't talking to your manager, its talking to your peers.

      I'd rather see 1 longer meeting a week, and you email/talk to whoever's blocking you as needed. I find that there's almost nothing of real value discussed in the dailies. Maybe 2, more than that is wasted.

      --
      I still have more fans than freaks. WTF is wrong with you people?
    19. Re:Developers hate Agile too by jemmyw · · Score: 0

      Man people must love working with you. I like taking an interest in what my colleagues are doing day to day. Our standups take about 10 minutes, and that includes the time to organise across 2 offices are remote workers (a chat room makes that easy). And yeah, it's not a replacement for one on one help, but it is a good time to let everyone else know what's going on.

      Maybe it helps that the team I work in actually likes the company of one another, and the standup in the morning is a good first contact to get the day going, especially when working from home.

    20. Re:Developers hate Agile too by Anonymous Coward · · Score: 0

      Ours averaged 40 minutes, and with only about eight people in the room. I no longer work there.

    21. Re:Developers hate Agile too by Anonymous Coward · · Score: 0

      The stand up isn't supposed to be the last communication of the day - in fact its really an icebreaker and team builder. As so many posts here have shown, developers love to go it alone and not ask for help less they bruise their god complex.

      Stand-ups help a team by showing that everyone has problems, and by at least voicing the problem to the team you might find someone else that already has an answer to that type of problem. You then know who to talk to for help and everyone can get on with their day.

      Knowing what is happening yesterday/today gives you the advantage of talking about dependencies. If someone else in the team is building something you are dependant on its important to know where the hell they are up to and if its going to impact your day.

      I've seen agile teams work really well, even when someone completely breaks the project, its the comfort of knowing you can say to the team "I really screwed it up, who can help?" rather than "I screwed up, when am I fired?"

    22. Re:Developers hate Agile too by plopez · · Score: 0

      1) If you are downstream from me you better care what I have done, because eventually it get merged into the build. And just because it builds properly and passes unit tests does not mean it is correct.
      2) Ditto for what is happening today. You better know what is going on so you can be agile and adjust.
      3) Nothing is more effective than face-to-face communications. There is research supporting this.
      4) Ummm... no you fix the problem ASAP. But if you are blocked you bring it up in the next standup so you can get help and anyone affected by your problem can be agile and adjust.

      You are a poster child for how crappy software gets developed.

      --
      putting the 'B' in LGBTQ+
    23. Re:Developers hate Agile too by plopez · · Score: 1

      A standup isn't about excruciating detail. Daily is good as if your meeting is on Monday, which often is a day someone is out, and you are blocked on Wed. the Monday meeting is obsolete. Daily is better as it is closer to real time. If you have nothing to say, say it. But do listen for anything that raises a flag.

      From your slashdot id, use of language, and over reliance on the wisdom of others I would say you are new to the game. You need to experience more projects before you can pass judgement.

      --
      putting the 'B' in LGBTQ+
    24. Re:Developers hate Agile too by Anonymous Coward · · Score: 0

      It never STAYS that way. It almost always meanders into being a bit to a lot more than what it's "supposed" to be. Yes, if you've seen this, you've not encountered a "proper" agile process standup. The thing is...it's impossible, due to human nature, to accomplish the "proper" meeting- and even if you do, it's not overly purposeful in most cases. What you did...could be a simple task, might not be. What you plan on doing, oftentimes, is the same thing you did yesterday. Roadblocks...well, if you're roadblocked, well, waiting until the next day might work...might not.

      What gets me is the idiot notion that you can actually have 3 week cycles on some tasks- and that you can realistically break down the work into sprint-sized stuff.

      Might work for a web application or other end-user application, but board-bring-up and the like? It can take a while and doesn't conform to these silly notions.

    25. Re:Developers hate Agile too by Darinbob · · Score: 2

      "You're doing it wrong" is the first excuse ever given when someone criticizes Agile. At the same time "you're doing it wrong" applies to just about every group using Agile that I've seen. There's a whole industry grown up around Agile consultants who go around to companies to tell them "you're doing it wrong".

    26. Re:Developers hate Agile too by Darinbob · · Score: 1

      Maybe also get a paradigm that doesn't have as many religious zealots as well, and a paradigm that doesn't market itself.

    27. Re:Developers hate Agile too by Anonymous Coward · · Score: 0

      So you're saying if a fellow team member is doing something in a way you think could be done better, you just stay silent?

      Try reading the post you replied to again, you're just making yourself look stupid now.
      Seriously.

    28. Re:Developers hate Agile too by Darinbob · · Score: 1

      Often those 30 minute minutes where they do it wrong are also 30 minute stand up meetings! They missed the point of having short meetings and what they're for but they remembered the part about "stand up".

      This reminds me too much of manufacturing industry hand wringing in the 80's, where Japan was seen as an economic powerhouse and the US managers wanted to know what they were doing right so that it could be copied. So managers head over to Japan to watch how they did things, then they came back home and said "we need to have morning calisthenics".

    29. Re:Developers hate Agile too by Anonymous Coward · · Score: 0

      It also reduces the risk that one developer went off track and was developing something unneeded or out of spec. It can be good to "waste time" if it significantly reduces a large risk factor. After a few weeks of silent, focused development, you never want to hear "What!?! XYX was publicized for this released. XXX got pushed to next year. Where's XYX?"

    30. Re:Developers hate Agile too by pauljlucas · · Score: 2

      If they've spent 2 days on something that should have taken a few hours, you as the project lead know there's trouble.

      Then why can't people instead send a daily e-mail to you alone as the project manager. Why force everybody together and hear about stuff about which they couldn't care less?

      Just the fact that a developer on a daily basis has to stand up in front of their peers identify what they did and what they are currently working on helps them stay on task...

      In other words, it's a way to keep people from slacking off. Surely as a project lead, you know who your good, self-motivated developers are and who your slackers (or potential slackers) are. If that's the case, then simply fire the slackers or, slightly less drastic, require daily e-mails from only the slackers and leave the better developers alone.

      --
      If you reply, do so only to what I explicitly wrote. If I didn't write it, don't assume or infer it.
    31. Re:Developers hate Agile too by pauljlucas · · Score: 2

      Man people must love working with you. I like taking an interest in what my colleagues are doing day to day.

      I like coworkers who are motivated and talented such that if I know (from some initial communication) they're working on X that's due on date Y, I can rest easy knowing they'll deliver quality code on time. I have plenty of my own stuff to think about. I'd rather not have to concern myself with everybody else's stuff on a daily basis. If I'm working with such people, I shouldn't have to care either.

      --
      If you reply, do so only to what I explicitly wrote. If I didn't write it, don't assume or infer it.
    32. Re:Developers hate Agile too by pauljlucas · · Score: 2

      If you are downstream from me you better care what I have done, because eventually it get merged into the build. And just because it builds properly and passes unit tests does not mean it is correct.

      Which is why you should have implemented the specification we mutually agreed upon at the outset. As long as you do that, I shouldn't have to care what you do on a daily basis.

      Ditto for what is happening today. You better know what is going on so you can be agile and adjust.

      That can happen by you walking over and talking to me or sending me an e-mail at any time (but only when necessary) and doesn't (nor shouldn't) have to wait until the next daily stand-up.

      ...if you are blocked you bring it up in the next standup ...

      No, you send e-mail about it immediately. If you get blocked 10 minutes after the day's stand-up has ended, you're doing to wait 23+ hours to bring it up? Seriously?

      --
      If you reply, do so only to what I explicitly wrote. If I didn't write it, don't assume or infer it.
    33. Re:Developers hate Agile too by rve · · Score: 1

      I've worked for a customer with a product owner who really believed in agile, and it was great.

      Now I'm working for a customer with a product owner who doesn't really believe in agile, and it's not so good. At the end of a sprint, if there are any stories not in the 'done' column, he's disappointed that we haven't delivered what was promised. He feels you can't just put these back on the backlog for the next sprint, but we should be working late to finish them before the next sprint starts. When you ask him to prioritize, everything is important! It feels like every sprint we have to work a bit harder than the last one, and after two weeks, the result is always the same: customer disappointed. It's stressful, and counter productive too. We find ourselves reluctant to start anything new in the last day or two before the demo, because if it's not 'done' by the demo, we have some explaining to do.

    34. Re:Developers hate Agile too by Zeio · · Score: 1

      Daily stand ups are stupid.

      Most people making things with software also expect the customer to know what they want. They dont. Get the requirements, get them again, get them a third time and even do a round of mockups and make sure the stuff you plan on building will meet or exceed all the requirements.

      Richards Guide to Software Development

      --
      Legalize the constitution. Think for yourself question authority.
    35. Re:Developers hate Agile too by Anonymous Coward · · Score: 0

      So you're saying if a fellow team member is doing something in a way you think could be done better, you just stay silent? If a team member is planning to do something that you think isn't actually necessary because of something you're doing, you just stay silent? If a team member is struggling with a problem you have the skill set to help out with, you just stay silent?

      I don't think anyone is arguing with the intent of the meetings but you don't get that kind of information from a 5 minute meeting.
      A (In my opinion) better method is to let the project manager walk around and talk with everyone while they are at their computers. If the project manager sees that a programmer is struggling with a problem then he will ask someone else to help the programmer solve that problem.
      In case of pure bugs it is often not necessary to bring in someone else, if the programmer just tries to explain the code for someone else he will find the bug himself most of the time.

    36. Re:Developers hate Agile too by Daniel+Dvorkin · · Score: 2

      "You're doing it wrong" is the first excuse ever given when someone criticizes Agile. At the same time "you're doing it wrong" applies to just about every group using Agile that I've seen. There's a whole industry grown up around Agile consultants who go around to companies to tell them "you're doing it wrong".

      Yep. Agile can never fail, only be failed. If it appears to have failed, it's because you're not really devoted to its principles. You must be on fire with the spirit of the scrum, brother! You must accept the stand-up into your heart and soul!

      (Listening to a bunch of Agile true believers talking about programming is like listening to preachers at a revival meeting, only without the nice singing in between sermons.)

      --
      The correlation between ignorance of statistics and using "correlation is not causation" as an argument is close to 1.
    37. Re:Developers hate Agile too by goose-incarnated · · Score: 3, Insightful

      If you discover a road-block at, say, 2pm, what do you do? Just sit there twiddling your thumbs for the rest of the day because the next stand-up at which you can bring this to anybody's attention isn't until tomorrow? You should just either walk over to me or e-mail me now. If you do that, then maybe we can solve the problem by, say, 3pm. Why wait until the next stand-up? If everybody did this with problems, your claimed reason for needing stand-ups evaporates.

      No one who advocates Agile says that you should just ignore that you have issues until your next standup. Obviously if during the day you have issues you should tell someone. Nice strawman though.

      Not a strawman - if you simply discuss issues as they arise, then what's the point of having dailies?

      --
      I'm a minority race. Save your vitriol for white people.
    38. Re:Developers hate Agile too by goose-incarnated · · Score: 1

      Admittedly that's because most do Agile quite wrong. I saw a study somewhere that showed that those that the more Agile processes were followed, the better the success rate. Doing half-assed Agile doesn't work well and burns out developers.

      Such a study doesn't exist. The one you're thinking of is the one where they studied agile in action and concluded that using any formal process (such as agile) beats having no formal process. There is no study (none that I've been able to find, at any rate), that was done with a controlled experiment (or even an attempt at one).

      --
      I'm a minority race. Save your vitriol for white people.
    39. Re:Developers hate Agile too by Anonymous Coward · · Score: 0

      You sound like a much fucking bigger problem.

      Processes have to be tailored and finessed.

      A whole team of developers would struggle for an entire fucking day before having discussing as a group whether or not to buy a fan? I don't know anyone who is capable of eating without drooling who would like to work with a bunch of losers like that.

    40. Re:Developers hate Agile too by gl4ss · · Score: 1

      If you discover a road-block at, say, 2pm, what do you do? Just sit there twiddling your thumbs for the rest of the day because the next stand-up at which you can bring this to anybody's attention isn't until tomorrow? You should just either walk over to me or e-mail me now. If you do that, then maybe we can solve the problem by, say, 3pm. Why wait until the next stand-up? If everybody did this with problems, your claimed reason for needing stand-ups evaporates.

      No one who advocates Agile says that you should just ignore that you have issues until your next standup. Obviously if during the day you have issues you should tell someone. Nice strawman though.

      not a strawman. the fact that there is a dedicated time for it makes agile just fast forward version of some other process... it makes people ignore direct communications.

      but you know what's real fun? that the guy who is supposed to handle the roadblock isn't even at the meeting. at the daily meeting you're supposed to find out then who the fuck might be the guy who's responsibility it would be to get that other team in some other ivory tower to remove the roadblock.

      but this article is more about how the user is made a part of the design cycle and testing team. obviously that will make the user feel like what the fuck is he paying the developers for..

      --
      world was created 5 seconds before this post as it is.
    41. Re:Developers hate Agile too by Xest · · Score: 0

      It's not something you discuss and it's not a show stopper. Simply saying at a meeting on the morning "Actually, it was a bit warm yesterday, can we get it cooler in here?" isn't something that needs immediate drop-everything attention at the time and is trivial enough to be dealt with the following morning.

      Yes, if you suddenly get an out of the blue massive rise in temperatures for some odd reason then do something about that immediately, it's common sense, you need that, but don't go fucking around every 5 minutes over the slightest little thing or you'll never ever getting anything done.

      If the mid-day and afternoon sun starts to heat the office up such that by 3pm one of the developers finds it too warm to concentrate it's still better than they battle on for the last hour or two than it is for them to go to the other 5 - 10 developers on the team and ask if they're hot too and if they want a fan also given that it's pretty well documented that each disruption results in 15 - 20mins lost productivity. Effectively you're losing at least about an hour and a half of productivity for one developer's problem. Much better that at the morning standup someone raises it, the question is asked who else wants a fan, and then it's dealt with simply and effectively with only 30 seconds of lost time rather than 75 to 150 minutes of lost time. These sorts of trivial things stack up and cause real problems.

      No wonder you posted AC, I wouldn't want to be associated with the sorts of nonsense you posted either.

    42. Re:Developers hate Agile too by Anonymous Coward · · Score: 0

      The real reason for the daily stand-ups is to put peer pressure on people to extract more work from them.

    43. Re:Developers hate Agile too by slim · · Score: 0

      Not a strawman - if you simply discuss issues as they arise, then what's the point of having dailies?

      Because sometimes you'll say "I'm coding up a widget to foo bars", and a colleague will say "oh, I wrote one of those a couple of years ago, you can use mine or I can help you with the issues". Or "I'm going to need to foo bars from my component, make sure it handles baz".

      I frequently get irritating situations where I think "well, why did nobody tell me they were doing X, or looking for Y, months ago". Standups are intended to fix that.

    44. Re:Developers hate Agile too by slim · · Score: 1

      It never STAYS that way. It almost always meanders into being a bit to a lot more than what it's "supposed" to be. Yes, if you've seen this, you've not encountered a "proper" agile process standup. The thing is...it's impossible, due to human nature, to accomplish the "proper" meeting

      It's not impossible. It just takes some discipline. Someone should be in charge of the standup meeting, and should mercilessly cut short that kind of conversation. "Guys, don't go into detail on the standup. Get together afterwards. Next person?".

      A mature agile team will get used to the conventions, and won't need telling.

    45. Re:Developers hate Agile too by Anonymous Coward · · Score: 0

      You are part of a team and you should care what your team is up to. If one of your team member is hit by a buss you need to know what he was up to and take over his tasks.
      The days every developer worked by himself are long gone. Scrum or no scrum, you need to keep up with the rest of the team.

      It's nothing wrong with a daily standup, see it as a structured morning catch-up by the water cooler.

    46. Re:Developers hate Agile too by Anonymous Coward · · Score: 0

      Continuous integration, continuous stand-ups. Every 15 minutes keep blood flowing and overweight in check.

    47. Re:Developers hate Agile too by Anonymous Coward · · Score: 0

      Daily is better as it is closer to real time

      Following that reasoning you should have hourly meetings?

    48. Re:Developers hate Agile too by Zenin · · Score: 2

      Then why can't people instead send a daily e-mail to you alone as the project manager. Why force everybody together and hear about stuff about which they couldn't care less?

      If you truly couldn't care less about what your team is doing, then they aren't your team and/or you're not a team player. You're either a Rambo or a drone, neither of which is a good fit for an Agile team.

      And that's fine. Frankly a lot of software developers aren't a good fit for Agile. Many got into software specifically because they prefer to work isolated in a cave and tune everyone else out. They like working remote from a coffee shop or whatever.

      That however, doesn't make Agile a bad choice for the project or business, it just makes those developers a bad choice. The fact is there are a great deal of developers in the world who are at least as good as you are plus they are team players, they are able to leverage the power of a good team to boost their own performance and their coworkers to new heights they couldn't achieve on their own.

      So you're free to keep pretending you're Rambo, the greatest thing to happen to software since cc. Just as businesses are free to hire someone else who'll ultimately offer them far more value directly and indirectly then you ever will.

      --
      My /. uid is better then your /. uid
    49. Re:Developers hate Agile too by Zenin · · Score: 1

      Simple: Keep the team in sync, keep the sprint in perspective, keep the project on target. And less talked about, to keep developers honest.

      The fact is a lot can and does happen in just a couple days. If you let your developers all run off to their own corners for days at a time your entire project will be spaghetti almost as fast. This is doubly so for "Rambo" developers and drones, the ones most hostile to daily scrums.

      5-15 minutes out of an 8 hour day is hardly a burden if you're actually doing work, and it really should be that quick. The fact is however, often when a developer knows the boss isn't going to talk to them for three days they will play WoW for two days and jam code together for 4. You can get all offended, but it happens...a lot.

      It's much harder to goof off for a day or three when you're forced to stand up in front of your entire team and actually profess to their faces what you have (or haven't) gotten done. To commit to actually getting something done that day. The threat of embarrassment alone is enough to keep most from slipping and goofing off. Pride of self and pride of team is a large factor in the large productivity boosts good Agile settings have been able to achieve.

      Again, Rambo developers who like to work on their Call of Duty skillz for 4 days, cram a bunch of crap out on the 5th, and pat themselves on the back as if they're some kind of coding god, just aren't a good fit for Agile. They also aren't half the coder they think they are and aren't worth half the salary their company is paying them. And companies are starting to figure that out.

      Agile doesn't let you hide....that's the real reason most are hostile to it.

      --
      My /. uid is better then your /. uid
    50. Re:Developers hate Agile too by Zenin · · Score: 1

      Yet Scrum doesn't allow for micromanagers, and the daily scrum doesn't allow for any manager to speak or ask questions. At all. No really.

      The scrum is for the team. If you just have a collection of developers and not a team, the scrum is pointless. If however, you actually are a team, the scrum is invaluable.

      --
      My /. uid is better then your /. uid
    51. Re:Developers hate Agile too by Anonymous Coward · · Score: 0

      QA dude here.

      It's all well and good two Dev's hashing things out via a private email chain, but if you change an expectation you better explain that to either the people who need to know or the person who keeps track of what needs to be known

      And no. I don't want you coming up to me when ever you feel like it as I'm working on making sure the previous iteration is working as defined and likely know very little about your current itteration out side of the Grand Design.

      That's where the stand-ups come in. I'll either attend (as may other departments outside of Dev) or the PM will send out notes in a timely manner.

      Don't like that yours is not the only cause within a business; feel you should just be able to eat into others time as you wish?

      Guess what?

      Bingo! I don't care.

    52. Re:Developers hate Agile too by mcvos · · Score: 1

      This is the same BS that all Agile apologists say, "you're doing it wrong, its not agile its you!".

      It quite often is. Companies call lots of crap Agile, but that doesn't make it so. Sure, there's a risk of some element of the No True Scotsman fallacy here, but it's naive to assume that everything that people call Agile really is agile.

      Some of the comments in this discussion sound like: "I hate peace. We've had way too many civilians dying in majors assaults than before we had peace." That's not a No True Scotsman, that's simply not what peace is. It's someone not understanding what peace is. Someone using the word "peace" to refer to war. The same thing happens a lot with Agile in this discussion.

      Much more effective than a daily stand up: manager spending at least 5 minutes with each team member to review, inspect, and evaluate their progress (you know, actually checking people's work)

      Why do you need a manager for that? Aren't developers much better at reviewing each other's work?

      more meets as a deadline approaches (beginng of project doesn't need daily meetings, near end might need 2-3 meetings per day).

      The end only needs that many meetings because you didn't have them at the start. You can save a lot of time by clearing that stuff up at a much earlier stage.

    53. Re:Developers hate Agile too by unimacs · · Score: 1

      If they've spent 2 days on something that should have taken a few hours, you as the project lead know there's trouble.

      Then why can't people instead send a daily e-mail to you alone as the project manager. Why force everybody together and hear about stuff about which they couldn't care less?

      Just the fact that a developer on a daily basis has to stand up in front of their peers identify what they did and what they are currently working on helps them stay on task...

      In other words, it's a way to keep people from slacking off. Surely as a project lead, you know who your good, self-motivated developers are and who your slackers (or potential slackers) are. If that's the case, then simply fire the slackers or, slightly less drastic, require daily e-mails from only the slackers and leave the better developers alone.

      Agile places a high value communication, especially face to face communication. You can pick up things face to face that you can't in an email. Besides projects are supposed to be a team effort and as a member of the team you should care what other people are doing and what issues they may be running into. You may be able to help or learn from them. That won't happen if all you're doing is staying holed up in your cube sending a daily status email.

      As a project lead I'm not just concerned about keeping the slackers honest. Sometimes very dedicated, very good, but also very prideful developers can be reluctant to volunteer that they're struggling with something. Sometimes the road blocks aren't technical but political. If the meetings are regular, then there's no need to single anybody out (which can have bad consequences) and no need to put added pressure on any dev by suddenly making daily inquiries about their progress.

      I should also stress that in my view, agile works best in fairly small teams. I'd never have a standup meeting with 15 or 20 people. It's going to be detrimental rather than helpful if they are anything but brief.

    54. Re:Developers hate Agile too by barjam · · Score: 1

      If you don't care what the people on your "team" are doing you aren't actually on a team at least as far as your work goes you are working independently on a project. So yea daily meetings would be pointless.

    55. Re:Developers hate Agile too by mcvos · · Score: 1

      As I understand it, in a stand-up, one is supposed to say what one did yesterday (I don't care), what one is going to do today (again, I don't care), and what road-blocks, if any, you have (and, unless your problems affect me doing my work, I still don't care).

      Sounds to me like you're just a crappy team player. How can you possibly not care about what the rest of your team is doing to the code that you're working on?!

      A good programmer cares about the code, the project and the team, and helps his co-workers out when they need it.

      And it never takes 5 minutes. You also have to factor in the time of just getting everybody in the same place at the same time.

      It does usually take more than 5 minutes, but not because of the time it takes to get people together, because you usually do this in the same room where the team is working. Only product owners and other people outside the immediate development team work in other parts of the building. No, the reason it takes too long is that people always have more to discuss. And that's a sign that the meeting serves a purpose.

      If you discover a road-block at, say, 2pm, what do you do? Just sit there twiddling your thumbs for the rest of the day because the next stand-up at which you can bring this to anybody's attention isn't until tomorrow? You should just either walk over to me or e-mail me now.

      And that's exactly what you do in Agile.

      But sometimes somebody is trying to figure something out on his own because he's sure he can do it and doesn't want to disturb others with it, when actually someone else can solve his problem much faster. Standups are for detecting that issue.

    56. Re:Developers hate Agile too by goose-incarnated · · Score: 1

      So, the real reason is to micromanage? If that's the case then Agile is maybe only suitable if you have undisciplined developers. The rest of us prefer to be dealt with as professionals and grown ups.

      BTW: A 15-minute interruption and the resultant loss of context is a big deal when coding. I figure that this sort of interruption doesn't matter to the undisciplined ADHD crowd, but ... well, there you go.

      --
      I'm a minority race. Save your vitriol for white people.
    57. Re:Developers hate Agile too by mcvos · · Score: 1

      So you're saying if a fellow team member is doing something in a way you think could be done better, you just stay silent?

      The best way anyone can do something is in a way that makes sense to them and they can achieve efficiently. Give them a clear spec to adhere to and then let them do the job they were tasked with.

      This works fine when you work alone. Most projects are team efforts, however. Work like a team, not like a loner.

    58. Re:Developers hate Agile too by Anonymous Coward · · Score: 0

      That's not a roadblock. I get up walk over to you, we talk, it's unblocked.

      A roadblock would be: I get up and walk over to you. You are busy for the next N hours/days/weeks whatever. I need something from you or someone like you in 2 days. Resource contention, I am blocked. I need someone else's assistance in getting what I need. I'd let the project manager, product manager, whatever you call it know then, but i'd let everyone know at the stand up so that they secondarily know what is going on in case it tangentially effects them.

    59. Re:Developers hate Agile too by mcvos · · Score: 1

      I understand you're working in that magical place where everybody always delivers everything on time? I can understand Agile doesn't add anything of value there. In the real world, however, it does.

    60. Re:Developers hate Agile too by turp182 · · Score: 1

      We use a stopwatch with a goal of under 1 minute per person. Then, if there are further conversations necessary (issues impacting more than one team member, or situations where one team member can help another), those who aren't associated with the topics leave (). Only pertinent global details are allowed outside of "things I have done, will do, and things blocking my progress" during the timed portion of the meeting.

      Takes some discipline (willingness to tell people to take it offline) but once everyone is in the groove it works well and is beneficial. I think this would be the case regardless of whether a team is "agile" or not to be honest.

      --
      BlameBillCosby.com
    61. Re:Developers hate Agile too by ebno-10db · · Score: 1

      Daily is better as it is closer to real time.

      And hourly would be even closer. Perhaps people should learn, and be allowed to, talk with each other outside of approved Party meetings.

      From your slashdot id, use of language, and over reliance on the wisdom of others I would say you are new to the game.

      If I'd known that one was required to obtain a Slashdot ID before starting in this business, I would have done so immediately. "Use of language" is too vague to address. I'm also puzzled where I showed an "over reliance on the wisdom of others", though I confess I don't think I invented everything myself.

      As for new to the game, definitely newer than Grace Hopper was. So far I only have about 30 years. Long enough to have seen many fads and buzzwords come and go. "Agile" is just another buzzword to sell books and for "gurus" to suck up consulting and speaking fees. To the extent that it contains ideas that are useful in certain situations, there is nothing new about it. Software technology changes but most "new" program management practices are at best old wine in new bottles.

    62. Re:Developers hate Agile too by MightyYar · · Score: 1

      Communism works, it just has never been done correctly.

      Also, anyone using the term "scrum" in the US is probably just parroting what it says to do in the book, since that is a soccer term. If you were actually thinking about what you were doing, you'd probably say "huddle" to make the concept seem less foreign to a skeptical "team".

      --
      W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
    63. Re:Developers hate Agile too by turp182 · · Score: 1

      Benefits of daily meetings, in my opinion (regardless of development methodology):
      1. Maybe I can help with someone's blocker. This is the most common benefit. We all have different skill sets. If it's an issue the manager has to deal with, it keeps a daily fire under his/her ass to get it resolved, this is a good thing.
      2. Maybe I have a dependency on another's effort or vise versa; this clarifies it and makes it known to the whole team, helping coordination (especially if there are multiple people with multiple dependencies, not uncommon).
      3. Demonstrates progress, as you mentioned (one of management's core responsibilities, not sure why you belittled it so).

      Dailies should be time boxed, under 1 minute per person for "what I did, am going to do, and blockers". More than 8-10 people and they become ineffective (and too long), split the meetings so people working on related tasks are together for the meeting (completely avoiding the "stuff about which they couldn't care less" situation). After the daily people can split off and have specific conversations as needed without wasting the time of the entire group.

      That will be $20 thank you...

      --
      BlameBillCosby.com
    64. Re:Developers hate Agile too by angel'o'sphere · · Score: 1

      The stand up meeting with 10 people takes like 3 minutes. Perhaps 5 ...

      What else do you hate with agile methods?

      And why don't you care what your coworkers do? Are you a sociopath? I guess in most companies I worked a guy like you would get fired ...

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    65. Re:Developers hate Agile too by angel'o'sphere · · Score: 1

      It's amazing what a little up front thought (which most other paradigms call for) will get you
      There is no agile method that prevents you from doing upfront planning.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    66. Re:Developers hate Agile too by ebno-10db · · Score: 1

      No, you send e-mail about it immediately. If you get blocked 10 minutes after the day's stand-up has ended, you're doing to wait 23+ hours to bring it up? Seriously?

      Yes, seriously. That's what good Agile drones are supposed to do. No talking about things outside of class, and no talking unless the whole class is there, lest someone feel left out. Leads/managers can pretend they know what's going on by attending the 15 minute roll call. The more I hear Agilistas justify it, the more Agile sounds like a good way to run a kindergarten class. If people can't manage themselves a week at a time, you really really need better people.

      The daily Party meeting sounds like a way to attempt to herd people who are too inexperienced to know when to report/consult/discuss something, or to compensate for a culture that otherwise discourages that, or too irresponsible to be allowed to work for more than a day by themselves, or who are not good team players, because good team players will report/consult/discuss whenever it's desirable. To deal with the fact that it's never perfect, and some greater formality and general sharing is required, a weekly meeting should be more than good enough. If it's not, find better managers and/or programmers.

    67. Re:Developers hate Agile too by angel'o'sphere · · Score: 1

      Clap! Clap! Clap!

      Deserves a +10 "on the point".

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    68. Re:Developers hate Agile too by pauljlucas · · Score: 2

      Agile places a high value communication, especially face to face communication. You can pick up things face to face that you can't in an email.

      And yet, somehow, projects like, oh, the Linux kernel, the Apache HTTPD server, and just about every other open-source project out there seem to be able to muddle along without face-to-face communication.

      Besides projects are supposed to be a team effort and as a member of the team you should care what other people are doing and what issues they may be running into.

      That's your job as project lead.

      ... and no need to put added pressure on any dev by suddenly making daily inquiries about their progress.

      Then you explain to them why you are making such inquiries and, if they'd like them to stop, what they should do about it.

      --
      If you reply, do so only to what I explicitly wrote. If I didn't write it, don't assume or infer it.
    69. Re:Developers hate Agile too by angel'o'sphere · · Score: 1

      Lol.

      Agile methods only exist because they are more successful than older approaches.

      If you lack published papers then: google!!!

      Why do you think a company like EnBW or BASF has switched to agile methods and is not going back to the old way?

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    70. Re:Developers hate Agile too by angel'o'sphere · · Score: 1

      No study about software processes is done in an controlled experiment.

      In case you have a few billions left on your bank account you are free to fund 20 "traditional projects" and 20 "agile ones".

      But be prepared that people will shout: a sample size of 40 is to small to get a significant result.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    71. Re:Developers hate Agile too by pauljlucas · · Score: 1

      You're not a team player, you're not an effective developer, it's that simple.

      I'm a team player in that we're all working towards the same goal. As for effective developer, modesty aside, I write the best (correct, concise, efficient, well-commented, and even well-formatted) code in the project (or, in all my years, in any project I've even been part of). Go Google me and download some of my open-source code for a look.

      1) If someone falls ill, everyone else knows where he was upto so someone can take over

      That's a complete fantasy. Even if I know what you're doing, that doesn't mean I'm familiar with your code, your algorithms, your data-structures, etc. If I have to be sufficiently familiar so I can take over (and I have to be able to do this for everybody on the entire team), when am I supposed to find time to work on my own stuff? Your fantasy could only possibly work for very small teams. It simply doesn't scale.

      2) Talk about problems can cause others to offer solutions, or if the problem was already solved, to share solutions so others don't encountered similar problems

      That can be done via e-mail.

      3) Raising more general problems such as "It was too hot in here to concentrate yesterday" so that the product owner/SCRUM master can go do something about that, like buy some fans

      That also can be done by e-mail, or simply walk into that person's office. The same is true for the rest of your reasons.

      If your standups are rolling on for more than 5 - 15 mins then yes, you're doing it wrong.

      Most of my teams have been about a dozen people. If you limit every person to 1 minute, that's still 12 minutes. Again, Agile doesn't scale.

      With regards to solving problems when they happen, yes, if you can do that do that, but don't just arbitrarily interrupt the whole dev team to ask if they know anything about it and ruin their concentration.

      I'm not suggesting you stand up on your desk and shout out to the entire office -- send a group e-mail. If I'm deep in concentration, I can ignore your e-mail for a while.

      ... you don't care what anyone else is doing because you have no intention of carrying on their work if something happens to them, I guess that's "someone else's problem"

      It is someone else's problem: the project lead's. That's what he gets paid (usually paid more) for. If I spend my finite time staying informed about everybody else's work and nothing happens to them, then it was a waste of my time. If, however, my project lead comes to me and says, "Jim was hit by a bus and I need you to take over his work," then I can become familiar with his work in a focused way. The time it would take is probably better than conserved because it's a focused effort rather than 1 minute a day.

      --
      If you reply, do so only to what I explicitly wrote. If I didn't write it, don't assume or infer it.
    72. Re:Developers hate Agile too by Anonymous Coward · · Score: 0

      I don't hate Agile, but everyone means something different when they say Agile. "Agile" is used to describe a huge assortment of practices at many different companies therefore it necessarily is awesome and it necessarily sucks.

      As for the daily stand-up, perhaps the most used and least important part of Agile, it is a solution for the problem, "engineers aren't communicating well". The value of the daily stand-up is far, far less the the simple value of having your engineers eat lunch together every day. Go to your retro, say "Our stand-ups don't feel like well used time, perhaps the company can provide free (non-alcoholic) drinks at lunch instead."

    73. Re:Developers hate Agile too by pauljlucas · · Score: 1

      How can you possibly not care about what the rest of your team is doing to the code that you're working on?!

      That's what code reviews are for.

      But sometimes somebody is trying to figure something out on his own because he's sure he can do it and doesn't want to disturb others with it, when actually someone else can solve his problem much faster. Standups are for detecting that issue.

      One justification for stand-ups I've heard is to prevent slacking off; now this one to mitigate stubborn and/or prideful people. It sounds like Agile is a way to baby-sit people with work-ethic or personality defects. You can get the same result with a daily e-mail -- that I can glance at much more quickly than having to hear someone speak it and either delete it (because I know nothing about their problem or how to help) or answer it.

      --
      If you reply, do so only to what I explicitly wrote. If I didn't write it, don't assume or infer it.
    74. Re:Developers hate Agile too by pauljlucas · · Score: 1

      The stand up meeting with 10 people takes like 3 minutes. Perhaps 5 ...

      How?? If you limit every person to 1 minute, that's 10 minutes right there.

      And why don't you care what your coworkers do?

      Because it doesn't affect the code I'm working on and I simply don't have the luxury of time to care. I don't care any more than the local baker down the street has to care what the local butcher does. Division of labor is a good thing.

      --
      If you reply, do so only to what I explicitly wrote. If I didn't write it, don't assume or infer it.
    75. Re:Developers hate Agile too by mcvos · · Score: 1

      How can you possibly not care about what the rest of your team is doing to the code that you're working on?!

      That's what code reviews are for.

      Code reviews are only part of it. If that's truly all your involvement with your co-workers, that's sad.

      But sometimes somebody is trying to figure something out on his own because he's sure he can do it and doesn't want to disturb others with it, when actually someone else can solve his problem much faster. Standups are for detecting that issue.

      One justification for stand-ups I've heard is to prevent slacking off; now this one to mitigate stubborn and/or prideful people. It sounds like Agile is a way to baby-sit people with work-ethic or personality defects. You can get the same result with a daily e-mail -- that I can glance at much more quickly than having to hear someone speak it and either delete it (because I know nothing about their problem or how to help) or answer it.

      You can get the same result with a daily email, but you usually won't. Daily emails usually don't get the same results and involvement.

    76. Re:Developers hate Agile too by Anonymous Coward · · Score: 0

      No, you send e-mail about it immediately. If you get blocked 10 minutes after the day's stand-up has ended, you're doing to wait 23+ hours to bring it up? Seriously

      Yes. Waiting that 23+ extra hours is great. I have a fantastic excuse as to why I haven't achieved what I said I was going to do, and brilliantly it wasn't my fault.

    77. Re:Developers hate Agile too by Xest · · Score: 1

      "I'm a team player in that we're all working towards the same goal."

      It sounds more like you're working towards your own goal and they just happen to be working to the same goal too, that doesn't make you a team player though - a team player helps their team mates achieve the same goal more effectively.

      "As for effective developer, modesty aside, I write the best (correct, concise, efficient, well-commented, and even well-formatted) code in the project (or, in all my years, in any project I've even been part of)."

      So why don't you like talking to your team to help them improve to your level?

      "Go Google me and download some of my open-source code for a look."

      I did what you said, what am I meant to be looking at? I don't see anything special, I don't see anything magical, it looks like bog standard code. From your arrogance I was expecting some really stand out stuff. The fact I didn't coupled with your arrogance I think just further highlights the fact you're not a team player and not a good person to have on a dev team.

      "That's a complete fantasy. Even if I know what you're doing, that doesn't mean I'm familiar with your code, your algorithms, your data-structures, etc. If I have to be sufficiently familiar so I can take over (and I have to be able to do this for everybody on the entire team), when am I supposed to find time to work on my own stuff? Your fantasy could only possibly work for very small teams. It simply doesn't scale."

      Wait, didn't you just pretend to be some kind of super-coder? You're some kind of super-coder yet you can't pick up another team member's work in say a SCRUM and carry on with it? If you're any good at coding then reading code and understanding algorithms isn't something you should be struggling with. Sure you wont be able to jump into it as fast as they can, but it shouldn't take you long either. Maybe if you listened to what your team members are doing a bit well you wouldn't struggle to jump in. Oh wait...

      "That also can be done by e-mail, or simply walk into that person's office. The same is true for the rest of your reasons."

      Right but e-mail loses a distinct richness of conversation and walking into an office disrupts that developer's concentration so you're damaging his productivity each time you do this because you can't be arsed to attend a 5 - 10 minute meeting in the morning?

      "Most of my teams have been about a dozen people. If you limit every person to 1 minute, that's still 12 minutes. Again, Agile doesn't scale."

      I don't know what type of agile methodology you're practicing, but SCRUM recommends 7 +- 2 for team size. It seems like you weren't doing it right. Anymore than that and you should split into teams and have each team responsible for different areas of the project (because if you need 12 developers it's large enough to cleanly compartmentalise). Even ignoring that though, 12 minutes is still within the 15 minute window and and 1 minute per dev is enough for the dev to say "I finished class X yesterday, today I'll be doing class Y, but I had a few issues with problem Z" which is all you need.

      "I'm not suggesting you stand up on your desk and shout out to the entire office -- send a group e-mail. If I'm deep in concentration, I can ignore your e-mail for a while."

      That's fine and that's exactly right. The meeting the next morning is just an opportunity to raise things that haven't been responded to / dealt with the day before without anyone having to break concentration.

      "It is someone else's problem: the project lead's. That's what he gets paid (usually paid more) for."

      Right and it sounds like the project lead has decided to solve it to get you attending stand up meetings, except of course you know better and are too arrogant to do what your lead wants it seems.

      "If I spend my finite time staying informed about everybody else's work and nothing happens to them, then it was a waste of my time."

      Yet you still think it's better rather than have everyone spend 15 minute

    78. Re:Developers hate Agile too by Anonymous Coward · · Score: 0

      Looking at your responses, hell even your sig, and I can tell what kind of developer you are.

      Working in isolation may work for some projects but those days are numbered, agile is designed for force cowboy coders like yourself to open the fuck up about what you're doing.

      If there are things you maintain on your team that only you can do, your team has serious problems

    79. Re:Developers hate Agile too by pauljlucas · · Score: 1

      Code reviews are only part of it. If that's truly all your involvement with your co-workers, that's sad.

      No, it means I'm spending most of my work time actually working on the things assigned to me, i.e., what you're paying me for. It makes me maximally productive and either on-time or ahead of schedule.

      You can get the same result with a daily email, but you usually won't. Daily emails usually don't get the same results and involvement.

      If you've already drank the Agile Kool-Aid, how do you actually know you won't get the same results? And if you don't get them, why not figure out how to solve that problem (while still using e-mail).

      --
      If you reply, do so only to what I explicitly wrote. If I didn't write it, don't assume or infer it.
    80. Re:Developers hate Agile too by The_PS4_Will_Fail · · Score: 1

      I figure that this sort of interruption doesn't matter to the undisciplined ADHD crowd, but ... well, there you go.

      There I go, off to ride my bicycle! What were we talking about again? Hey - you want to go out for burgers later? I need to wash my car.

      --
      lik-sang.com
    81. Re:Developers hate Agile too by PlusFiveTroll · · Score: 1

      I think we detected the Rambo in the group.

    82. Re:Developers hate Agile too by Xest · · Score: 1

      Um, so you don't want a 5 - 10 minute meeting each day but you have a 30 - 60 minute meeting once a week?

      Do the math on that one, then ask which one is more responsive to changing circumstances throughout the week. Maybe then you'll get it.

    83. Re:Developers hate Agile too by Xest · · Score: 1

      "One justification for stand-ups I've heard is to prevent slacking off; now this one to mitigate stubborn and/or prideful people. It sounds like Agile is a way to baby-sit people with work-ethic or personality defects."

      There's a certain irony in this coming from you given that that's EXACTLY what you need and given your other responses sounds like it's exactly what you're getting when your project lead makes you do them.

      No wonder you don't like them, you're exactly the problem they're designed to solve.

    84. Re:Developers hate Agile too by angel'o'sphere · · Score: 1

      How?? If you limit every person to 1 minute, that's 10 minutes right there.
      Developers are not limited to 1 minute but to three sentences.
      Because it doesn't affect the code I'm working on and I simply don't have the luxury of time to care.

      In what toy projects do you work that others people code does not affect yours?

      You never had to merge your code into someone else before you could submit/checkin it into a version control system?

      Sorry, you are delusioned idiot ... perhaps an autist.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    85. Re:Developers hate Agile too by PlusFiveTroll · · Score: 1

      >that the guy who is supposed to handle the roadblock isn't even at the meeting

      That is a management problem.

      >obviously that will make the user feel like what the fuck is he paying the developers for..

      Only if your user is a fucking idiot. Don't worry, lots of users are. They imagine that you the developer can see right in to their head and make the software happen and get angry when you don't. I've seen a few 'agile-like' projects where the end user was brought in early and major changes to the way the work flow works on the interface was changed before it became a huge issue. The user realized what they originally wanted just didn't work smoothly.

    86. Re:Developers hate Agile too by mcvos · · Score: 1

      Code reviews are only part of it. If that's truly all your involvement with your co-workers, that's sad.

      No, it means I'm spending most of my work time actually working on the things assigned to me, i.e., what you're paying me for. It makes me maximally productive and either on-time or ahead of schedule.

      Until your code runs into a conflict with someone else's code because of a lack of communication. Communication is vital if you want a productive team. Your attitude is fine if you work alone, but not in a team.

      You can get the same result with a daily email, but you usually won't. Daily emails usually don't get the same results and involvement.

      If you've already drank the Agile Kool-Aid, how do you actually know you won't get the same results? And if you don't get them, why not figure out how to solve that problem (while still using e-mail).

      I have used daily emails before I experienced real Scrum. I wanted it to work, but it didn't work remotely as well as a daily standup.

    87. Re:Developers hate Agile too by Anonymous+Brave+Guy · · Score: 1

      Agile methods only exist because they are more successful than older approaches.

      As I said, I have yet to see convincing evidence that a lot of these trendy Agile processes are in fact measurably more successful than "older approaches".

      If you lack published papers then: google!!!

      I don't lack published papers. I've had an interest in this area for many years, and I've done much more than Googling. I've also looked through academic reference libraries, conference proceedings, subscription journals, and research from industrial R&D facilities, among other things.

      And as I said, I have yet to find any significant amount of hard data collected using sound methodologies that supports these general claims about the superiority of various Agile methods. For example, a disturbing number of the "studies" are little more than watching a trivial coding exercise performed by a handful of undergraduate students, followed by completely unwarranted extrapolation to professional projects implemented by professional teams over extended timescales. TDD studies are a personal favourite of mine, where it seems to be almost universal to experiment with trivial CRUD applications that play to TDD's expected strengths, and where the control used for comparison is almost invariably having no testing at all rather than any of the numerous realistic alternatives.

      To be clear, I am not arguing that none of the practices used by Agile is a good idea, nor that there is no evidence of any kind in favour of some of those practices. There is evidence that using automated unit tests reduces bug counts compared to not using them, for example. But if the kinds of unqualified blanket claims that Agile evangelists frequently make on forums like this one were really as clear-cut as they make out, the evidence of the superiority of methods like Scrum and XP ought to be overwhelming after this long, and it simply isn't.

      Why do you think a company like EnBW or BASF has switched to agile methods and is not going back to the old way?

      I don't know, but since we're talking about software project management in large organisations, there are plenty of plausible explanations that have little, if anything, to do with Agile consistently achieving objectively better results for those organisations.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    88. Re:Developers hate Agile too by pauljlucas · · Score: 1

      So why don't you like talking to your team to help them improve to your level?

      You can't make a silk purse out of a sow's ear. I'd rather simply hire better people.

      I don't see anything magical, it looks like bog standard code. From your arrogance I was expecting some really stand out stuff.

      Then you're letting your personal feeling influence your objectivity. It's much better than 99% of the crap out there for the formatting, comments, variable-names alone. And most code is mundane in its purpose -- but it can still be done well.

      You're some kind of super-coder yet you can't pick up another team member's work in say a SCRUM and carry on with it? If you're any good at coding then reading code and understanding algorithms isn't something you should be struggling with.

      The problem is their code is often terribly formatted, not commented, and is often 3 times as long as it needs to be. Bad developers always write far more code than necessary because they don't know how to do things concisely. Code reviews are supposed to catch this, but not everybody can review everybody else's code. (What usually happens is that they get their buddy -- who writes equally crappy code -- to review it.) So no, I often can't make heads nor tails of somebody else's crappy code. I often throw it out and rewrite it from scratch in about a third the space (including comments).

      I finished class X yesterday, today I'll be doing class Y, but I had a few issues with problem Z.

      Why does anybody care what you did yesterday? It's in the past. What's done is done. The only part of that that has any potential value is the problems. The yesterday/today stuff -- what problem does anybody else know that solve?

      You still seem to have this idea that the standup is some long meeting full of detail. It's not, it's an extremely brief summary of where everyone is at.

      Which is why it's pointless. It gives project leads warm-fuzzies that they think they know what's going on.

      --
      If you reply, do so only to what I explicitly wrote. If I didn't write it, don't assume or infer it.
    89. Re:Developers hate Agile too by angel'o'sphere · · Score: 1

      To be clear, I am not arguing that none of the practices used by Agile is a good idea, nor that there is no evidence of any kind in favour of some of those practices.
      Yes, and this claim is simply wrong.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    90. Re:Developers hate Agile too by pauljlucas · · Score: 1

      In what toy projects do you work that others people code does not affect yours?

      It seems you've got it backwards: only in toy projects would everybody's code affect everybody else's (because the code-base is small). In most of the projects I've worked on, the code-base is fairly large. As long as the interfaces don't change often, what they do under the covers doesn't affect my code.

      And if the interfaces do need to change, well that's not the kind of pervasive change you suddenly bring up in a daily stand-up. That would require a more formal design meeting.

      --
      If you reply, do so only to what I explicitly wrote. If I didn't write it, don't assume or infer it.
    91. Re:Developers hate Agile too by pauljlucas · · Score: 1

      Until your code runs into a conflict with someone else's code because of a lack of communication.

      That should have been worked out during the design phase.

      --
      If you reply, do so only to what I explicitly wrote. If I didn't write it, don't assume or infer it.
    92. Re:Developers hate Agile too by pauljlucas · · Score: 1

      [Good developers] are able to leverage the power of a good team to boost their own performance and their coworkers to new heights they couldn't achieve on their own.

      You make it sound like a team is some kind of social program (no developer left behind). It's not. A team is a part of a company whose goal is to make money -- with any luck, enough of it to retire early.

      --
      If you reply, do so only to what I explicitly wrote. If I didn't write it, don't assume or infer it.
    93. Re:Developers hate Agile too by Xest · · Score: 1

      "You can't make a silk purse out of a sow's ear. I'd rather simply hire better people."

      Bwahaha. Like you? Obviously you're the best developer in the world and we should only hire you.

      "Then you're letting your personal feeling influence your objectivity. It's much better than 99% of the crap out there for the formatting, comments, variable-names alone. And most code is mundane in its purpose -- but it can still be done well."

      No I'm really not. If what you're telling me is that your code is "better than a few samples on websites created by students and amateurs" then er, well done, congratulations on that.

      "The problem is their code is often terribly formatted, not commented, and is often 3 times as long as it needs to be. Bad developers always write far more code than necessary because they don't know how to do things concisely."

      Well there's a balance here. Sometimes code that is too concise can be unmaintainable, but yes, sometimes it can be better. Regardless your assertion that your team mates all write bad code may explain your bitterness if true, I guess you just got stuck at a really bad employer - don't hate agile for that, don't hate working in a team for that, find a new job.

      "So no, I often can't make heads nor tails of somebody else's crappy code. I often throw it out and rewrite it from scratch in about a third the space (including comments)."

      That's worrying. Either you really do need to find a new job, or you're utterly hopeless at reading code.

      "Why does anybody care what you did yesterday? It's in the past. What's done is done. The only part of that that has any potential value is the problems. The yesterday/today stuff -- what problem does anybody else know that solve?"

      Because it's good to know how well the project is progressing? It's good to know if you're on target? It's good if something happens to someone or multiple people that you all know what has and hasn't been done and is left to do?

      "Which is why it's pointless. It gives project leads warm-fuzzies that they think they know what's going on."

      As opposed to everyone not knowing what's going on, whether the project is on track, whether people have encountered any issues, whether the team can help each other with anything, which is all much better right?

    94. Re:Developers hate Agile too by Anonymous Coward · · Score: 0

      Agile doesn't let you hide....that's the real reason most are hostile to it.

      What about the downstream folks. Documentation, training, QA, etc?

      "I fucked around on Slashdot for the past three days. Blocker: None of you bastards have given me anything I can take a screenshot of, so all the screenshots are 640x480 blank squares."

      On the second-last day of the sprint, enough of the code is done and the product works well enough that a documenter can start writing and the QA team can start trying to break it.

      On the last day of the sprint, the product ships. The doc looks like shit because it was Rambo'd together in the last day, and the QA manager is happy because it passed all the automated tests in the suite... but nobody actually thought about what would happen if the user did something unanticipated that caused the program to crash.

      But it's Agile. Devs don't care if you ship garbage, as long as you ship. Let the customer do the testing!

    95. Re:Developers hate Agile too by pauljlucas · · Score: 1

      Because it's good to know how well the project is progressing? It's good to know if you're on target? It's good if something happens to someone or multiple people that you all know what has and hasn't been done and is left to do?

      That's the project manager's job. I shouldn't have to care if he's doing his job. It's a matter of trust and competence.

      If I have a good auto-mechanic that I trust, I know I can drop off my car, he'll diagnose and repair the problem, do good quality work, and not rip me off. That enables me to have the peace-of-mind to not have to care about his work or how he gets it done.

      I should have that same level of trust in everybody I work with so I don't have to care. I think part of the problem here is that the phrase "I don't care" is seen negatively in common use. I don't mean it that way. If I don't care about your work, it's because I know you'll do a good job (just like with my auto-mechanic). That frees my time up to work on what I need to work on.

      If I have to care about your work, it implies I need to baby-sit you because I don't trust your quality of work or that you'll get it done on time.

      --
      If you reply, do so only to what I explicitly wrote. If I didn't write it, don't assume or infer it.
    96. Re:Developers hate Agile too by Anonymous Coward · · Score: 0

      Here you go:

      An empirical study on the relationship between the use of agile practices and the success of Scrum projects, http://dx.doi.org/10.1145/1852786.1852835

      Factors that affect software systems development project outcomes: A survey of research, http://dx.doi.org/10.1145/1978802.1978803

      Just because you don't have a subscription to the ACM Digital Library doesn't mean there isn't tons of research on the subject. Doing a search for "agile success rate" turned up ~2000 papers/books/articles. Just going through the bibliography of those two papers should yield more papers about how successful agile is and should turn up some data.

      If it doesn't and all these papers are flawed, then we have a bigger problem than whether or not Agile is successful.

    97. Re:Developers hate Agile too by Anonymous Coward · · Score: 0

      Isn't a process that no one seems to be able to understand and is difficult to understand showing a flaw in the process itself?

    98. Re:Developers hate Agile too by Xest · · Score: 1

      "That's the project manager's job. I shouldn't have to care if he's doing his job. It's a matter of trust and competence. "

      Right and how does he do his job when you don't wish to attend the very short and brief meetings he's set up to find out how you're doing? You're not letting him do his job in the way he - as a professional in project management and delivery unlike yourself - has deemed best to do it, that's kind of the problem.

      "If I have a good auto-mechanic that I trust, I know I can drop off my car, he'll diagnose and repair the problem, do good quality work, and not rip me off. That enables me to have the peace-of-mind to not have to care about his work or how he gets it done. "

      But normally you actually take some time to explain the problem and tell him when you'll pick it up or need it back by. You don't just leave him guessing.

      "If I have to care about your work, it implies I need to baby-sit you because I don't trust your quality of work or that you'll get it done on time."

      No, it implies you're a professional that knows what his team is doing and how they're progressing. The problem is, you're apparently not - you're saying the PM should know how best to do his job, but when he decides he wants to do his job using agile you're pretending you know better because you're arrogant, and that's the problem. You think you know better than absolutely everyone else, even when you're talking outside your field of expertise.

    99. Re:Developers hate Agile too by Anonymous Coward · · Score: 0

      Totally agree.

      Daily standups done properly are far more than a waste of time. They prevent major mistakes from happening, and they give everyone a chance to be part of the team. A happy social team does much better work than a bunch of geniuses in cubes that never see each other. They handle conflict and issues that arise better, and work around each other better.

      Ours involve about 10 people and take 10-15 minutes. It's a mix of friendly banter and jokes and some real serious strategical discussion, problem avoidance, and general team building. It lays the foundation for the day's work, and keeps everyone both aware of fine details which might be problematic as well as the large picture. There's no way we could do the work we do without it.

      The bitching above here about standups comes from non-team-players or people in terrible teams who don't know how this process works.

    100. Re:Developers hate Agile too by goose-incarnated · · Score: 1

      I think we detected the Rambo in the group.

      Nope. You can find me everywhere on the net, and I doubt you'll conclude that I'm lazy if you simply search. The fact remains that, if your devs are any good, they've already figured out a good process to use amongst themselves, so no need for agile. If your devs are poor (like the above poster Zenin said - agile is for devs you cannot trust to actually work), then you need agile. The only conclusion that can be drawn from the above is that any shop that practices agile is probably filled with poor devs (the good ones leave - if you treat all your employees like untrustworthy children, pretty soon only the bad ones are left)

      --
      I'm a minority race. Save your vitriol for white people.
    101. Re:Developers hate Agile too by mcvos · · Score: 1

      Until your code runs into a conflict with someone else's code because of a lack of communication.

      That should have been worked out during the design phase.

      Does that really work? Does your design really pre-empt all communication?

      I'd consider that a really impressive feat by your design phase, but it also sounds kinda lonely.

    102. Re:Developers hate Agile too by pauljlucas · · Score: 1

      [H]ow does he do his job when you don't wish to attend the very short and brief meetings he's set up to find out how you're doing?

      If he needs to know that, it means he doesn't trust me. If, however, he does trust me, he assigns a block of work X to be done by date Y and he can then essentially completely forget about me knowing I'll have it done by Y.

      But normally you actually take some time to explain the problem and tell him when you'll pick it up or need it back by. You don't just leave him guessing.

      Well, of course.... just like when the project is laid out at its inception. But, once laid out, there don't need to be daily meetings about it any more than I have to call my mechanic every hour. I think you're missing my point.

      --
      If you reply, do so only to what I explicitly wrote. If I didn't write it, don't assume or infer it.
    103. Re:Developers hate Agile too by unimacs · · Score: 1

      Agile places a high value communication, especially face to face communication. You can pick up things face to face that you can't in an email.

      And yet, somehow, projects like, oh, the Linux kernel, the Apache HTTPD server, and just about every other open-source project out there seem to be able to muddle along without face-to-face communication.

      Besides projects are supposed to be a team effort and as a member of the team you should care what other people are doing and what issues they may be running into.

      That's your job as project lead.

      ... and no need to put added pressure on any dev by suddenly making daily inquiries about their progress.

      Then you explain to them why you are making such inquiries and, if they'd like them to stop, what they should do about it.

      Open source projects are a different beast that don't operate under the same constraints that a commercial project does. You lose some efficiencies in terms of communication but for projects like the Linux kernel or Apache you have potentially an unlimited pool of developers and much more flexibility as to what gets delivered when. It should also be pointed out that for every open source success story like Apache or Linux there's lots of stuff that dies on the vine or never gets off the ground.

      Look, it's clear that you're not happy with an Agile approach and some people just don't work well in that environment. It seems to me though that people who only give a crap about their part of the project and resist any face to face communication in favor of email are limited in the sorts of projects they can work on successfully.

    104. Re:Developers hate Agile too by goose-incarnated · · Score: 1

      So wait, are you saying that because there's no evidence that agile is worse, it must be better? That's crazy talk.

      --
      I'm a minority race. Save your vitriol for white people.
    105. Re:Developers hate Agile too by pauljlucas · · Score: 1

      ... but it also sounds kinda lonely.

      If you feel that way, then maybe software development isn't for you. I don't see it much differently that writing a book (in terms of the actual working environment). Presumably book authors do it because they love to write. The fact that it's a solitary job is irrelevant. I write code because I love to write code. I don't need my work environment to be a place for friends to socialize.

      --
      If you reply, do so only to what I explicitly wrote. If I didn't write it, don't assume or infer it.
    106. Re:Developers hate Agile too by Anonymous Coward · · Score: 0

      Does anybody under 40 yrs old know what email is? I wish you luck with that.

    107. Re:Developers hate Agile too by Anonymous Coward · · Score: 0

      It works better for small teams. If you have a 5 man team working on some feature, let's say the application caching tier, their work will be interconnected. As the team grows larger the utility of a scrum or standup decreases. I like my team to know what eachother are up to and I, as the project manager, need an update every morning... So the standup accomplishes those things.

      In addition to that, if you sit on your ass and don't tell people about blockers you're a shitty employee. Scrum is not an excuse to sit on your ass and wait for the next meeting. The same rules apply.

      I'm not an advocate for a 100% agile driven process, but the standup is definitely one of the things that's made my job a lot easier... Both when I was a junior developer and now as a senior developer.

    108. Re:Developers hate Agile too by Anonymous+Brave+Guy · · Score: 1

      Just because you don't have a subscription to the ACM Digital Library doesn't mean there isn't tons of research on the subject.

      I live just down the road from one of the UK's national reference libraries. I've read tons of research on the subject.

      You, I'm guessing, haven't. For example, I just looked up the second paper you cited there. It is not primary research, mentions the term "agile" only once in its entire content, and cites only two other related sources.

      Then I looked up the first of those two sources. It appears to be based on self-reported, subjective preferences rather than objective, quantified data; it relates to general trends rather than specific practices; it has obvious selection bias problems; and even then it is equivocal in its conclusions.

      I gave up at that point. Maybe something buried elsewhere in what you cited would be interesting, but you obviously just looked up a couple of random papers and posted them in the hope that you'd look like you knew what you were talking about.

      If it doesn't and all these papers are flawed, then we have a bigger problem than whether or not Agile is successful.

      Doing serious research into software engineering practices is very hard. It is extremely unusual to have the chance to compare two parallel implementations of equivalent or very similar non-trivial projects using two different methods. This is certainly a real problem.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    109. Re:Developers hate Agile too by david_thornley · · Score: 1

      Please tell me how to get to this marvelous world where "the specification we mutually agreed upon at the outset" is necessarily the right thing to do, and needs no further elaboration. Does it have something to do with ruby slippers? (Or silver shoes, for those who prefer the books?)

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    110. Re:Developers hate Agile too by Xest · · Score: 1

      "If he needs to know that, it means he doesn't trust me. If, however, he does trust me, he assigns a block of work X to be done by date Y and he can then essentially completely forget about me knowing I'll have it done by Y."

      So he gives you four weeks of work, I know you think you're perfect, but let's just assume for a minute that you're not, and that you're a normal human being like anyone else because mistakes happen and people do misunderstand sometimes, you go off and develop thinking you're doing it all right and you get it wrong and no one finds out until the end of the four weeks. What happens then? Is it okay that you just wasted four weeks of time when the mistake in understanding could've been picked up on and rectified in a day or two instead?

    111. Re:Developers hate Agile too by frank_adrian314159 · · Score: 1

      No, there are only agile "thought leaders" in your organization who will tell you (and your management) that planning anything up front is the wrong thing to do because acting on that planning will cause, rather than prevent, rework.

      In reality, anything having to do with process is all about balance and appropriateness of process to the environment. However, deviating from the high process priest's orthodoxy is often thought of as being anti- and will be severely punished.

      --
      That is all.
    112. Re:Developers hate Agile too by Yunzil · · Score: 1

      Or, you know, you could work out those problems with a design before you start.

    113. Re:Developers hate Agile too by pauljlucas · · Score: 1

      It should never happen in the first place. The specification should be crystal clear. Any ambiguities would have been worked out at the outset where I confirm that he really wants X.

      --
      If you reply, do so only to what I explicitly wrote. If I didn't write it, don't assume or infer it.
    114. Re:Developers hate Agile too by Yunzil · · Score: 1

      Sounds to me like you're just a crappy team player. How can you possibly not care about what the rest of your team is doing to the code that you're working on?!

      Because I know for a fact that the code I'm working on and the code they're working on don't affect each other at all.

    115. Re:Developers hate Agile too by yankeessuck · · Score: 1

      Two things:
      1. Do you work in a silo exclusively? I can't believe that others' work doesn't affect yours and your work doesn't affect others.
      2. Nothing in Agile says you can only raise an issue during the scrum. That's either a silly trumped up example or your co-workers are imbeciles.

    116. Re:Developers hate Agile too by yankeessuck · · Score: 1

      but you know what's real fun? that the guy who is supposed to handle the roadblock isn't even at the meeting. at the daily meeting you're supposed to find out then who the fuck might be the guy who's responsibility it would be to get that other team in some other ivory tower to remove the roadblock.

      Which is why somebody else is supposed to step up and assume their responsibility temporarily. It's the exact same thing that would happen in any other methodology.

    117. Re:Developers hate Agile too by Anonymous Coward · · Score: 0

      Everyone 'starts off' right. Then someone figures out they can talk about what they are working on for half the time. The meeting becomes 10 mins. Then 30 then an hour...

      When the leader should cut them off and say 'off line that, move on'.

      What, when, blockers, not why. Why is for a different meeting. You break any of these 3 rules and your screwed.

    118. Re:Developers hate Agile too by pclminion · · Score: 1

      Or, you know, you could work out those problems with a design before you start.

      Can you list the projects you've worked on where there was a complete, correct design at the beginning, and that design was then flawlessly executed? I would like to study and learn from such projects.

    119. Re:Developers hate Agile too by Anonymous Coward · · Score: 0

      To share that discussion with a wider audience, whom you might not have thought to communicate it with directly, but who might still have relevant knowledge.

      Seriously, that never happens to you?

    120. Re:Developers hate Agile too by The+PS3+Will+Fail · · Score: 1

      That was pretty funny.

    121. Re:Developers hate Agile too by 5plicer · · Score: 1

      If you truly couldn't care less about what your team is doing, then they aren't your team and/or you're not a team player.

      Or your company's definition of "team" is simply a collection of people working under the same manager, where each person might be working on completely unrelated systems. For instance, although I'm very social at work, I am the sole developer of one particular system. My system interacts with dozen of other systems, but no one working on those other systems in on my team. Do I think my team is "agile"? Hell no! But upper management seems to throw that word around a lot.

      --
      The bits on the bus go on and off... on and off... on and off...
    122. Re:Developers hate Agile too by Xest · · Score: 1

      ...and if it does, because we're talking about the real world here where ambiguities happen, and where there's not a single spec on earth that doesn't have at least some holes in it?

      We're not talking about your imagined fantasy world now, let's just pretend we're in the real world where it actually happens. How do you justify the 4 weeks loss of time on the project?

    123. Re:Developers hate Agile too by mcvos · · Score: 1

      ... but it also sounds kinda lonely.

      If you feel that way, then maybe software development isn't for you.

      You're wrong. I'm well-suited to software development because I care about the end result of the entire team, rather than just the bit that's been assigned to me. I'm well-suited to software development because I can work in a team. Teams are unavoidable in any major software project.

      I don't see it much differently that writing a book (in terms of the actual working environment). Presumably book authors do it because they love to write. The fact that it's a solitary job is irrelevant. I write code because I love to write code. I don't need my work environment to be a place for friends to socialize.

      So you write your own code on your own. That's perfectly fine of course. It can be a fun hobby, great for learning to code, you may do small projects on your own, maybe you have a wildly successful app. But large software projects are unavoidably a team effort. They're not like writing your own private book.

    124. Re:Developers hate Agile too by angel'o'sphere · · Score: 1

      Agile methods exist since 20 years.

      When they got established there where hundrets of studies that show that being more agile helps to be more successful.

      Meanwhile "agile" is mainstream. Basically everyone is rather doing agile development than waterfall or V-model.

      If you can not find those studies you are bad at google fu ...

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    125. Re:Developers hate Agile too by goose-incarnated · · Score: 1

      Agile methods exist since 20 years.

      When they got established there where hundrets of studies that show that being more agile helps to be more successful.

      There are no studies that support that statement, which is what I originally said.

      --
      I'm a minority race. Save your vitriol for white people.
    126. Re:Developers hate Agile too by Anonymous Coward · · Score: 0

      So true...

      These stand-ups just feel weird and childish. It is like being back at school or something and creates the feel of a lack of trust.

      It is way better to have informal or even formal meetings with the people that are really involved in a specific matter. Not everyone has to know everything.
      Certain kinds of people just get confused by the influx of information, and they suddenly feel responsible for things they are not.

      Sometimes it is very important to keep people/developers out of the loop, not because they are incompetent, but because you want to avoid distractions and keep them focused on the current task.

      In bigger projects not everybody might be on site or even in the same time zone, making things even more complicated.

      I really like some core ideas of XP Programming:
      (1) code and design reviews
      (2) pair programming
      (3) test driven design/implementation (Where it works, it usually works wonders.)
      (4) refactoring (in a sensible way of course)

      But I believe in proper planning (vision/product definition, resources, architecture, design). Nothing has to be set in stone, but good planning is crucial to success.

      Another crucial factor is communication and documentation. Important things have to be communicated in a transparent way and have to be documented. My preferred tools for this are mailing lists and wikis. You do not want "holy knowledge" in the hand of a few gurus. If only one guy understands the build system and the others start to rely on him, make him document the build system and start spreading the responsibility throughout the team again.
      The same is true for any remotely important component, including release management, packaging, QA and other processes.

      While I do not believe in design by committee, any designer/architect has to justify himself, by creating proper documents and having good arguments.
      This also helps a lot if decisions are questioned in a later stage. If done correctly there is still a complete backlog in a wiki or mailing list, that describes the thought process. This reduces "blaming", enforces real improvement over simple change and helps to keep track of old mistakes.

      Post mortem documents are real valuable in this context.

      While I am not a general fan of military I believe in organisation. This means having clear roles and responsibilities and a proper general organisation of things like working place environment, equipment, vacation, illness, salaries, promotions, career tracks.... IT companies have a tendency to lack in these areas.

      Last but not least I strongly believe in people. With the wrong people and without team spirit one can forget everything written above and one will happily fail.

    127. Re:Developers hate Agile too by Anonymous Coward · · Score: 0

      Absolutely !!

      A good team player in soccer sticks to his role and does to run back and forth over the complete field.

      While you have a captain and trainer who keep a general overview and everybody has his responsibilities and players next to him, the keeper does not interfere with the attack.

      Building software is of enormous complexity, which means normal developers never ever should have to care about the big picture too much. It will destroy their focus.
      This is why you hopefully have an excellent architect who coordinates the technical architecture/issues and a good product manager who coordinates the business needs.

      If your (backend C++) developer has to worry about the UI and customer needs something is going seriously wrong.

    128. Re:Developers hate Agile too by Zenin · · Score: 1

      Agile isn't a solution to the common problem of ignorant, mediocre management.

      Agile empowers good and great people to perform at their best, consistently, even establishing a new benchmark for best. Agile processes are systems by strong people for strong people.

      What Agile does not do, is work well with mediocre and/or defective people. It can't solve staffing problems, no matter where in the business food chain they are found (most often at the top).

      --
      My /. uid is better then your /. uid
    129. Re:Developers hate Agile too by Zenin · · Score: 1

      And yet the reality is exactly the opposite: Agile methods are by strong people, for strong people. It simply doesn't work with fuckups (be they drone or Rambo).

      But you are right, good devs figured out processes that work. And like any good dev, they refined them over time and with insight from others. Eventually distilling the process into a methodology...and they called it Agile.

      That's literally where all this came from: Great devs, using skill, experience, and creativity, to come up with the best ways to solve very common problem found in very similar situations. And then field testing and refining those solutions into a science. The fact is projects, people, companies are much more typical then they are unique. They have the same types of people faced with the same types of problems. Only a bad dev would try and reinvent the wheel for each and every situation. A good dev reuses as much as they possibly can, be it tools, patterns, or processes.

      -

      And there are reasons the scrum is firmly at the same exact time, every single day. A big one is directly addressing your concern about interruption and loss of context. When it's held at a reliable time it's hardly any more of an interruption or loss of context then is the sun rising to start the day.

      Yes, this does mean that developers who have become accustom to waking up whenever they feel like it, showing up (or not) at whatever time they like, operating entirely within the vacuum of reality that is the fleeting whims of their own mind and theirs alone. It does mean such developers are not going to take kindly to Agile.

      Yet the fact is solid team work is a incredibly huge multiplier, far outweighing even the best "Rambos", and you can't have teamwork with people who don't show up. So I'll take a good developer who has good team work skills over a great developer with no team work skills any day.

      --
      My /. uid is better then your /. uid
    130. Re:Developers hate Agile too by Zenin · · Score: 1

      Why are documentation, training, qa, etc considered "downstream"?

      You might hear the terms "scrummerfall" or "waterscrum" to describe your example, all boiling down to trying to wedge Scrum/Agile into a familiar existing process (typically some flavor of waterfall). It's an anti-pattern, a red flag. You're right, it won't work. But it's worse then that because it adopts the worst of everything and the best of nothing...a total disaster of a process.

      You need to rethink the entire SDLC, break away from the idea that these are serialized phases. There are ways of doing most all of this in parallel. For example at the start of a sprint QA can be fleshing out the requirements by working out all the what-ifs and edge cases, which (especially given a good test framework) can be quickly transformed into unit tests. They won't pass (little if anything is implemented yet), and that's fine.

      By the middle of the sprint the developers should have most of the core functionality complete and will be tackling the backlog of unit tests QA has created, while the QA people are transitioning to ad-hoc testing.

      --

      Similarly there's a reason why you don't start the sprint by immediately putting the entire sprint backlog into "in progress". You pull off as few as possible, 1 if you can, in priority order. And stick with it until it's Done, before picking up the next. A not-to-subtle reason for this is because for those things that must be serialized (eg, final screenshots for documentation/training), they can get to work earlier.

      If your team has 10 items to do in a sprint and has all ten "in progress" at once, the sprint is likely doomed. Along with the above problem of work that must be serialized, you have also greatly increased the risk because now everything must work or likely nothing can be shipped. If however, you got the top 8 done and weren't able to start the last 2...you still have 8 cleanly shippable items and the last 2 can just move to the top of the next sprint. No code needs to be pulled out, no docs rewritten, etc, because those 2 never happened.

      --
      My /. uid is better then your /. uid
    131. Re:Developers hate Agile too by Anonymous Coward · · Score: 0

      >> Developers are not limited to 1 minute but to three sentences.

      This shows why stand-ups can fail horribly. Giving people 3 sentences (and none more) and strictly enforcing this, everyday, creates an atmosphere if disrespect and hierarchy.

      It does far more harm then good - especially in regard to team building and people.

      "I did mostly bug fixing and and I will do a little bit of research today about the new feature. I fixed two p1s and one urgent p0 yesterday. I also have to do 6 reviews for Michael today."

      And I will here things like that 10 times in a row for 3 minutes. So great.

      Meanwhile I feel like a school boy who has to present his homework to the teacher/class. I thought I was out of school for 20 years, but apparently I am wrong. Who do I have to ask if I need to go to the toilet? What do I have to do to get an A?

    132. Re:Developers hate Agile too by goose-incarnated · · Score: 1

      And yet the reality is exactly the opposite: Agile methods are by strong people, for strong people.

      That wasn't my experience of agile... at all!? The most memorable one was when I was part of a dev-team on a postgrad course. Team leader insisted on agile, and then insisted that the (relatively tiny) project be done only when we're all together in the same room (we lived about 60km apart from each other in a rough triangle). He then insisted that we meet and work on the project (tiny one for postgrad module) two hours a day every day after work, with sixteen hours each weekend over a two month period and insisted that no telecommuting would be allowed. I left the team (and halted my MS temporarily); last I heard they actually did stick to the proposed schedule but failed the course anyway.

      My other experiences with agile development (bear in mind that I approached this as I approached most new things: "Hey, Cool!") were mostly the same: the lack of even basic planning meant that work that was done was frequently reworked to the point of being unrecognisable as the original code; IOW, code was effectively thrown away, and not due to changing requirements but due to changes in the project that were forced due to a lack of a basic design.

      It simply doesn't work with fuckups (be they drone or Rambo).

      In my experience, most processes don't work well with fuckups.

      But you are right, good devs figured out processes that work. And like any good dev, they refined them over time and with insight from others. Eventually distilling the process into a methodology...and they called it Agile.

      I'm not so sure that that was the process that was followed: I wrote up the majority of this paper over here, and my take is that the smaller groups/companies are flexible enough to try new things. If they die trying then there are still numerous other smaller groups that will try something else. A few generations of this leaves behind only what works (AKA agile). Thus far this is in line with what you say above.

      But this evolutionary action only works for small groups (see the references in the above link: one of them finds that agile performs as advertised only for tiny projects); large corporates and/or projects have to have the project designed upfront with at least enough detail to parcel out work to different subgroups. If they started developing without an overall architecture planned they'd mostly just be spinning wheels. For most human endeavors (whether building a house, bridge, automobile or even abstract things like 3D animated movies), a high-level vision is needed, and a high-level architecture. The details are filled in later. Why then do we believe that software, which encompasses the most complex things that humans have ever built, needs less design?

      That's literally where all this came from: Great devs, using skill, experience, and creativity, to come up with the best ways to solve very common problem found in very similar situations. And then field testing and refining those solutions into a science.

      I beg to disagree on this point: IT (and development) is not yet a science. There's a measurement for this that I forget (scales that measures how close a discipline is to being a science, that is), it was a long time ago that I did basic science reading (The stuff I've been doing the last seven years has not been basic).

      The fact is projects, people, companies are much more typical then they are unique. They have the same types of people faced with the same types of problems. Only a bad dev would try and reinvent the wheel for each and every situation. A good dev reuses as much as they possibly can, be it tools, patterns, or processes.

      -

      We agree on this :)

      And there are reasons th

      --
      I'm a minority race. Save your vitriol for white people.
    133. Re:Developers hate Agile too by angel'o'sphere · · Score: 1

      There are hundreds of studies that support this statement. That is what I original said ;D

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    134. Re:Developers hate Agile too by Flammon · · Score: 1

      You've made two wrong assumptions.

      1. Dailies is a Scrum thing, don't mistake it for Agile.
      2. Where in Scrum does it say 'wait until dailies to communicate'?
    135. Re:Developers hate Agile too by goose-incarnated · · Score: 1

      You've made two wrong assumptions.

      1. Dailies is a Scrum thing, don't mistake it for Agile.
      2. Where in Scrum does it say 'wait until dailies to communicate'?

      Where in my comment do I say "wait until dailies to communicate"? I asked "what's the point of dailies if you're already communicating?"

      Honestly, the biggest problem with agile is dealing with the fundamentalists; much like creationists, they've got specific arguments that they've been rehearsing with the rest of the flock, like the kneejerk response I quoted above. The other similarity that agile has with jehovas witnesses and other nutcases is when you point to specific instances of it not working. Rather than concede that it doesn't work, they just shift the blame to the practitioner.

      Ever consider that perhaps the smart folk avoid the agile folk simply because they don't want to talk religion?

      --
      I'm a minority race. Save your vitriol for white people.
    136. Re:Developers hate Agile too by Flammon · · Score: 1

      Ahh, then I assumed wrong. I misinterpreted your question as rhetorical. I agree with what you're saying.

      Isn't it ironic how the hard core Agile folks aren't very agile when it comes to the Agile methodology.

    137. Re:Developers hate Agile too by Zenin · · Score: 1

      Being anti-agile does not necessarily make one a lazy ill-disciplined developer. A dev could be anti-agile because... well, perhaps he resents being treated like a child,

      If the dev considers collaborating well with others, taking ownership and responsibility of their own talents and shortcomings, being accountable to their team mates. If a dev considers such things to be akin to "treated like a child", perhaps the dev is still a child.

      The fact is a lot of developers got into software because they could retreat into their own cave and not have to grow up. Not have to learn to work and play well with others.

      Waterfall et al are all about micromanaging a schoolyard full of undisciplined developers. Agile is for adults, it requires a strong sense of personal responsibility that frankly a lot of devs just don't have.

      --

      The fact is Agile is the polar opposite of micromanaging. And that is why a lot of devs don't like, they can't stand the responsibility.

      --
      My /. uid is better then your /. uid
    138. Re:Developers hate Agile too by goose-incarnated · · Score: 1

      Being anti-agile does not necessarily make one a lazy ill-disciplined developer. A dev could be anti-agile because... well, perhaps he resents being treated like a child,

      If the dev considers collaborating well with others, taking ownership and responsibility of their own talents and shortcomings, being accountable to their team mates. If a dev considers such things to be akin to "treated like a child", perhaps the dev is still a child.

      The fact is a lot of developers got into software because they could retreat into their own cave and not have to grow up. Not have to learn to work and play well with others.

      Waterfall et al are all about micromanaging a schoolyard full of undisciplined developers. Agile is for adults, it requires a strong sense of personal responsibility that frankly a lot of devs just don't have.

      --

      The fact is Agile is the polar opposite of micromanaging. And that is why a lot of devs don't like, they can't stand the responsibility.

      To be honest, in the twenty+ or so agile projects I've been on, it's only been the poor devs who like it. It allows them to spin wheels for weeks, knowing that any crap they write (magic numbers, strange assumptions about runtime, no error-handling, etc) will in all probability get thrown away anyway.

      Re micromanaging: Devs who take full responsibility for what they do won't be micromanaged. Those who like CYA prefer it, as it gives them an out. THe sad fact remains that, in the decade or more since agile became popular, software failure rates have gone up, not down. No matter how vehemently you argue that it's better, the fact that it's correlated with failure still remains.

      This thread is old, so I probably won't be replying again.

      --
      I'm a minority race. Save your vitriol for white people.
  10. A new Highway by my house by Anonymous Coward · · Score: 0

    A new highway was constructed by my house and most of the exits existed but they were not open because there was still work to be done to finish the ramp. Lots of drivers were anxious to have the ramps completed and have the highway open. I guess all engineering projects frustrate users and make them anxious.

  11. The problem I have with Agile by Anonymous Coward · · Score: 0

    Is getting any work at all out of the devs that use it. They seem to spend 50% of their time in meetings - scrum meetings, planning meetings, grooming meetings and that's just internally. The other 50% of the time seems to be finding how long they can spend to spread one simple thing out over the sprint, and of course once that's out the way _nothing_ else happens until the next one begins. The upshot of all this is that actually getting anything done is like steering a supertanker from the next planet.

    So I've come to understand "agile" as meaning "waste nearly all of your time doing meta-work instead of actual work" - the sooner this management fad is replaced by the next one, the better.

    I'm sure its proponents will now immediately wheel out the old "no true Scotsman" argument.

    1. Re:The problem I have with Agile by Lunix+Nutcase · · Score: 0

      Sounds like you simply have lazy people who would do the same regardless of the methodology they use. They just use Agile as a convenient excuse to be even more lazy than they normally would be. Maybe you need to fire them and hire people with a decent work ethic?

    2. Re:The problem I have with Agile by Anonymous Coward · · Score: 1

      From what I have seen they're not lazy, the amount of meta-work is high, and no developer likes doing that kind of paperwork when they could be programming instead. What happened is that they made an earnest attempt to properly follow the methodologies that were mandated by upper management, and this is the result we got. Not the brightest bunch, really.

    3. Re:The problem I have with Agile by Anonymous Coward · · Score: 4, Insightful

      What you're failing to recognise is that there is little incentive to work beyond what you're told to do. I once worked on a product that always hit its dev targets on time, every release contained additional features that were not asked for (but were gratefully received by the clients), and every developer knew what they were doing now, and what they'd be doing in the near future. We had pride in what we were creating, and then it went agile.

      Suddenly long term planning went out the window, and the dev team was forced into working in a reactive fashion, rather than a proactive one. Code became buggy, mainly due to the product owner not wanting to expend effort on things like 'testing' and 'documentation'. Any developer problems that needed to be fixed (you know, those important architectural refactors that are needed every so often), would be put into tickets, and would then be buried by the product owner so far down the backlog that they'd never be found again. In the end, if you had some spare time at the end of the sprint, you'd spend that time looking for a new job, rather than worrying about the complete and total mess the codebase had become.

      Agile f**king sucks big time. You have a single point of failure, and that point of failure is the product owner. If your product owner is the best software engineer that has ever existed, then agile might work for you. If however your product owner is human, then it's likely your dev team would do better by actually making the decisions as a team. Agile does not promote teamwork, it pays lip service to it, and in the process, it removes any incentive for the team to work as a team.

    4. Re:The problem I have with Agile by Lunix+Nutcase · · Score: 0

      No, they're definitely lazy. Agile does not require wasting more than half your day jacking around.

    5. Re:The problem I have with Agile by Kazoo+the+Clown · · Score: 1

      No, don't be in such a hurry to move on, I'm afraid the next management fad will suck at least as much.

    6. Re:The problem I have with Agile by Anonymous Coward · · Score: 0

      Ah, the "no true scotsman" argument! Agile does not "require" it, it's implicit in the methodology. I can see posts from a dev further down (no relation) who hates Agile for this very reason - too much time spent faffing about with buzzwordy crap, not enough time left to do real work.

    7. Re:The problem I have with Agile by barjam · · Score: 0

      You describe a bad team and bad management. No methodology will help there.

    8. Re:The problem I have with Agile by Anonymous Coward · · Score: 1

      "Then what you were doing wasn't agile". Yes, I know that is getting said a lot and dismissed, but it is completely true.

      Agile REQUIRES process. It is just a different process than traditional SDLC. You replace some process controls with other controls.

      Agile REQUIRES automated tests, and really TDD or BDD. This was true back with the original Xtreme Programming book from Kent Beck, and continues to be true. If you do not have a full suite of automated tests, both unit tests (mstest, nunit, etc) and integration tests (selenium, etc), then you are NOT DOING AGILE. The product owner doesn't get to "decide" this.

      Did you pair program?
      Did you frequently refactor?
      Did your refactor only areas of code you were working in to support the next feature?
      Did you offer insight and other options on features to the product owner?
      Did you actually do use cases and usability testing with real users, not just product owners?
      Did you do that testing every iteration?
      Did you have a shippable product after every iteration?
      Did you have build automation setup to the point of continuous deployment?

      Did you really do agile?

      So many places just toss out the whole SDLC and call it "agile". It is not. In your specific case, just the testing comment alone tells me that you were not actually doing agile.

      Agile has formal process. There are some differences in the process details between scrum, kanban, lean, etc. However, they all have them.

    9. Re:The problem I have with Agile by Anonymous Coward · · Score: 0

      What you're failing to recognize is that there is little incentive to work beyond what you're told to do.

      You're right, agile probably won't work well in an environment where people don't care about the quality of the product they're delivering. I don't know that BDUF actually works better than this, but I do know that agile won't work.

      I feel bad for your experience moving to agile--but it sounds like the real problem is that you went from a good management structure to a really crappy one. The fact that you weren't given time by your product owner to do the things you felt needed to be done is a huge red flag, but the same thing could just as easily happen with more traditional processes if you're manager started micromanaging.

      If however your product owner is human, then it's likely your dev team would do better by actually making the decisions as a team.

      I am not aware of anyone who would deny this. If your management thinks agile means that you don't make decisions as a team, then you're going to have a hard time. If you're product owner thinks that title makes their opinion on priority the only one that matters, then you're going to run into huge problems. I would argue, however, that the potential for those kinds of problems is not unique to agile methodologies, and that if you can get people to really buy off on the agile manifesto, you're unlikely to have that particular problem.

      This isn't to say that agile teams won't have any problems--making software is fundamentally a social problem, so it includes all the messiness that real social problems have (see xkcd 592).

    10. Re:The problem I have with Agile by Anonymous Coward · · Score: 0

      Code became buggy, mainly due to the product owner not wanting to expend effort on things like 'testing' and 'documentation'.

      testing and documentation are not a user story in itself, but they are part of the implementation of every user story. you must include writing tests+docs and codereviews etc in your estimations. same goes for architecture.

      also, where is the lead role on the tech side of things?

    11. Re:The problem I have with Agile by booch · · Score: 1

      You have a single point of failure, and that point of failure is the product owner.

      I'm pretty sure the product owner will be a serious point of failure no matter what methodology you use. I've been on a couple Agile teams with bad product owners/managers, and felt like we succeeded despite them.

      your dev team would do better by actually making the decisions as a team. Agile does not promote teamwork, it pays lip service to it, and in the process, it removes any incentive for the team to work as a team.

      Wow. That's weird. The Agile practices of teamwork, team room, pair programming, and collective ownership would seem to be very much about making a team cohesive and empowered. And retrospectives (to me the most important part of Agile) should have been a place to address such problems. If you were not using those tools, then I don't think you can blame the tool set.

      --
      Software sucks. Open Source sucks less.
    12. Re:The problem I have with Agile by Anonymous Coward · · Score: 0

      So people don't work beyond what they're told to do, but you still delivered freebie features that your customers didn't ask for? People used to take pride in their work in the Good Old Days, but they don't now?

      Sounds like your cognitive dissonance may be covering something.

  12. christianity, and most religious organi by Anonymous Coward · · Score: 0

    Communism is awesome, but there just hasn't been a real Communist state....
    Christianity is awesome, but the church isn't true Christianity
    Democracy is awesome, but we just need more to be a true democracy...

  13. doesn't work by nten · · Score: 0, Flamebait

    "Proper software engineering" doesn't work. Code that actually does work is invariably ugly and violates any best practices you can possibly imagine. Code that follows those best practices and whatever the current paradigm fad is, are over budget, over schedule, and even though they incorporate all the correct patterns for abstraction and maintainability, this results in such a huge volume of excess sloc, that it is less maintainable as a function of sheer size. You don't need process or patterns, or even documentation (though it would be nice). The only thing you need are good engineers that actually communicate with each other, and if you don't have that, then no amount of process or patterns or paradigms or practices can save you. I should note however, that if you just want to generate billable hours then you absolutely want every last one of those Ps and mediocre (but not bad) engineers.

    --
    refactor the law, its bloated, confusing and unmaintainable.
    1. Re:doesn't work by Anonymous Coward · · Score: 5, Interesting

      "Proper software engineering" does work, its called "Systems Engineering", is well established and successfully used for large-scale mission-critical projects in almost every industry outside of IT - which seems to be blind to anything invented outside of IT.

      Systems engineering has its own professional accreditation organization: http://www.incose.org/practice/whatissystemseng.aspx

    2. Re:doesn't work by Nerdfest · · Score: 4, Insightful

      As TFA points out, that always works fine when your requirements are *all* known an are completely static. That rarely happens in most fields. Even in the ones where it does it's usually just management having the balls to say "No, you can give us the next bunch of additions and changes when this is delivered, we agreed on that". It frequently ends up delivering something less than useful.

    3. Re:doesn't work by ebno-10db · · Score: 5, Interesting

      "Proper software engineering" doesn't work.

      You're right, but you're going to the other extreme. The problem with all methodologies, or processes, or whatever today's buzzword is, is that too many people want to practice them in their purest form. Excessive zeal in using any one approach is the enemy of getting things done.

      On a sufficiently large project, some kind of upfront design is necessary. Spending too much time on it or going into too much detail is a waste though. Once you start to implement things, you'll see what was overlooked or why some things won't work as planned. If you insist on spinning back every little change to a monstrously detailed Master Design Document, you'll move at a snail's pace. As much as I hate the buzzword "design patterns", some pattern is highly desirable. Don't get bent out of shape though when someone has a good reason for occasionally breaking that pattern or, as you say, you'll wind up with 500 SLOC's to add 2+2 in the approved manner.

      Lastly, I agree that there is no substitute for good engineers who actually talk to and work with each other. Also don't require that every 2 bit decision they make amongst themselves has to be cleared, or even communicated, to the highest levels. If you don't trust those people to make intelligent decisions (including about when things do have to be passed up) then you've either got the wrong people or a micromanagement fetish. Without good people you'll never get anything decent done, but with good people you still need some kind of organization.

      The problem the article refers to about an upfront design being ironclad promises is tough. Some customers will work with you, and others will get their lawyers and "systems" people to waste your time complaining about every discrepancy, without regard to how important it is. Admittedly bad vendors will try and screw their customers with "that doesn't matter" to excuse every screw-up and bit of laziness. For that reason I much prefer working on in-house projects, where "sure we could do exactly what we planned" gets balanced with the cost and other tradeoffs.

      The worst example of those problems is defense projects. As someone I used to work with said: In defense everything has to meet spec, but it doesn't have to work. In the commercial world specs are flexible, but it has to work.

      If you've ever worked in that atmosphere you'll understand why every defense project costs a trillion dollars. There is absolutely no willingness to make tradeoffs as the design progresses and you find out what's practical and necessary and what's not. I'm not talking about meeting difficult requirements if they serve a purpose (that's what you're paid for) but being unwilling to compromise on any spec that somebody at the beginning of the project pulled out of their posterior and obviously doesn't need to be so stringent. An elephant is a mouse built to government specifications. Ok, you can get such things changed, but it requires 10 hours from program managers for every hour of engineering. Conversely, don't even think about offering a feature or capability that will be useful and easy to implement but is not in the spec. They'll just start writing additional specs to define it and screw you by insisting you meet those.

      As you might imagine, I'm very happy to be back in the commercial world.

    4. Re:doesn't work by Dantu · · Score: 4, Interesting

      "Proper software engineering" doesn't work.

      As a Software Engineer in the formal sense (Engineering is regulated profession here in Canada) I can assure you that "proper software engineering" works great - and it's often Agile. Software Engineering is just like any other type of engineering, you have to pick the right tool for the job. That said, a lot of under-qualified people go around claiming to be Software Engineers and think that generating piles of paperwork will make their crap code (and crappier designs) smell better. They are just as bad as these people

    5. Re:doesn't work by dbIII · · Score: 1

      Then your "best practices" are probably wrong and just a poor analogy of what software developers think physical engineering is about. Engineers didn't leap onto CAD like a drowning man onto a liferaft when it emerged because it was a better way to draw, we did it because it was a better way to handle changes. When one portion of a design changes others often have to change to fit, which is very different from the illusion that portions of a design have to be set in stone and later portions warped to fit them no matter the consequences. Until the thing is built or the software is shipped there are many options and care should be taken that artificial administrative constraints don't remove too many of them.

    6. Re:doesn't work by ebno-10db · · Score: 1

      "Proper software engineering" does work, its called "Systems Engineering", is well established and successfully used for large-scale mission-critical projects in almost every industry outside of IT - which seems to be blind to anything invented outside of IT.

      Systems engineering has its own professional accreditation organization: http://www.incose.org/practice/whatissystemseng.aspx

      True, but the problem is when the Great Plan becomes too rigid. It's necessary to change it as warranted. This actually seems to be easier in hardware, when you say "sure I could get that last 1dB of dynamic range you wanted, but it'll double the price and power consumption", or "yes we could put that function in module X as planned, but it'd be half the cost and complexity if we move it to module Y". Good systems engineers know this. Of course the headache of being a systems engineer is fighting with the implementers - half the changes or spec relaxations they ask for make sense, and the other half are about laziness or incompetence.

      I do hardware and software in a 50/50 split, so I see both sides. Hardware is more easily understood to have physical constraints, but every thing in software that isn't exactly as planned is seen as a failure of the implementers.

    7. Re:doesn't work by Anonymous Coward · · Score: 0

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

      This is my evidence that "proper software engineering" *can* work. The fact that most businesses (and their customers) are willing to save money by accepting less from their software is not the fault of software engineering. We could and did build buildings much faster than we do today, if you are willing to make more mistakes and pay more in human lives. If established industries and their customers began demanding software at that higher standard and were willing to pay for it like it was real engineering, then maybe it would happen more often.

    8. Re:doesn't work by MichaelSmith · · Score: 5, Insightful

      The problem with Agile is that it gives too much freedom to the customer to change their mind late in the project and make the developers do it all over again.

    9. Re:doesn't work by ebno-10db · · Score: 4, Interesting

      Until the thing is built or the software is shipped there are many options and care should be taken that artificial administrative constraints don't remove too many of them.

      Exactly, and as someone who does both hardware and software I can tell you that that's better understood by Whoever Controls The Great Spec in hardware than in software. Hardware is understood to have physical constraints, so not every change is seen as the result of a screw-up. It's a mentality. I'll also admit that there is a tendency to get sloppy in software specs because it is easier to make changes. Hardware, with the need to order materials, have things fabbed, tape out a chip, whatever, imposes a certain discipline that's lacking when you know you can change the source code at anytime. Being both, I'm not saying this is because hardware engineers are virtuous and software engineers are sloppy, but because engineers are human (at least some of them).

    10. Re:doesn't work by Anonymous Coward · · Score: 2, Insightful

      that's the point. responding to change, quickly. you're saying that the goal of agile is the problem of agile.

    11. Re:doesn't work by Anonymous Coward · · Score: 0

      'proper software engineering' is subjective. different methodologies should be used for different types of software. agile has a place in web development.

    12. Re:doesn't work by Anonymous Coward · · Score: 1

      you imply changing their mind late in the project is a bad thing? agile at least gives them an OPTION.

    13. Re:doesn't work by ebno-10db · · Score: 1

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

      This is my evidence that "proper software engineering" *can* work. The fact that most businesses (and their customers) are willing to save money by accepting less from their software is not the fault of software engineering. We could and did build buildings much faster than we do today, if you are willing to make more mistakes and pay more in human lives. If established industries and their customers began demanding software at that higher standard and were willing to pay for it like it was real engineering, then maybe it would happen more often.

      Impressive stuff, and not unique to the space shuttle. Fly-by-wire systems are the same way. You're talking DO-178B Level A stuff. It works, and it's very very expensive. If it was only 10x the cost of normal software development I'd be amazed. I agree that way too much software is poorly planned and implemented crap, and part of the reason is that nobody wants realistic cost estimates or to make the difficult decisions about what it's supposed to do up-front. But what you're talking about is aerospace quality. You couldn't afford a car or even a dishwasher made to those standards.

    14. Re:doesn't work by AuMatar · · Score: 5, Insightful

      It frequently is. It doesn't matter what methodology you use- if you change major features/priorities at the last minute it will cost multiple times as much. Yet frequently customers expect it to be cheap because "we're agile". And by accepting that change will happen you don't push the customers to make important decisions early, ensuring that major changes will happen, instead of just being possible.

      --
      I still have more fans than freaks. WTF is wrong with you people?
    15. Re:doesn't work by Shirgall · · Score: 2

      The customer has just as much of a right to experiment and be wrong about things as the developers do, but they can be trusted to say what is most important to them at the time.

      The theory is that if you are always delivering what is most valuable as fast as possible, you are getting a better result in the short run, and will probably be just as good as rigorous design up front in the long term.

    16. Re:doesn't work by donscarletti · · Score: 2

      260 people maintaining 420,000 lines of code, written to precise externally provided specifications that change once every few years.

      This is fine for NASA, but if you want something that does roughly what you need before your competitors come up with something better, you'd better find some brogrammers.

      --
      When Argumentum ad Hominem falls short, try Argumentum ad Matrem
    17. Re:doesn't work by Anonymous Coward · · Score: 3, Interesting

      You've fallen into the trap of using their terminology. As soon as 'the problem' is defined in terms of 'upfront design', you've already lost half the ideological battle.

      'The problem' (with methodology) is that people want to avoid the difficult work of thinking hard about the business/customer's problem and coming up with solutions that meet all their needs. But there isn't a substitute for thinking hard about the problem and almost certainly never will be.

      The earlier you do that hard thinking about the customer's problems that you are trying to solve the cheaper, faster and better quality the result will be.
      Cheaper? Yes, because bugfixing that is done later in the project is a lot more expensive (as numerous software engineering studies have shown)
      Faster? Yes, because there's less rework. (Also, since there is usually a time = money equivalency, you can't have it done cheap unless it is also done fast.
      Higher quality? Yes, because you don't just randomly stumble across quality. Good design trumps bad design every single time.

      Agile causes anxiety in the clients because the first thing you do after the requirements have been gathered is to ask the client to prioritise them. Naturally the client is going to start imagining worst case scenarios, where the developers can't do everything they've been asked to do*, and so they push back, saying that everything is important, and then the developers want to know what is the most importantest (sic). The solution is to do technical prioritisation. If I go to Honda to tell them how to build my car, and then tell them that the tyres and steering wheel are the most important things to me so they should start building those first, Honda will politely tell me to let the experts do their thing. By analogy the whole thing of making the clients prioritise the features really only works when you've already got a car, and they're choosing what options to add (read as: additional features after you've done everything that was on the initial requirements)

      *Not unreasonable, given that even the Agile evangelists say that 60% of software projects fail.**
      **Before Agile became the dominant methodology the failure rate was widely reported as 30%.***
      ***Make of this what you will.

      Agile can also cause anxiety in the customer for other reasons. Imagine if you wanted a wooden chair and your developers all ran into the forest and each started madly chopping down a different tree. When you tell them the particular type of lumber you want it to be made out of they tell you to bog off because they're not at that stage of the project yet. Of course, that's not actually what happens. In fact everyone is chopping madly into the same tree (but all at different heights ... )

      Disclaimer: none of the Agile projects I've ever been on have failed. But then neither have any of the waterfall or RAD projects, or even those with a null or ad hoc methodology. The common denominator for success is not the methodology.
       

    18. Re:doesn't work by Forever+Wondering · · Score: 1

      Conversely, don't even think about offering a feature or capability that will be useful and easy to implement but is not in the spec. They'll just start writing additional specs to define it and screw you by insisting you meet those.

      Amen.

      Once upon a time [20+ years ago] the Air Force wanted "some Macs + software [written by somebody with an "in"]". But, they had to open it up to the RFQ process. They added a raft of requirements custom tailored to this "insider" system to try to guarantee that no other combination could match the RFQ.

      However, the company I worked for met all the specs using a completely different system, even adding a "sweetener" such as you describe. The Air Force made it a requirement of my company, but not of the original competitor.

      The Air Force awarded the contract to the original bidder. That is, until the GSA reviewed things and ordered the Air Force to award it to the company I was working for [we had the better system]. Rather than comply, the Air Force cancelled the entire project.

      That was my first exposure to government contracting (and my last ;-)

      --
      Like a good neighbor, fsck is there ...
    19. Re:doesn't work by ebno-10db · · Score: 1

      You've fallen into the trap of using their terminology. As soon as 'the problem' is defined in terms of 'upfront design', you've already lost half the ideological battle.

      'The problem' (with methodology) is that people want to avoid the difficult work of thinking hard about the business/customer's problem and coming up with solutions that meet all their needs. But there isn't a substitute for thinking hard about the problem and almost certainly never will be.

      We're getting buzzwordy here. To me "thinking hard about the business/customer's problem and coming up with solutions that meet all their needs" is the first and most important part of the upfront design, though I could care less what you call it.

    20. Re:doesn't work by Assmasher · · Score: 1

      Hmmm... Didn't seem like a problem when I was at SoftImage and we had several million lines of code and 80 devs. We had to adapt to changing market conditions, we had to get out ahead of our competitors, and we had to produce quality software.

      That being said, we burned out a few QA guys here and there ;)...

      --
      Loading...
    21. Re:doesn't work by hedwards · · Score: 1

      Bullshit.

      If it's over budget when engineered, it means that you fucked up the budget in the first place. The difference between properly engineered and the ugly software that violates any possible best practices you can imagine, is that with properly engineered code you have more of the cost up front, rather than hiding it in trying to figure out what things like "I'm not sure why this is here, but the guys who wrote this quit years ago and removing it breaks the software."

      You can never ensure 100% perfect code, but the best practices didn't get to be best practices arbitrarily, they address common problems that should be avoided. Gunky code is invariably, unstable and insecure code.

    22. Re:doesn't work by hedwards · · Score: 2

      If you've properly engineered the code, then it will handle additions to the code base with much more ease than if you hadn't bothered to engineer it in the first place.

      And yes, it's going to be a PITA at times, but the alternative is to do a complete rewrite from time to time when the code becomes an unmaintainable mess.

    23. Re:doesn't work by Darinbob · · Score: 1

      Then keep the customer out of it, when you can. In many industries the customer rarely gets a chance to intervene. They may suggest features for the next release if they're a big customer but the only time when I've seen actual end-user customers involved with design is with contracting firms. Often instead the product may have many actual customers, from ten to one million, and so you have to rely on product managers to come up with the requirements. And if you have a product manager you have a lot of ability to push back if the requirements are changing.

      Overall I get the impression that Agile works best with rapidly changing stuff that is pushed out to customers constantly, like a web site, but it can fall down when used with something that needs a more extensive design before starting. Agile also doesn't work well in industries that have strict regulatory control on processes, such as where every bug, fix, and change must be documented and filed. Now some of the ideas that Agile borrows are great, but they can be used outside of Agile (ie, test driven development).

    24. Re:doesn't work by hedwards · · Score: 1

      A lot of these projects are created to ensure that the contractors are still in business in case they're needed. The stupid Boeing fuel tanker thing from a few years back wasn't because the USAF needed tankers, it was to make sure that the capability to make them was retained in case they needed something similar in the future.

      In that case, Boeing was fine, but it was more about keeping them happy.

    25. Re:doesn't work by ArsonSmith · · Score: 4, Insightful

      ...but they can be trusted to say what is most important to them at the time.

      No they can't. If you are delivering to customer requests you will always be a follower and never succeed. You need to anticipate what the customers need. As with the I guess made up quote attributed to Henry Ford, "If I listened to my customers I'd have been trying to make faster horses." Whether he said it or not, the statement is true. Customers know what they have and just want it to be faster/better/etc you need to find out what they really need.

      --
      Paying taxes to buy civilization is like paying a hooker to buy love.
    26. Re:doesn't work by Skreems · · Score: 1

      The problem with Agile is that it gives too much freedom to the customer to change their mind late in the project and make the developers do it all over again.

      Call me crazy, but I always thought Agile was developed in response to customers doing exactly that, but under methodologies where it was much more expensive to do so.

      --
      Slashdot needs a "-1, Wrong" moderation option.
      The Urban Hippie
    27. Re:doesn't work by Anonymous Coward · · Score: 0

      As TFA points out, that always works fine when your requirements are *all* known an are completely static. That rarely happens in most fields. Even in the ones where it does it's usually just management having the balls to say "No, you can give us the next bunch of additions and changes when this is delivered, we agreed on that". It frequently ends up delivering something less than useful.

      What are you smoking? You're pretty much 100% backwards, what you describe doesn't resemble Systems Engineering at all.

    28. Re:doesn't work by Darinbob · · Score: 1

      The way hardware usually works is that bugs get fixed in software, and the bugs often exist because there was no consultation with software to begin with. Very often the hardware gets designed with no input from software or firmware sides, and by the time someone working on the actual code gets to see the design for the first time it's too late to change it. Sometimes a workaround in software is not even possible or practical.

    29. Re:doesn't work by tysonedwards · · Score: 2

      No, the problem with Agile is that it promotes a mentality of "it'll be done when it is done", where vague double-talk is allowed to thrive. As such, customer service tends to suffer. Everywhere else in the world - outside of the siloed developers living in their Agile world - timelines matter.

      People *need* to know even a vague timeline of "will it be this year?"

      Agile purists tend to frown on this, focusing more on your rolling releases where it doesn't matter what you ship as long as you ship. Could be a couple bug fixes, could be an entirely new database schema that mandates a re-write of connectors that allow for other departments to interface with a vendors app... you never know until you check the release notes.

      --
      Thirty four characters live here.
    30. Re:doesn't work by symbolic · · Score: 2

      "it'll be done when it is done" isn't the only thing that an agile customer has to go on. There are high and mid-level estimates that give them a general idea. If you're doing something other than SCRUM (like Kanban), you can use cycle time to determine a completion timeline. With a little bit of metrics analysis, you can even provide a probability that you'll be able to meet a particular time estimate.

      Two other things that will make a HUGE difference is whether or not you have a committed product owner, and how much control you have over external dependencies. With respect to product owners, people can't just say, "here build this," and then disappear until it's finished. I've been there. It sucks. If there is one reason an agile project will fail, this is it. Product owners need to be fully engaged.

      Finally, if the agile project is executed correctly, timelines shouldn't be *that* big a deal because the product owner is receiving delivery of the highest priority features along the way. I realize there are ways that this can be sidetracked (if, for example, the product owner decides that a delivered feature needs to be re-designed because of a faulty assumption), but that's what agile is supposed to accommodate.

    31. Re:doesn't work by Nerdfest · · Score: 2

      All of that applies regardless of the methodology. Agile doesn't mean you throw engineering out the window, it means you refactor constantly, exactly as much as is required. I think XP dictates that you do the simplest thing that will solve the problem, although I will still tend to engineer a more expandable solution. Sometimes it pays off, sometimes I waste my time and implement a more complex solution than is ever required.

    32. Re:doesn't work by Aryden · · Score: 2

      +1 though I do have to say, it is a very fine line to walk. I've had many customers come back with "we didn't ask for it, we're not paying" when the reality is, it often comes out to be the best and most used part of the software they are buying. The contract I am on currently is a prime example of the responsible parties not having a clue as to what they users of the software actually need. However, when building what the users actually need, the "stakeholders" get pissy about costs, implementation, etc.

    33. Re:doesn't work by Aryden · · Score: 1

      Sort of, I find that agile works great in conditions where the product is in an industry with much regulation. Regulations tend to get changed, added to and sometimes even removed often enough in many industries that agile works great.

    34. Re:doesn't work by Aryden · · Score: 1

      If you're doing it right, you're not having to "do it all over again". You're only having to change small portions of a piece of software rather than huge chunks or starting over.

    35. Re:doesn't work by Aryden · · Score: 1

      If you're not accounting for overage/scope creep from the get-go, you're doing it wrong.

    36. Re:doesn't work by Aryden · · Score: 1

      be glad they did, I did some work for the Air Force some years ago. It was a nightmare.

    37. Re:doesn't work by Anonymous Coward · · Score: 0

      +1 though I do have to say, it is a very fine line to walk. I've had many customers come back with "we didn't ask for it, we're not paying"

      They know that the functionality is there and that they didn't pay for it. Leave the code in but disable the function.
      If they truly don't want it then they you shouldn't have spent time implementing it and you will have to pay for that time. If they want the function but just try to wiggle their way out of paying it they will get back to you and ask you to enable the function again. Make sure that you also get paid for the administrative overhead from them being dicks in the latter case.

    38. Re:doesn't work by Anonymous Coward · · Score: 0

      This is why you should keep the pure programmers to the higher level functions and let the HW engineers write the hardware interface.
      They still need to write debug code to test the hardware (Unless you enjoy sending prototype hardware between SW and HW engineers just to find out if the problem is a SW or HW bug.) so they might just as well add the extra glue to make the hardware abstraction.
      This way the HW bugs are discovered early in the prototype stage and the right person is given an opportunity to do a proper fix before it leaves his desk.

      You still want the SW-guys to be involved in specifying the interface to the HW access functions, otherwise you will get an extra level of bloat when they try to adapt their code around the access functions.

    39. Re:doesn't work by Anonymous Coward · · Score: 0

      I'm currently working on a project using agile in a company that previously was operating a waterfall approach. The agile method is used internally rather than with an external partner (although we do now have one external party working on one specific area). I would say that the experience has been very positive. We had a previous organization that was part of the company but on a remote site that was badly managed both locally and by the head office which caused a lot of internal political tension. In that case the agile approach was largely a failure.

      Contrasting the two experiences is interesting:

      In case one both the product owners (joint owned between me and a s/w architect) and the rest of the scrum team realize the dynamic nature of the requirements that we are meeting. There is a lot of dialog and we have good tools in place. We are operating a process of 'documenting what needs to be documented'. Whenever we detect any lack of understanding we quickly convene a meeting and if the issue is unresolved I do detailed stories and requirements are generated and scoped. I give a lot of latitude to the s/w architect in any case where the story is understood. I feed back new stories on a continuous basis the moment I hear them from customers and they enter a scoping pipeline immediately. The process is working very well.

      In case two agile was used as a political tool to justify the existence of the group. The remote manager spent a lot of time telling everyone what real agile was but in fact was not actually practicing it. While we were talking stories and planning poker actually the process was used to avoid commitments and delay development. Was the problem agile? Not really, it was bad management, a horrible political atmosphere ... i.e. divergent goals between product owner and the rest of the team.

      In summary ... agile doesn't resolve issues caused by users being unreasonable or developers wanting to avoid doing the necessary to keep commitments. If you have those problems then I'm not sure any development methodology will solve them.

    40. Re:doesn't work by Simon+Rowe · · Score: 1

      As TFA points out, that always works fine when your requirements are *all* known an are completely static. That rarely happens in most fields.

      Beyond 'hello world' that's always the case. Let alone in real-world projects the dates change, the team members change etc.

    41. Re: doesn't work by rmdashrf · · Score: 1

      That's why the initial question to a customer who wants a software solution should be 'what do you want to accomplish', instead of 'what do you want'.

      --
      Nihil in publicum sputa.
    42. Re:doesn't work by Jane+Q.+Public · · Score: 1

      "The problem with Agile is that it gives too much freedom to the customer to change their mind late in the project and make the developers do it all over again."

      It does nothing of the sort. The methodology doesn't affect the scope of work, which (for fixed projects) should be specified in advance.

      If you're asked to do something that is outside the agreed-upon scope, you re-negotiate the delivery time and the payment. End of story. Your coding methodology has literally nothing to do with it. If someone has pulled that on you, then somebody didn't firm up the original agreement like they should have. It's often a failure of management.

    43. Re:doesn't work by thegarbz · · Score: 1

      Sorry did we just step into a dimension where modular software no longer exists? There's no reason one can't start by designing a framework and then create small mini projects or even use agile programming to finalise the actual features or the user interface.

      I like the earlier example further up saying that classical methods don't suit software like financial software because the rules change so often. Well financial software didn't just pop up in the last 2 years like agile did, and it's always been perfectly functional.

      It seems people screaming for agile are those who don't know how to build agile software, and instead opt to agilely build software.

    44. Re:doesn't work by bickerdyke · · Score: 1

      The problem with Agile is that it gives too much freedom to the customer to change their mind late in the project and make the developers do it all over again.

      They don't care what development process you use. The customer will change their mind late in the project anyway.

      So it's not bad to take precautions for that.

      --
      bickerdyke
    45. Re:doesn't work by bickerdyke · · Score: 1

      Yes. But Ford's car didn't take away the horses from the users. Rather seing the car made them want to own one instead of a horse. So you can't push any features onto customers, they will feel like they had their horses taken away, and NOT as if they just had been given a car.

      --
      bickerdyke
    46. Re:doesn't work by pmontra · · Score: 1

      Only if the customer is willing to pay for the extra development time. If it's a fixed cost project the developers and the customer should have a contract to protect each others. if it's not, even for "pay as you go" projects usually customers compromise between what they wish and what they can afford both as cost and as delivery time.

    47. Re:doesn't work by Xest · · Score: 1

      Um, that's kind of the point. It caters to that very fact of life, and you charge them for it.

      To put in a rather simplified manner, the agile business model for clients should basically be that:

      You give them a rough estimate of the time needed for their initial requirements by number of sprints, so it may be say, 20 2 week sprints with a sprint of 5 developers be charged at x rate. You produce a product backlog of all tasks at the start and prioritise them with the customer. You have a burndown chart that shows roughly what will be completed each sprint, this chart is a simple graph of feature completion against time so it is normally just a straight diagonal line starting at the top left (no features completed at start), and ending at the bottom right (all features completed at end).

      At the end of each sprint you produce something from the set of features for that sprint and show it to the client, if they want to change or add anything you throw it on the product backlog and update the burndown chart. It may be that at this point that that changes and it now finishes past the original estimation point. That means the client can see the impact of the changes they requested and consider whether they really do want to pay for an extra sprint or whatever, or if they want to remove other features to still hit the deadline.

      It controls cost and that's the point, it forces the client to consider the impact of any changes they request. The downside for some clients is that they can't abuse holes in specs and contracts to hold you by the balls to do additional work for free that you hadn't budgeted for (because all specs and contracts have holes, period.) but the upside for more honest clients and for the company doing development is that the client gets exactly what they pay for, no more, no less. They don't get ripped off, and they don't get to rip you off. Instead of paying for an arbitrary packaged product which can easily have overruns the client is paying to use your resources at some specific markup, hence why costs are controlled.

      I'll be the last person to believe that agile is a silver bullet, I know full well that it's just another tool for the toolbox to be used when appropriate but it is rather tiresome to see all the people complain about it who are using it wrong, and then often say "People always just tell me I'm using it wrong, but it's not me it must be agile!" - bullshit, you ARE using it wrong. It's like a lot of developers haven't really learnt the whys, whens, and hows of agile and so make a complete hash up of trying to implement it then blame the tool. To give a programming analogy, it's like writing something in C/C++ without fully understanding pointers - you'll probably just about get something running, but it's going to be a buggy bloated, memory leak laden mess.

      If you genuinely understand agile, and if you know when and how to use it, then it's a brilliant tool, but if you're a fucking idiot then you'll still be a fucking idiot even if you try and use agile.

      Many of the comments modded up so here reflect that inherent lack of understanding, people are saying things that are just flat out wrong and don't make any sense if you actually have even a basic understanding of the point and use of agile.

      I've used agile (SCRUM) and waterfall extensively to deliver projects and I don't pretend either is better than the other all of the time, but I know enough to know that most of what's said here about agile is bullshit born from inexperience and/or incompetence.

    48. Re:doesn't work by mcvos · · Score: 2

      It frequently is. It doesn't matter what methodology you use- if you change major features/priorities at the last minute it will cost multiple times as much.

      And that's exactly why Agile is so important. You get to show your results early in the process, so if the customer wants something different, it's cheaper to change it. If you show the finished product after a long process based on wrong assumptions, it's going to be a lot more expensive. Weeding that stuff out early is one of the core tenets of Agile.

    49. Re:doesn't work by mcvos · · Score: 1

      ...but they can be trusted to say what is most important to them at the time.

      No they can't. If you are delivering to customer requests you will always be a follower and never succeed. You need to anticipate what the customers need. As with the I guess made up quote attributed to Henry Ford, "If I listened to my customers I'd have been trying to make faster horses." Whether he said it or not, the statement is true. Customers know what they have and just want it to be faster/better/etc you need to find out what they really need.

      That's not the difference between Agile and Waterfall, it's the difference between tailor-made contract work and selling a product. No customer is going to bear the risk for your crazy idea. They want what they know will work.

      But if you want to make them something innovative anyway, showing them working results early makes it a lot easier to get their buy-in.

    50. Re:doesn't work by mcvos · · Score: 1

      Agile purists tend to frown on this, focusing more on your rolling releases where it doesn't matter what you ship as long as you ship. Could be a couple bug fixes, could be an entirely new database schema that mandates a re-write of connectors that allow for other departments to interface with a vendors app... you never know until you check the release notes.

      In Scrum, the team commits to certain sprint goals, and the sprint takes a set amount of time. Not meeting the sprint goals is a big deal. It's not the end of the world, but often missing your sprint goals will be noticed. You can use this to estimate when it will be done.

      Scrum also used to work with burn-down charts that gave pretty decent estimates of when it would be done, even taking scope-creep into account. But I've recently been told burn-down charts are out. I admit I don't quite understand why.

    51. Re:doesn't work by cyber-vandal · · Score: 1

      It has? You've clearly never worked in financial IT.

    52. Re:doesn't work by dkf · · Score: 2

      And that's exactly why Agile is so important. You get to show your results early in the process, so if the customer wants something different, it's cheaper to change it. If you show the finished product after a long process based on wrong assumptions, it's going to be a lot more expensive. Weeding that stuff out early is one of the core tenets of Agile.

      The problem is that customers are not nearly as available as people would like. Either they're located offsite (and won't relocate to be with you or allocate space for you to be with them), or they're short of time because of their other commitments, or they the kind of people who hate being shown works-in-progress.

      Also, customers aren't (necessarily) users or vice versa. That's a major piece of tension right there.

      --
      "Little does he know, but there is no 'I' in 'Idiot'!"
    53. Re:doesn't work by slim · · Score: 1

      As much as I hate the buzzword "design patterns",

      The title of an 18 year old book is a "buzzword"?

      People who roll their eyes at the phrase "design pattern" irritate me. There's nothing wacky about noticing effective ways people have solved a problem in the past, and giving those patterns names so that they can be efficiently referred to.

    54. Re:doesn't work by Zenin · · Score: 1

      Yet, in practice there's a huge difference:

      In a waterfall scenario the customer most often doesn't see anything tangible until way late in the process. Only then are they able to see the project is off course...and by that time it's way, way off course requiring a large, expensive change.

      In an agile scenario the customer sees everything early and often, allowing them to keep the project on course with minor adjustments along the way. Any changes they make late in the process are almost certainly to be a fraction of the size of changes they'd have required late in the cycle of a waterfall project.

      Forcing most decisions to the front of the process only ensures that they are either wrong or take so long to make that they are no longer relevant by the time the product can be delivered. How wrong and how irrelevant is proportional to how much, how strict, and how early in the process you mandate decisions be made. This is why waterfall most frequently falls into the trap of delivering, "Exactly what they asked for, but not at all what they want/need".

      Agile isn't about not making decisions early. Completely the opposite: Agile is about providing the knowledge required as early as possible to make good decisions. Decisions (aka "changes") are made as early as it is possible to correctly make them...and correct from mistakes as early by discovering them sooner.

      By contrast waterfall forces most decisions to be made blindly, all but ensuring they will be very wrong, and only discovered after its much, much too late to do anything about it.

      --
      My /. uid is better then your /. uid
    55. Re:doesn't work by Half-pint+HAL · · Score: 1

      "Changing their mind" is always bad. "Realising their mistakes" and "revising their assumptions" are good. The goal of "agile" is to adapt to new information, and to allow for the continued flow of new information. "Changing their mind" breaks that flow. It's not new information, it's something completely different. You can't "adapt" to a change of mind, you just have to start from scratch.

      If your customer thinks agile lets them change their mind any more frequently then any other design philosophy, your customer needs re-educated. If you think agile lets the customer change their mind any more frequently then any other design philosophy, you need re-educated.

      --
      Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
    56. Re:doesn't work by Half-pint+HAL · · Score: 1

      The problem with Agile is that it gives too much freedom to the customer to change their mind late in the project and make the developers do it all over again.

      Call me crazy, but I always thought Agile was developed in response to customers doing exactly that, but under methodologies where it was much more expensive to do so.

      Agile was about uncertainty in the spec. It allows you iterate and incorporate new information as and when it is discovered. "Changing your mind" means ripping it up and starting again, and that's no less painful in an agile environment than any other environment -- code that can be reused will be reused in the next design cycle, but an agile process is a continuity, and a change of mind is a discontinuity.

      --
      Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
    57. Re:doesn't work by Half-pint+HAL · · Score: 1

      If you're doing it right, you're not having to "do it all over again". You're only having to change small portions of a piece of software rather than huge chunks or starting over.

      But that's nothing to do with "agile", is it? That's just a matter of high encapsulation, low coupling and other coding practices that result in high reusability. Agile methodologies might actively encourage these practices, but all good coders should be working that way anyway.

      --
      Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
    58. Re:doesn't work by Half-pint+HAL · · Score: 1

      Except that you clearly didn't follow the same rigorous software engineer process as NASA. Dividing LoC by num_programmers says your guys spent significantly less time on the code than NASA, which is to be expected.

      --
      Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
    59. Re:doesn't work by thegarbz · · Score: 2

      No worse still, I'm an end user. A HAPPY end user. Whatever *insert company here* is doing their software meets all taxation and financial regulations, comes out in advance of tax time, and has done so long before agile was a blip in some idiot manager's mind.

    60. Re:doesn't work by ebno-10db · · Score: 1

      Oh, us poor beleaguered software engineers, everything gets dumped on us! Hardware screws up and we have to fix it.

      Gimme a break. I see it from both sides. Yes I have an advantage of sorts when I get to design both the hardware and the software because I'm eating my own dog food (not so bad if you're a good cook), but if hardware gets designed without consultation with software then you're working in a disfunctional organization, period. Believe me, the hardware people in your organization have plenty of complaints about software too.

      BTW, that "hardware gets fixed in software" line especially doesn't cut it when designing analog/RF or even digital that just runs too fast for software intervention.

    61. Re:doesn't work by khchung · · Score: 1

      The problem with Agile is that it gives too much freedom to the customer to change their mind late in the project and make the developers do it all over again.

      The *point* of Agile is that there should be no time that is "late in the project".

      With fixed, short, repeated cycle of iteration/sprint/whatever-you-call-it, such as 2-weeks sprint cycle, *every* cycle should be start with work estimated to fit in the cycle, and ends with deliveries of completed work that delivers value to the customer. It should work the same for the first cycle, just the same as the last cycle.

      If there is a point in time that is considered as "late in the project", you are doing Waterfall, not Agile.

      --
      Oliver.
    62. Re:doesn't work by angel'o'sphere · · Score: 1

      Sorry, this is nonsense.
      In agile development you also have timelines.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    63. Re:doesn't work by angel'o'sphere · · Score: 1

      It does nothing of the sort. The methodology doesn't affect the scope of work, which (for fixed projects) should be specified in advance.

      If you specify everything in advance, you can only start developing _after_ everything is specified.

      In agile development you can start as soon as you have some "stories".

      Your coding methodology has literally nothing to do with it Correct.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    64. Re:doesn't work by AmiMoJo · · Score: 1

      The idea with Agile is that any changes are presented to the customer in terms of how long they are going to delay the project. Its up to them if the delay is acceptable.

      Of course that only works if you have the balls to tell them that the change will add a year to development and double the cost. You also have to be ready to fight off claims that you should have made it more flexible in the first place so it shouldn't take a year.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    65. Re:doesn't work by ebno-10db · · Score: 1

      This is why you should keep the pure programmers to the higher level functions and let the HW engineers write the hardware interface. They still need to write debug code to test the hardware (Unless you enjoy sending prototype hardware between SW and HW engineers just to find out if the problem is a SW or HW bug.) so they might just as well add the extra glue to make the hardware abstraction. This way the HW bugs are discovered early in the prototype stage and the right person is given an opportunity to do a proper fix before it leaves his desk.

      You still want the SW-guys to be involved in specifying the interface to the HW access functions, otherwise you will get an extra level of bloat when they try to adapt their code around the access functions.

      An excellent approach. It forces the hardware guys to think about the software. It's also good for a team if at least some of the software people have a good understanding of how to write low level code to talk to the hardware. Even if they don't do most of it, it helps them to specify reasonable interfaces.

    66. Re:doesn't work by PlusFiveTroll · · Score: 1

      http://xsisupport.files.wordpress.com/2012/09/softimage2013cer.png

      I'd suggest that Autodesk and its ilk crashes far more often than NASA software.

    67. Re:doesn't work by Anonymous Coward · · Score: 0

      You say that like it's a bad thing. If the customer wants you do to it all over again, presumably you will have made them aware of the consequences -- later delivery, more cost, etc. At the end of the day, we need to deliver software that meets the needs of the end user. Given that the customer has deemed the software unsuitable, you have two choices: finish building it anyway, or fall back and regroup. While the latter sucks, why would you ever want to do the former?

    68. Re:doesn't work by Steve_Ussler · · Score: 1

      I think everyone agrees that the article is 100% true.

    69. Re:doesn't work by Assmasher · · Score: 1

      What does that have to do with the issue being discussed?

      My comment isn't some comparison to whether or not NASA software is more or less stable.

      I'm replying to someone who says that "proper software engineering" doesn't work and that code that does work is invariably ugly and violates best practices.

      Someone countered with "well, NASA seems to disprove that with the following example", which was then asserted to be a very special case because NASA had a large number of people in a relatively small amount of code written to unchanging (basically) specifications.

      I'm countering that with an example of what was a well engineered codebase with far less people than NASA used and far more code, and the code works well.

      --
      Loading...
    70. Re:doesn't work by Steve_Ussler · · Score: 1

      Two timelines....always broken! Everyone hates Agile except the Agile trainers and the one writing Agile books.

    71. Re:doesn't work by AuMatar · · Score: 2

      THat's great, if you're writing something that's highly customer visible and understandable, like a UI. If you're building a front end webpage, go agile. If you're writing a back end set of service or algorithms, the customer won't be able to see anything, and won't be likely to understand it even if they do.

      With traditional methods, you have some possibility X of major change towards the end. The value of X depends on how good your engineers are at design and requirements gathering. The cost depends on exactly what the change is and how good your devs did with design. With Agile, X is 100%, and the cost tends to be fairly high because there is no design and no effort put to possible future use cases or changes up front.

      --
      I still have more fans than freaks. WTF is wrong with you people?
    72. Re:doesn't work by mcvos · · Score: 1

      The problem is that customers are not nearly as available as people would like. Either they're located offsite (and won't relocate to be with you or allocate space for you to be with them), or they're short of time because of their other commitments, or they the kind of people who hate being shown works-in-progress.

      That's definitely a problem, and it needs to be solved. If you can't have a Product Owner who's available to the team, you can't do Scrum. Product Owner is a vital job. It doesn't have to be the customer, though. It could be an analyst who knows exactly what the customer needs. That is absolutely fine, as long as the analyst keeps in touch with the customer's wants and needs.

      Also, customers aren't (necessarily) users or vice versa. That's a major piece of tension right there.

      That's a problem with every methodology.

    73. Re:doesn't work by AuMatar · · Score: 1

      Hey, it's Mr. Strawman. I haven't seen you in days!

      First off- waterfall doesn't exist. It never has. It was made up as an example of what people thought development was like, and then immediately used to contrast with how software really was made. Really- check out the history up front.

      Secondly, nowhere did I say waterfall was the preferred method. THere are more than 2 options here. Shocking, I know.

      Agile is absolutely not about providing information to make decisions early. By the point that you get enough functionality into an Agile project to make any non-trivial decisions on projects of non-trivial scale, you're already many months in and have an architecture that changes will force you to throw away. You're going from possibly needing to throw away work due to changes to assuring it. The costs are no less, and actually tend to be higher than other forms of iterative design.

      --
      I still have more fans than freaks. WTF is wrong with you people?
    74. Re:doesn't work by AuMatar · · Score: 1

      THat's the same with any methodology- if they want a change you scope it out and give them a number. Agile is no better or worse at it. If anything the numbers tend to be a bit higher because of the tenet of not working on anything that isn't needed immediately, whereas when you design up front you tend to design in some flexibility for likely future changes/usecases.

      --
      I still have more fans than freaks. WTF is wrong with you people?
    75. Re:doesn't work by angel'o'sphere · · Score: 2

      Everyone i worked with the last 10 years, loves being agile. Mostly the developers.
      However i live and work in europe, perhaps it is a cultural difference.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    76. Re:doesn't work by mcvos · · Score: 1

      With Agile, X is 100%, and the cost tends to be fairly high because there is no design and no effort put to possible future use cases or changes up front.

      Of course there is design and effort to get as much stuff as possible sorted out up front. But it doesn't have to be perfect, and it can adapt when something is missing, incomplete or wrong.

      Making sure the design anticipates every possible future need costs a lot of money, and most of that will be wasted. It doesn't have to be perfect at the first try, and you don't have to spend a ton of time and money to refine it until it's perfect before you can start programming. Do what you can up front, but there's still room to adapt later on (as long as you don't postpone everything).

    77. Re:doesn't work by ahabswhale · · Score: 1

      Companies don't want to wait for "systems engineering". It's why nobody does it in IT. You are seriously clueless.

      --
      Are agnostics skeptical of unicorns too?
    78. Re:doesn't work by fatalexe · · Score: 1

      That video hit way too close to home. Agile gets the small projects done really fast and delivers quality code. But when the roject owner doesn't have enough time to ever bother to run through the app and the project manager gets distracted by doing web design and sys-admin stuff. Agile turns into a disaster of never ending churn of nit-picky changes without ever getting the project out into production six months later.

    79. Re:doesn't work by Aryden · · Score: 1

      it's true but people here are using these unrelated things as arguments against agile.

    80. Re:doesn't work by dcw3 · · Score: 1

      Using a car analogy, isn't this really the difference between how Porsche upgrades the 911 series every year, and how other auto companies come out with completely new models? Doesn't Agile work best when you can make multiple deliveries, instead of doing a complete ground up design each time?

      Please excuse my ignorance. My software development work ended several years ago, when I was just starting to read about Extreme. Now I drive schedules and spreadsheets.

      --
      Just another day in Paradise
    81. Re:doesn't work by Jane+Q.+Public · · Score: 1

      "If you specify everything in advance, you can only start developing _after_ everything is specified."

      I did not say or even imply specifying everything in advance. I only mentioned a scope of work. That has nothing at all to do with waterfall-style management. A scope of work is just a general description of what the eventual goal is, not of how to accomplish it.

      But if your scope of work says "Build a website with features X, Y, and Z", then the customer at some point says "We just realized that our business objective will also require feature Q, and Y has to be changed to do Y version 2", then that's outside your scope of work and you charge more.

    82. Re:doesn't work by Darinbob · · Score: 1

      Not all the time, but more than half the time I've seen hardware get designed without interacting with the people who are actually going to have to write or fix the code for it. Sometimes it works out, but much of the time it is a royal pain involving not just patching firmware but having a large redesign, or downstream effects causing the entire product to be many months late. I always wonder if it is worth getting the cheaper part when there is so much extra development cost that results.

      Now sometimes I think this sort of stuff happens because the hardware people think they are communicating, but they're communicating with the wrong person. Maybe they discuss things with a software manager who's not as familiar anymore about implementation details; or worse I've seen them talk to a director level person. Sometimes even the software person isn't diligent enough to realize how radically a design is going to be, or is a junior person who doesn't feel able to push back. Or they talk to the software guy who says "it's not hard" even though he's not even involved with the product.

      The biggest problem I think is that often there's just a huge amount of pressure to make some changes, such as cost reduction, that it is going to happen despite any objection.

      Sure it's dysfunctional to not communicate properly. But everywhere is dysfunctional, it's a fact of life.

    83. Re:doesn't work by Anonymous Coward · · Score: 0

      If you look at the percentage of failed Waterfall lifecycle projects, Agile's "it'll be done when it's done" already wins.

    84. Re:doesn't work by Anonymous Coward · · Score: 0

      He's countering that by saying your code is shit.

    85. Re:doesn't work by Anonymous Coward · · Score: 0

      Too bad XP's only success story is still the Chrysler story, where they went over time, over budget, delivered nothing and got cancelled.

      To this day XP cult member crow about it.

    86. Re:doesn't work by Cytotoxic · · Score: 1

      It is more than the way the code is written. By having smaller deliverables that are put into production immediately instead of waiting for quarterly releases, you get immediate benefit from the deployment and immediate feedback on an individual feature. This means that the business unit can adapt to incremental change instead of biting off a huge training project and bug fixes are immediate and targeted rather than a deluge of disparate unrelated issues.

      With or without agile processes, breaking changes into small deliverables, prioritizing by business impact and deploying each change as it is ready is a great way to work, when possible.

    87. Re:doesn't work by Hognoxious · · Score: 1

      If there is a point in time that is considered as "late in the project", you are doing Waterfall, not Agile.

      Eh? After 38[1] 2-week sprints developing an accounting package the bean-counting dunderheads tell you it needs to support multiple currencies. Are you saying that's early?

      [1] Including 17 that were about changing the colour to get more RAM.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    88. Re:doesn't work by Hognoxious · · Score: 1

      I couldn't tell what the funting cuck they were saying half the time, so I turned the subbies on. Try it.

      I think the only bits it gets right is where the brown one is talking about getting drunk.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    89. Re:doesn't work by Hognoxious · · Score: 1

      If that's the first, where does getting the bastards to tell you what the problem is fit in?

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    90. Re:doesn't work by Capt.+Skinny · · Score: 1

      By contrast waterfall forces most decisions to be made blindly, all but ensuring they will be very wrong, and only discovered after its much, much too late to do anything about it.

      They've been doing it in civil and mechanical engineering for decades. That's what plans are for. They're cheap to change before you start building something. If your clients can't discover that you are going about it wrong, then you didn't give them sufficient planning documents. Try walking into a commercial building under construction and telling the engineers you hired that -- oops -- you want 12 foot ceilings instead of 8 foot ceilings, but you didn't realize that until you actually saw the building. Without hesitation, the engineering firm will whip out the spec that you signed and say, "well, that's not what you agreed to."

      All Agile does is hide the true cost of allowing design changes at arbitrary points in the process. Whether with waterfall or Agile, changes are expensive. With waterfall, when you properly manage expectations and thus don't have to deal with significant changes, you know exactly what is required throughout the project -- redundancies, opportunities for abstraction, and overall design efficiencies are evident from the beginning -- so you save on cost AND build things efficiently. With Agile, on the other hand, those extra costs are already built in and unavoidable. You're never looking at the big picture, so design efficiencies are not always evident until part of the work has been done. The iterative builds and deployments take up valuable coding time. So even you DO properly manage expectations with Agile and don't keep chasing your tail with changes, the cost will be far greater, and the efficiency much lower, when all is said and done.

    91. Re:doesn't work by Anonymous Coward · · Score: 0

      That's not a problem with agile, that's a problem with project management.

      The correct sequence of events if changes/additions are requested (assuming the request is reasonable) is:
      1. Agree that it can be done, and agree to work out the cost & time involved
      2. Calculate the cost and time and report it back to the client.
      3. Get approval from the client and start work or remove the request if it is knocked back
      4. If it was knocked back, suggest ways of achieving the same result but with less cost (usually discovered during step 2)

      If the request is not reasonable for obvious reasons then deploy copious amounts of diplomacy in explaining the consequences of the request. (Note: unreasonable requests are NOT those that take time money and experience, but rather those that will detract from the end product/goal)

      If during step 2 it is discovered that the solution is unreasonable/unfeasible this should be communicated ASAP with explanations detailed to a level understandable by the client. Always prepare an alternate feasible solution to recommend in this case.

      Remember: Agile does not mean anarchy, it means adaptable. This is important as I have NEVER had a non-trivial development request that did not require amendments, and neither has the Indian software company that I worked with that strictly adhered to waterfall methodology. The only difference was that with agile I could cope well with changes, and with waterfall every change was very costly.

      Very costly changes don't necessarily mean the change request was unreasonable, what it means that because of the cost the client often ends up compromising and as a result gets a sub-optimal product that they are unhappy with.

    92. Re:doesn't work by khchung · · Score: 1

      If there is a point in time that is considered as "late in the project", you are doing Waterfall, not Agile.

      Eh? After 38[1] 2-week sprints developing an accounting package the bean-counting dunderheads tell you it needs to support multiple currencies. Are you saying that's early?

      [1] Including 17 that were about changing the colour to get more RAM.

      That is neither "early" nor "late". You estimate the effort required, break down the stories into manageable small chunks, then let the dunderheads priorities the stories, and then off you go to the next sprint.

      It may take 10, or 20, or 50 more sprints to have all the multi-currency requirements completed, but does it matter if it was the 3rd sprint, the 38th sprint or the 380th sprint? If it does, you are doing waterfall. For agile projects, it shouldn't matter. If the dunderheads aren't willing to pay for the additional stories, that's another problem entirely.

      Yes, if they had included multi-currency at the 1st sprint, then you won't have a stories worth 10/20/50 sprints to do at the 38th sprint, but you just had those same amount of effort spread throughout you other stories, which would result in similar total effort anyway.

      Or are you going to say your codebase was already a mess by the 38th sprint, when everyone was hope the project would finish so they don't have to deal with the accumulated technical debt? If you are going to say that, you already spotted the problem, and that is not with doing agile.

      --
      Oliver.
  14. Huh by Anonymous Coward · · Score: 0

    Since when does Agile mean overwriting people's changes at random in your version control system? I can't say I've ever encountered such a bizarre thing anywhere I've worked and done Agile.

    1. Re:Huh by Anonymous Coward · · Score: 1

      With agile you're supposed to work on isolated 'features', and that kind of implies you'll be using feature branches. Now, let's talk about branching in SVN. With SVN, when you create a branch, you are actually creating a fork. The two forks will quickly diverge, and so you have to synchronise your fork with the trunk every so often. If you're working in a team of say 30, then you may have 30 separate product forks active at the same time. At the end of a sprint, the developers will enter a race to see who can jab their fork into the product first. If you're the first person, the meat is nice and tender, and the fork will stick firmly into the product without a problems. If you're the last developer, you'll find that the product is nothing more than a pulverised mush of meat scattered around the trunk, and your fork wont stick no matter what you try. I call this developer the 'spoon'. The spoon's job is to scrape up the remnants of the product, roughly form it into something that looks edible, and then commit the resulting mess, before pissing off down the pub. During this process, there is a good chance that the spoon will have missed a couple of forks that have fallen behind the table, still with a bit of meat attached. Branching in SVN is only slightly better than a nervous breakdown, but the end results are more or less the same.

    2. Re:Huh by Anonymous Coward · · Score: 0

      I thought this as soon as I saw "despite using SVN". More like "because of using SVN".

      Go with a decent branching/merging VCS (GIT, Mercurial, even ClearCase) and a methodology to use it properly and a lot of teamwork problems go away.

      We had hundreds of engineers working on a single project and with developer discipline (every bug/feature gets a new branch, regularly update your branch from the one you'll eventually check into) and a nominated integration engineer to decide what gets merged back and released, it worked really well. Time to let go of SVN, and if you're still using CVS I pity you.

    3. Re:Huh by Frankie70 · · Score: 1

      Don't forget Perforce. Branching/Merging is super with Perforce. CVS and SVN suck big time. People's bad impression of Version Control is mainly because of these 2 products.

    4. Re:Huh by LizardKing · · Score: 1

      Yup, branching and merging in SVN sucks. The original author even admitted that the existing support is incomplete (). Use a better version control system such as Mercurial and Git from the open source world, or Perforce and Plastic SCM from the proprietary world. Do not use Accurev. I repeat, do no use Accurev.

    5. Re:Huh by mcvos · · Score: 1

      Your problem here is using SVN while your work style requires something like git. SVN is not suitable for feature branches.

  15. M. Folwer said it best: Don't do scrum w/o XP by bADlOGIN · · Score: 5, Insightful

    He says it quite nicely:

    http://martinfowler.com/bliki/FlaccidScrum.html

    Of course that was in 2009. Nothing has changed, and I've long past the point of being fed up with the non-technical fuck-tards that think they can sprinkle Scrum-dust on a mountain of technical debt and it'll go away. This is usually done in the presence of a stable of bad developers who lack the discipline to do the actual hard work of the XP practices that deliver good products in the first place.

    The parent article author can STFU already. It just reeks of, "Wah! My agile hurts me because I won't do the hard stuff".

    Oh, and while your at it agile wimps: stop fucking trying to do "distributed agile" with fucking China and fucking India in order to save 30% on what's already a crap-pile due to communication problems. It's not going to help one bit.

    Also, get off my lawn...

    --
    *** Sigs are a stupid waste of bandwidth.
    1. Re:M. Folwer said it best: Don't do scrum w/o XP by ImperialSardaukar · · Score: 1

      The FlaccidScrum article made me worry that we had a spy in the room documenting how my company works.. Sorry, "works" :)

    2. Re:M. Folwer said it best: Don't do scrum w/o XP by bunhed · · Score: 2

      Goddam I wish I had me some mod right about now

    3. Re:M. Folwer said it best: Don't do scrum w/o XP by bADlOGIN · · Score: 5, Insightful

      Exactly. Part of the reason XP never took off is that it forces business people to confront reality. You can't PowerPoint your way out of a pair of developers standing in front of you explaining that you're the one who needs to decide what the fuck in going to be built right here, right now, and to accept the consequences of supporting it.

      --
      *** Sigs are a stupid waste of bandwidth.
    4. Re:M. Folwer said it best: Don't do scrum w/o XP by Anonymous Coward · · Score: 0

      *standing ovation*

      This is the problem. We believe that we can change process to avoid refactoring and you just can't avoid refactoring. You're only delaying the inevitable, and by the time you get to it you're sitting on the biggest pile of shit that civilization could ever imagine.

      I'm starting to think that a combination of open source and more programmers in the world might actually recognize some of the crap the industry keeps churning out. As long as no one is looking they'll keep cranking crap and more crap, and a healthy massive dollop of bullshit and chips.

    5. Re:M. Folwer said it best: Don't do scrum w/o XP by Anonymous Coward · · Score: 0

      Exactly. Part of the reason XP never took off is that it forces business people to confront reality. You can't PowerPoint your way out of a pair of developers standing in front of you explaining that you're the one who needs to decide what the fuck in going to be built right here, right now, and to accept the consequences of supporting it.

      +1

    6. Re:M. Folwer said it best: Don't do scrum w/o XP by thetoastman · · Score: 3, Insightful

      Yep. Getting stakeholders to face reality is always the challenging part. We managed to do it (OK, mostly do it) by running some extensive JAD sessions. No one left until things were agreed to and signed off by people who could make that commitment.

      It doesn't mean that things didn't change down the road, but at least people understood the change, the weight of the change, and what that change would cost. Sometimes the change was documented and pushed out, and at other times the change was important enough to drop other aspects of the project. It still meant some gear grinding, but next time we had a better idea of the problem space, made fewer requirement mistakes, and consequently fewer whiplash changes.

      As for daily stand up meetings - no one really liked them, but we made them serve a slightly different purpose. First of all, ours lasted about 15 minutes. Second of all, we focused on upcoming issues, especially those that might need additional resources to run smoothly. Doing so made it possible for those resources to be obtained in a timely fashion. Business types appreciate it when they're not whipsawed.

      Day to day communication was handled a lot by IM. Rules were - don't bother someone whose status is "do not disturb", and don't set "do not disturb" as the default status. A couple of people sort of abused the "do not disturb" status, but in general that worked well.

      I don't know if the above really classifies as agile (we patterned our process more on a DSDM path), but the result is we generated a lot of good stuff, released regularly, and the business people knew what they were getting ahead of time. Was it smooth sailing all of time time? Nope. Was it exhausting? Yep. In the end, was the process only used for mission - critical projects or ones where corporate - wide sign-off was needed? Absolutely.

    7. Re:M. Folwer said it best: Don't do scrum w/o XP by plopez · · Score: 1

      I'm with you on distributed agile. It can be argued that due to the inherent impedance between agile; based on small tight knit teams and constant communications; and the demands of far flung distributed teams that agile does not work at the larger scale.

      --
      putting the 'B' in LGBTQ+
    8. Re:M. Folwer said it best: Don't do scrum w/o XP by Xest · · Score: 1

      Well said, it's the same with agile in general - most developers including all too many on Slashdot don't like it because it forces accountability. Of course you're not going to like standup meetings because when it gets to explaining what you did yesterday, "I trolled Slashdot all day" doesn't exactly sound that useful.

      Judging by many of the posts here from various posters over the years I'd wager another reason is that a lot of people can't just admit when they were wrong, they'll jump to extreme absurdities and start talking nonsense and make no sense rather than admit they were wrong. Agile doesn't support that mindset well, because it requires developers who can admit what they did wrong and talk about how they can improve and avoid similar issues in the future. It requires the developer to be capable of introspection - to look at themselves and see how they can improve. If you believe you're perfect and never wrong then you're never going to be good enough to do agile.

      You do need competent accountable developers to make agile work, if you have half-arsed layabouts who are never wrong then you're fucked. You're fucked anyway of course, it's just that your existing methodologies like waterfall mask it, because they can troll Slashdot day in day out for a number of weeks before anyone questions what they're doing at which point they make up some lame ass excuse about how something was proving to be more difficult than they originally thought but that they're "almost there" and then implement the half day job in half a day before repeating the cycle.

      Or in other words bad developers hate agile because it requires them to do what they're actually paid to do.

    9. Re:M. Folwer said it best: Don't do scrum w/o XP by jfanning · · Score: 1

      Definitely.

      Agile is hard. All good development practices are hard. TDD is hard, XP is hard.

      Just get over all the goddam crying and do it. Most of the talk about the failures of agile are about the equivalent of stuffing your face full of chocolate cake and then crying "why oh why can't I ever lose weight"..

      The point of Agile is that you are supposed to be a team. If you couldn't give a shit what your teammate is doing in the daily standup then you have failed already.

    10. Re:M. Folwer said it best: Don't do scrum w/o XP by Anonymous Coward · · Score: 0

      Exactly. Part of the reason XP never took off is that it forces business people to confront reality. You can't PowerPoint your way out of a pair of developers standing in front of you explaining that you're the one who needs to decide what the fuck in going to be built right here, right now, and to accept the consequences of supporting it.

      TO emphasize the point, Agile requires that the customer be as dedicated to the development of the software as IT is. Most customers just want to have the one meeting, an hour long requirements meeting, and then come back when "it's done."

        I don't believe in doing Agile in any form unless everyone does it; Customers, developers, managers and analysts. If the only people doing agile are your developers then you've lost the advantage of agile. All agile becomes is a way to work your developers to the bone because you force them into working in two week iterations while everyone else has open ended deadlines.

      I have better things to do with my life.

    11. Re:M. Folwer said it best: Don't do scrum w/o XP by Anonymous Coward · · Score: 0

      Fowler also said a lot of bull. And he has no big-project experience whatsoever.

    12. Re:M. Folwer said it best: Don't do scrum w/o XP by bADlOGIN · · Score: 1

      Nicely put.

      --
      *** Sigs are a stupid waste of bandwidth.
    13. Re:M. Folwer said it best: Don't do scrum w/o XP by bADlOGIN · · Score: 1

      Hmm... That's an extremely nice application of the term "impedance". Sounds like the social counterpart to the Object/Relational impedance miss-match: the Agile/Distributed impedance miss-match. Both would go away if you used the right tool for the job instead of what everyone else uses because that's how business does it.

      --
      *** Sigs are a stupid waste of bandwidth.
    14. Re:M. Folwer said it best: Don't do scrum w/o XP by booch · · Score: 1

      I think embracing reality is why Agile works so well.

      • Instead of pretending that we can plan everything up front, we plan only for a few weeks. This allows us to adapt more quickly when we see that we're going down the wrong path.
      • Instead of pretending that we can estimate how long it will take, we use relative story sizes/points and translate the points into time, based on previous performance. Because the fact is people are very bad at estimating, and we're best off recognizing that and compensating for it.
      • Instead of pretending that we know when we're done, we automate acceptance tests to show it.
      • Instead of pretending that we think our code works like we expect it to, we force ourselves to prove it with TDD and unit tests.
      --
      Software sucks. Open Source sucks less.
  16. this or that --you pick by Anonymous Coward · · Score: 1

    Dear user: you can have a Big Upfront Crystallized Waterfall Development and we'll all pretend that nothing will ever change and what you get is what you get -- or we can try and make it better along the way as we develop better understanding of the lame incompetent efforts you have half-heartedly made when laying what you asked for.

    Users are agile in changing what they asked for into what they wanted; developers have to agile to match those changes.

    1. Re:this or that --you pick by Anonymous Coward · · Score: 0

      Did you just verb Agile? Pardon me, there's some vomit in my mouth I must dispose of.

  17. Are you nuts? Don't talk agile with the customer by bunhed · · Score: 5, Insightful

    The customer thinks they are ordering a building, metaphorically speaking. They can walk around it in their heads, see the color of the drapes, measure the windows, there are quantifiable costs. You don't build things using agile techniques however. "Well, we'll put this skyscraper about here. Start digging and we'll see how she goes."

    "The big concern with doing a Big Design up front is when it sets a rigid expectation that must be met, regardless of the changes and knowledge discovered along the way," says Semeniuk.' How do you respond to user anxiety from Agile processes?"

    How? Don't even talk about agile to the customer. Can you imagine a surgeon... "Well we'll just start cutting and figure it from there" no no, talk about outcome, not process. Agile talk is for the operating room, not the waiting room.

  18. Groupon by Anonymous Coward · · Score: 0

    Here's how to sell Agile : It's like Groupon. Maybe you won't have what you want, but you will end up with something and it will be cheap.

  19. Mumbo jumbo marketing by Anonymous Coward · · Score: 0

    "What developers see as iterative and flexible"

    Really? Because I think its the latest in a long line of mumbo jumbo project leadership tools for managers that don't know what they're doing, so they seek out a guru to tell them. Usually with a lot of nice sounding [Barnum statements] for weak minded managers to cite as evidence.

    1. Re:Mumbo jumbo marketing by Junta · · Score: 1

      Don't forget the consulting and speaking fees! Those are critical.

      --
      XML is like violence. If it doesn't solve the problem, use more.
  20. You can't do right doing wrong. by Anonymous Coward · · Score: 0

    There are many more efficient tools for communicating. If none of those are working, all the meetings in the world aren't going to work either. The difference is that physically moving people into the same area takes more time. It also makes whatever is communicated harder to recall unless you expend that much more effort recording the proceedings.

  21. The real truth... by Junta · · Score: 2

    It doesn't matter what you call your process, many development teams will devolve into this behavior. The fact of the matter is that 'agile' has the distinct honor of being the most 'hip' thing, and as such it is the set of labels of choice used to hide behind.

    Of course. most of the terminology about agile stems from a host of BS that seems more infomercial than useful. The original 'manifesto' was a collection of straightforward statements that are pretty sensible, though mind numbingly obvious. It has mutated to be a large set of vocabulary generally hijacked at will.

    --
    XML is like violence. If it doesn't solve the problem, use more.
  22. Customers get some of their own medicine by Anonymous Coward · · Score: 0

    Gee customer, this is how it feels when you change the spec, add features, demand arbitrary and contradictory changes with no notice.

  23. Sorry, will reply... by Anonymous Coward · · Score: 0

    once my Chrome finished updating to version 244...

  24. Feelings - nothing more than feelings by Anonymous Coward · · Score: 1

    developers have to understand how Agile processes can make users anxious, and learn to respond to those fears

    Soo.... To make Agile work developers have to understand user 'feelings' and respond considerately. Is it just me or did this whole Agile thing just turn from a fun one night stand into a committed relationship with cards and anniversaries and stuff?

    I think I'd rather just stick with Agile sucks.

  25. Agile definitely has a place by GodfatherofSoul · · Score: 3, Insightful

    But, it's like every other tool; it was made for a certain job. You try working in screws with the claw end of a hammer, and you can expect your results to suck. If you don't have a staff of above-average, disciplined developers and small or well-understood project goal odds are you're applying the wrong path. Agile isn't for project managers who just want to save money and speed up development.

    --
    I swear to God...I swear to God! That is NOT how you treat your human!
    1. Re:Agile definitely has a place by Anonymous Coward · · Score: 0

      But, it's like every other tool; it was made for a certain job. You try working in screws with the claw end of a hammer, and you can expect your results to suck. If you don't have a staff of above-average, disciplined developers and small or well-understood project goal odds are you're applying the wrong path. Agile isn't for project managers who just want to save money and speed up development.

      It is SOLD as a cure all - the latest and greatest - "if you're using waterfall, you're a joke and you're doomed!!!" It has to be test-driven business-driven agile and extreme or you're a dinosaur.

      In other words the hardware stores all stopped selling anything but claw hammers and abusing you for not getting them to work correctly with screws.

      The industry is in a !#$!ing mess!

    2. Re:Agile definitely has a place by goose-incarnated · · Score: 1

      But, it's like every other tool; it was made for a certain job. You try working in screws with the claw end of a hammer, and you can expect your results to suck. If you don't have a staff of above-average, disciplined developers and small or well-understood project goal odds are you're applying the wrong path. Agile isn't for project managers who just want to save money and speed up development.

      OTOH, if you do have a staff of above-average, disciplined developers and small or well-understood project goals, then what the hell do you need Agile for? If Agile only works for smart disciplined devs, then there's no reason for it (smart devs will work out between themselves what will be best, without needing your help).

      --
      I'm a minority race. Save your vitriol for white people.
    3. Re:Agile definitely has a place by Anonymous Coward · · Score: 0

      Most project managers are, at best, uncomfortable with agile as they don't have a clear understanding of where things are at in the project at any given time. They're responding rather than managing. The people who seem to be most enamored with agile are the developers.

    4. Re:Agile definitely has a place by GodfatherofSoul · · Score: 1

      You still need a process. What Agile basically says is "we're so good or we understand what we're doing so well, we can skip some of the high ceremony." Agile is like a pro athlete cutting corners and making non-fundamental plays because they're good enough to know when it's appropriate.

      --
      I swear to God...I swear to God! That is NOT how you treat your human!
    5. Re:Agile definitely has a place by goose-incarnated · · Score: 1

      You still need a process. What Agile basically says is "we're so good or we understand what we're doing so well, we can skip some of the high ceremony." Agile is like a pro athlete cutting corners and making non-fundamental plays because they're good enough to know when it's appropriate.

      Needing a process doesn't mean that that process must be agile. For a dev-team that is as good as you say, they certainly won't choose a process that has them micromanaged (what the other pro-agile poster said was that agile is best for poor devs who have to be micromanaged). They'll leave. Any professional that is worth their salt won't put up with helicopter-management.

      Look at it from the point of view of a talented professional (never mind the field - think lawyer, doctor, etc). Do you really think that the best surgeon is going to allow himself to be micromanaged by the hospital admin? Or that the best attorney will let the firm's directors mandate micromanagement of him? I've worked with accountants, lawyers and surgeons - they'll very literally leave your establishment if you try to treat them like untrustworthy children. Why do you now expect that devs should be treated like untrustworthy children?

      --
      I'm a minority race. Save your vitriol for white people.
    6. Re:Agile definitely has a place by GodfatherofSoul · · Score: 1

      You just said that smart devs "will work it out." That's not a process.

      --
      I swear to God...I swear to God! That is NOT how you treat your human!
    7. Re:Agile definitely has a place by goose-incarnated · · Score: 1

      No, I didn't - I said they'll work out what is best; presumably some process that works for them. Dumb devs indeed need to be micromanaged and placed into a process that lets their manager stay on their backs. Smart professionals, whether devs or not, will get annoyed quite rapidly if a manager distrusts the quality of their work.

      --
      I'm a minority race. Save your vitriol for white people.
    8. Re:Agile definitely has a place by booch · · Score: 1

      Agile is the ability to change the process to meet the needs of the team. There's a reason they chose the word "Agile", you know.

      --
      Software sucks. Open Source sucks less.
  26. Re:Are you nuts? Don't talk agile with the custome by dfghjk · · Score: 2

    "...talk about outcome, not process."

    But with Agile there is no outcome, just process. Agile does not work toward an end nor does it invest in understanding when there might be one. It is optimized for projects for which the intent is a continuous stream of incremental deliverables of little or no value and no completion. Great for sustainable billing and the pretense of interchangeable man-months, bullshit for anything worth doing.

  27. Re:Are you nuts? Don't talk agile with the custome by bunhed · · Score: 1

    That's kinda what I'm saying actually. In the real world, agile talk is idiotic.

  28. Big designs are bad, be good by Anonymous Coward · · Score: 0

    At some level agile is agile. At its core it encourages doing more of less rather than less of more. If your a software sweatshop please tune out now.

    I think encouraging people to make piecemeal changes rather than investing in hard creative designs to better address the application domain is great advice for all of our competitors.

    You guys go do that thing...add your widgets and features in low level codes while we configure the same in a RAD framework before you can say uncle. Be disruptive release little shit updates to production customers all the time...I'm sure they will be thrilled at your responsiveness to their needs. Place no bounds on global complexity and just let all the shit pile up because well features are worth it and using your brain is a bad thing (tm). I love agile and I hope our competition does too.

  29. Re:Are you nuts? Don't talk agile with the custome by ebno-10db · · Score: 3, Funny

    So you've worked at Google? Beta is the goal.

  30. Agile isn't what I hoped it would be. by Maltheus · · Score: 3, Interesting

    I've done agile for the past few years and always waterfall before that. Was looking forward to agile because it sounded more flexible, but that's not what I've observed in practice. Everybody is so touchy about finishing up all of the sprint tasks by the end of the two week period, that there is a strong disincentive to bring anything new in, when you're finished up. No one wants to skew the metrics.

    Between the aribtrary development cycle and the constant meetings, I find it far less productive than waterfall. Especially since so much waterfall is implemented in an interative fashion anyway.

    1. Re:Agile isn't what I hoped it would be. by Entrope · · Score: 2

      Funnily enough, most (academic) software engineering researchers understand that "waterfall" was originally intended as an exaggerated -- strawman -- description of a methodology that nobody uses in practice. Most practitioners also understand that any non-trivial project involves some backtracking, and most involve some iteration on parts of the development lifecycle, and thus don't try to use a strict waterfall method. Most Agilistas didn't get either memo.

    2. Re:Agile isn't what I hoped it would be. by gbjbaanb · · Score: 2

      amen.... but your problem isn't Agile, its the methology you call agile you're using.

      I used to do agile year and years ago - we had 6 week iterations, no standups, and it worked beautifully. Tell that to an agile proponent today and they'll tell you it isn't agile.

      I've had a project where we spent roughly half of a 2 week period on admin and setup tasks,so we asked for the sprint to change to 3 weeks so we could get some work done - and were told no, that's not agile.

      The problem isn't with agile, its with the stupid-minded not getting what its really about and trying to maintain their control over what you do.

    3. Re:Agile isn't what I hoped it would be. by Anonymous Coward · · Score: 0

      You're absolutely correct. Waterfall is iterative and it's evident by the fact that software has version numbers. The first release should be as simple as possible but fits an overall need. Next version is an iterative release. Minor releases have less features / fixes, major releases have much more, plus they usually have a structural / architectural change.

      The time between releases is how iterative you want to be. If you're actually cutting CD's (hey at least I didn't say floppies) your iterations are greater. If you are pushing to the local IT production server, your iterations are shorter.

      As far as roadblocks, call your manager and tell them to handle it. No reason to have everyone and their brother in a meeting.

      The whole reason Agile even caught on is managers wanted changeable parts in the development team and didn't want to be married to one or two developers. Nothing catches on in business without the suits championing it.

    4. Re:Agile isn't what I hoped it would be. by barjam · · Score: 1

      That is actually a common anecdote in agile training/books.

    5. Re:Agile isn't what I hoped it would be. by Anonymous Coward · · Score: 0

      I've done agile for the past few years and always waterfall before that. Was looking forward to agile because it sounded more flexible, but that's not what I've observed in practice. Everybody is so touchy about finishing up all of the sprint tasks by the end of the two week period, that there is a strong disincentive to bring anything new in, when you're finished up. No one wants to skew the metrics.

      Then why weren't your team brought up the new stuff between the sprints? Isn't that exactly what the 2 weeks sprints for - so you have a good point in time to change direction! And you guys just moved right into the next sprint without thought? This sounds like a long waterfall development with metrics taken every 2 weeks.

    6. Re:Agile isn't what I hoped it would be. by turp182 · · Score: 2

      We've been evolving our agile approach over time to see what suits us.

      Yes, the manager wants 100% completion for the burn down, I always say 90-95% should be a good target (all backlog tasks are between 15 minutes and 4 hours, shorter is better for us- we plan to the method level; we include Unit Testing and Code Analysis as separate tasks if the team gets out of habit).

      And we have no problem moving backlog items for the current sprint back into a general backlog if we realize our planning missed something. We'll hold a short architecture/design meeting to define tasks for the issue and then create the tasks and move them into the current sprint as possible (remove X hours, add X hours, any excess will be in the next sprint). We spend a lot of time estimating as well (we've realized that some projects should be avoided before we even started due to estimating, well work the effort even though it's crappy work...).

      We also only plan a maximum of 50 hours per developer in a given 2 week period for backlog tasks, taking into account the considerable overhead corporate life has in reality.

      Look into Disciplined Agile Delivery (Ambler), it specifically addresses a lot of this, and more importantly, it addresses scaling agile based on team size (and it tries to do away with time-boxed sprints).

      --
      BlameBillCosby.com
    7. Re:Agile isn't what I hoped it would be. by microTodd · · Score: 1

      What you've described is what I always thought was the point. Agile isn't about constant change or whatever. Its about the fact that you KNOW your requirements are going to change, but instead of having the user call you twice a day to change things you can only make changes every sprint. So you're not changing every day but you're also not stuck in your hidey-hole for 6 months at the end of a waterfall phase. So its about controlling the pace of change.

      --
      "You cannot find out which view is the right one by science in the ordinary sense." - C.S. Lewis on Intelligent Design
    8. Re:Agile isn't what I hoped it would be. by Baby+Duck · · Score: 1

      "There is a strong disincentive to bring anything new in, when you're finished up. No one wants to skew the metrics."

      If Dev is deciding whether new stuff is brought in, you are doing it wrong. That's the stakeholders' decision. It's his money. You spent all that damn time estimating hours so that the stakeholders could clearly see the consequences of making mid-iteration changes. You spent all that time estimating complexity so the stakeholders could clearly see the consequences of swapping stories between iterations within in a release. You've plotted out for them "if you suddenly now want A and B, you can only do so by delaying or scrapping C and D."

      If your velocity and burndown chart is skewed infavorably for Dev because of the stakeholders' changes, you can clearly demonstrate that with numbers to back it up. It allows both sides to honestly communicate about what happened so neither feels slighted.

      --

      "Love heals scars love left." -- Henry Rollins

  31. No process? by phantomfive · · Score: 3, Insightful

    She's been frustrated by her Agile experiences — and so have her clients. "There is no process.

    If there is no process, it's not Agile. It's laziness with a name as its excuse.

    Agile has a very different process than Big Design Up Front, but it definitely has processes. Frequent releases are a process. Scrum meetings are part of a process.

    --
    "First they came for the slanderers and i said nothing."
    1. Re:No process? by mcvos · · Score: 1

      She's been frustrated by her Agile experiences — and so have her clients. "There is no process.

      If there is no process, it's not Agile. It's laziness with a name as its excuse.

      Exactly. Agile is big on process. It's just that process doesn't trump people ("People over process", after all). And the process itself is flexible. After every sprint you have a retrospective which can lead to refinements in your process, until you've got a process that fits the needs of the team best. But "no process" doesn't work. That's just chaos.

    2. Re:No process? by phantomfive · · Score: 1

      After every sprint you have a retrospective which can lead to refinements in your process, until you've got a process that fits the needs of the team best.

      This is well said.

      --
      "First they came for the slanderers and i said nothing."
    3. Re:No process? by CAIMLAS · · Score: 1

      How sadly wrong you are.

      Frequent releases isn't a process; it's the result of a process. Kind of like how "a single release only" isn't a process with other methods, it's the result of said process.

      Agile calls its so-called results its process, when in fact it's just throwing shit at a wall and hoping something sticks. It's a businessman's dream, because he can sell an unknown large quantity of billable hours - and by the time the client knows any better, they're Invested and have a hard time justifying backing out. I have seen so many projects have overruns, get new/additional devs thrown on, and still have the project ultimately fail to deliver what the client is delivered a usable product (often with a bill many times larger than initially proposed).

      --
      ~/ssh slashdot.org ssh: connect to host slashdot.org port 22: too many beers
    4. Re:No process? by phantomfive · · Score: 1

      How sadly wrong you are.

      I know, it's so sad that I cry every night in the dark.

      Your post seems to be saying is that you don't like agile. Good for you.

      --
      "First they came for the slanderers and i said nothing."
    5. Re:No process? by Baby+Duck · · Score: 1

      Frequent releases isn't a process; it's the result of a process.

      No one said anything to the contrary. Agile merely allows you to have that a goal, but doesn't mandate you actually do. It merely requires you to produce agreed upon customer value at the end of the iteration.

      Agile calls its so-called results its process, when in fact it's just throwing shit at a wall and hoping something sticks. It's a businessman's dream, because he can sell an unknown large quantity of billable hours - and by the time the client knows any better, they're Invested and have a hard time justifying backing out.

      It's painfully obvious here you don't know what Agile even is. The two biggest constraints it places is Time and Money. You pay me X dollars for Y weeks where I promise agreed upon value. At the end of Y weeks, if you like what you see, we can negotiate another dollar amount for another stretch of time. If you don't like what you see, you're only out X dollars, only wasted Y weeks, and never have to do business with me ever again. Even then, I've hopefully delivered you some value, which is now contractually your property. You are free to hire a different company and see if they can salvage what I gave you, so you're not starting over from scratch.

      If your retort is you paid an X in the millions of dollars for a Y number of weeks equaling 3 or more months, then congratulations, you signed a shitty non-Agile contract. You should have done a 2 to 6 week iteration.

      --

      "Love heals scars love left." -- Henry Rollins

  32. Re:Are you nuts? Don't talk agile with the custome by Typical+Slashdotter · · Score: 1

    I disagree. If you can't get your customer to go along with agile, then agile might not be right for you. One of the key observations behind agile is that customers often don't really know what they want up-front, and that they're better at pointing out the differences between an intermediate solution and something workable. As I understand it, that's one of the driving forces behind the short sprints: start with the bare bones, and work on what the customer perceives to be the biggest missing feature. Keep doing that until the customer likes it.

    I understand that not all customers can do this, however.

  33. Agile means you always hit final release date by ferret4 · · Score: 1

    The way I've used agile is not to have multiple iterative launches of a product, but to have multiple iterative points where you *have* a launchable product. The advantage of Agile isn't constantly churning out crumb-like updates to freaked-out users, it's being able to say on any given week "we could launch with X feature set now if we had to, and have Y feature set still to build" rather than the non-agile alternative which is "it doesn't work but we are 30% towards completing it".

    This enables you to be able to set a firm launch date and be able to meet it with a working product. You can either chose to launch iterative updates afterwards, or just stick with what you launched and move onto a different project - whatever the business decides.

    In reference to the summary: if there is no process, you are doing Agile wrong. If your developers are overwriting each others work, you are using SVN wrong. Neither of these are inherent problems with Agile, you're just being incompetent - and there is no methodology to overcome incompetence.

    1. Re:Agile means you always hit final release date by Entrope · · Score: 1

      What is the difference to actual development between "we have a launchable product after each sprint" versus "we launch our product after each sprint"? There are obvious differences to the users, but what makes the former superior to the latter when it comes to meeting the overall project goals?

      Also, there are a lot of non-agile alternatives, many of which do (or can) incorporate periodic release-candidate checkpoints. It is simply not accurate to talk about "the" non-agile alternative.

      While no process will reliably produce good software with a dysfunctional team, Agile seems to be much more sensitive to dysfunction than many other processes. If you have a team full of disciplined, skillful individuals led with integrity by focused managers, many well-documented software processes will let you deliver good software on schedule. In the real world, teams often fall short of that ideal, so it is important for a development method to be somewhat robust to imperfect use, but Agile seems to encourage frequent distractions and excessive back-and-forth.

    2. Re:Agile means you always hit final release date by mcvos · · Score: 1

      What is the difference to actual development between "we have a launchable product after each sprint" versus "we launch our product after each sprint"? There are obvious differences to the users, but what makes the former superior to the latter when it comes to meeting the overall project goals?

      You've got something that you can show to the customer. If he wants changes, you can make those early, instead of after the entire product is finished.

      While no process will reliably produce good software with a dysfunctional team, Agile seems to be much more sensitive to dysfunction than many other processes. If you have a team full of disciplined, skillful individuals led with integrity by focused managers, many well-documented software processes will let you deliver good software on schedule. In the real world, teams often fall short of that ideal, so it is important for a development method to be somewhat robust to imperfect use, but Agile seems to encourage frequent distractions and excessive back-and-forth.

      Quite the opposite. Agile, or at least Scrum, encourages discipline and focus, and adjusts the process to the needs of the team. It can actually fix a dysfunctional team. Although you do need a competent Scrum Master for that. Without someone to keep an eye on the process, your process will suffer, no matter what process you use.

    3. Re:Agile means you always hit final release date by ferret4 · · Score: 1

      I pitched my comment towards differences for the users, as that's what this Slashdot article is querying. The difference to actual development is, as you've quite rightly pointed out, zero - which is at it should be. Your developers have created a launchable product, it's only up to the business to decide if it's an appropriate time to launch the product or not - it's none of the developers concern.

      When talking about "the non-agile alternative" I'm afraid I should have specified "the classic waterfall method".

  34. Agile is fundamentally flawed by Anonymous Coward · · Score: 0

    Quality and re-usability aren't even on the radar, so in the long run, code is more expensive, buggier, and harder to extend and maintain. In practice the mindset almost always becomes, "just get something done, somehow, so we can move on..."

    In the real word, comprises need to be made, but Agile doesn't consider software to be a valuable asset, it is a disposable tissue suitable for wiping your nose and never using again. Later, when you have to maintain or enhance it, it is an undocumented mess with poor design, ragged interfaces, and often without even a clear understanding of what it is supposed to do.

    In other words, it expresses perfectly the general opinion of what we now expect.

    1. Re:Agile is fundamentally flawed by Jack9 · · Score: 1

      > Later, when you have to maintain or enhance it, it is an undocumented mess with poor design, ragged interfaces, and often without even a clear understanding of what it is supposed to do.

      The resulting mess has nothing to do with Agile. If your process doesn't require testing, that's often the result. Testing is the most effective way to document specifications and is a common requirement that product owners choose to throw away. That's a choice made to improve the process. The fact the PO can't understand the result, is not the fault of the process.

      --

      Often wrong but never in doubt.
      I am Jack9.
      Everyone knows me.
  35. Re:Are you nuts? Don't talk agile with the custome by bunhed · · Score: 1

    "I understand that not all customers can do this, however."

    A very fortunate few in my experience.

  36. Simple answers. by neoshroom · · Score: 2

    "Clients ask, 'How much will it cost?'" says Hecker. An Agile-style answer is frustratingly ambiguous, he points out, along the lines of, "We think we can do it as described in about two months plus one month of bug-fixing so that's about three months unless we choose to make refinements and improve the product along the way, in which case it will be longer." "Then the client responds, 'Umm but, how much will it cost?' and I begin to hear the anxiety in their voice," says Hecker. "They wanted a crystal clear answer to a seemingly simple question, but it's hard to supply that answer because Agile projects are always a shifting sand."

    This is just silly. As an agile developer you just write to a spec and the spec contains features and milestones. You ask "What do you want it to do?" They tell you. You write a spec for them with everything they asked. They ask "How much will it cost?" You tell them. Then if they want evolutionary developments you add those on as a fair fee later for the extra work beyond what was in the original spec. This isn't a problem with an agile development philosophy.

    Agile programming is like evolving a species. Just because you might end up with a giraffe, doesn't mean your first spec can't be a very clear one for an antelope. If the client wants to make the neck longer and add some spots later, it is good that you choose a flexible and agile basis, but there is no need to give the client a primer on selective breeding and evolutionary genetics before you even begin and get them concerned with all the details. Details are the programmer's job.

    --
    Big apple, new Yorik, undig it, something's unrotting in Edenmark.
    1. Re:Simple answers. by Anonymous Coward · · Score: 0

      > They ask "How much will it cost?" You tell them

      I am telling you, you are a liar. You don't know and your estimates are garbage at a project level.

    2. Re:Simple answers. by Entrope · · Score: 1

      Your outline of running a software project applies equally well to a spiral method or a CMMI-compliant method or a lot of ad hoc methods without using any defined process. The practical problems with Agile are in the details that you glossed over that distinguish Agile from those alternative methods. Those other methods are not always better than Agile, but Agile is not always better -- and is frequently worse -- than them.

    3. Re:Simple answers. by neoshroom · · Score: 1

      I am telling you, you are a liar. You don't know and your estimates are garbage at a project level.

      I am telling you, you are a liar. You don't know and your comments are garbage at a content level.

      --
      Big apple, new Yorik, undig it, something's unrotting in Edenmark.
    4. Re:Simple answers. by neoshroom · · Score: 1

      Completely true. The issue is many of the gripes in the article itself are not specific to agile development methods either. They are process problems that you could hit under various programming philosophies. "How do we estimate cost in a way that is simple for customers and accurate for programmers?" is a universal problem, not an agile-specific problem. My answers apply generically, because the problems are generic.

      --
      Big apple, new Yorik, undig it, something's unrotting in Edenmark.
  37. Re:Are you nuts? Don't talk agile with the custome by Entrope · · Score: 1

    Agile dictates that you have practically continuous customer input to the development process. How do you propose to get that -- and to communicate your expectations about those interactions with the customer -- without telling them about the methodology?

  38. We had an odd experience with Agile.. by Anonymous Coward · · Score: 0

    It was sort of Agile - all of the Agile-buzzwords and all that. But there was *TONS* of process wrapped around it. You couldn't commit anything unless the sprint was in the right state and you had a story in the right state, and the tasks were in the right state. Part of the explanation is that they needed to accommodate customers who were in highly regulated industries, where everything you do needed to be traceable and documented.

    You really had no motivation to do much of anything above and beyond. Even fixing trivial "no-brainer" bugs got deferred simply because there was too much process involved to actually check in the fix.

    But from one who actually had to do it, I would describe it as "soul-sucking".

  39. Not all projects are amenable to Agile by non-e-moose · · Score: 1

    Yup. A Troll-bait comment subject. But not every project is one where it can be afforded to "fix it" next month/next quarter. Device drivers. Compilers. Mainframe OS's. I heard a figure recently (from in-person discussion with a Mainframe SW person) that downtime costs them upwards of US$10,000 PER SECOND of downtime. Agile focuses on fast responses to customer bugs, not on ensuring that the number of bugs experienced by the customer is virtually zero. The point is that Mission Critical content has to have a correctness level which is an order of magnitude (or more) than a game or a less-than-wonderful UI. A bad case scenario: Oh, I'm sorry, Miss/Mr. medical patient of Therac25 (http://en.wikipedia.org/wiki/Therac-25) - we'll fix that in two revisions by using our Agile process (its a tough bug to fix), and we're sorry that you will contract a horrible form of cancer in the meantime.

  40. Roadmap! by chrismcb · · Score: 1

    If you are working for a customer, you still need a roadmap, some sort of over design. Your customer needs to know where you are going. You can't just say "we'll give you an iterative version with a new feature or two in two weeks" and say that every two weeks. Because then you'll do exactly what you described, leave the customers and programmers confused. You don't need to design every last thing out, but you still need a roadmap.

  41. Features in search of an architecture by Animats · · Score: 1

    "Agile" techniques are useful when the problem can be treated as a large number of decoupled features. This is the case for many web-based systems. (Especially since the database system does most of the the stuff that really needs to work right.). It's not too useful if the problem isn't like that.

    This is part of the curse of open source, which tends to turn into a set of features in search of an architecture. Some open source projects have a strong architecture, but they tend to have a "little tin god" problem.

  42. Not Worth. by Anonymous Coward · · Score: 0

    I have been work in software development accounting sector.
    1.Will exhaust Developer because of time constraint.
    2.User tend to bypass normal accounting procedure,making development agile faster but inconsistent software.
    3.Software love by user. No the user think differently.User also exhaust numerous of testing and blaming the vendor because inexperince while the the vendor much confuse since they follow the new and fast agile development.
    4.Hardly to get break even.
    **
    Now i'm moving to non customize accounting software.It had to because customer usually don't understand how software and accounting works.
    More report on excel,make user itself tend to do agile reporting rather then forcing developer to agile reporting.
    BI tools->unsure it will help or not.

  43. Re:Are you nuts? Don't talk agile with the custome by sphealey · · Score: 5, Interesting

    If anyone thinks that there is complete, 100%, nailed down design for a 75-story skyscraper before any digging starts, and that the design for the 69th floor is similarly nailed down before the 3rd floor is finished, they need to spend some time on a construction site. The overall shape of the building, the structural design, the very bottom and top floors, and the allowable parameters for design of the later floors, sure. But the exact design of floors 50-72? No. Plan for what happens when the selected elevator supplier goes bankrupt, the ship carrying a key delivery of structural steel sinks, the developer finally signs a tenant for 68-70 and he wants an internal staircase and private elevator for his offices? No. Look up "fast-track" in a construction dictionary.

    sPh

  44. Re:Are you nuts? Don't talk agile with the custome by sphealey · · Score: 1

    - - - - - I understand that not all customers can do this, however.

    Whereas my experience is more with a bewildered business unit representative being handing a 200 page "spec" in dense type and bizarre, technical language and told he has until Thursday to approve it (with all the time invested, it is understood that no spec can ever be rejected); then being equally bewildered when the mods delivered (which do in fact match the spec, modulo interpretation) don't do anything like what he needs them to do or thinks he asked for. Similarly with dozens of business unit reps sitting in a room reading laboriously through aforementioned spec line by line and being told to "sign off" on each page; when it doesn't work they are contemptously asked 'why didn't you speak up in the review meeting?'.

    sPh

  45. Seriously.. by houbou · · Score: 1

    Agile or Not, users should NOT care, which means, if you can't satisfy 66% of your users with your product and/or your services, then you are doing bad business, it's that simple.

  46. Attack of the pseudo technological acronyms by dgharmon · · Score: 2

    key words: Agile Portfolio Management, ALM blog, Application Lifecycle Management, Application Lifecycle workflows, backlog of business initiatives, backlog of scenarios, backlog of user stories, Build conference, configuring any infrastructure, enterprise agile, enterprise agile capabilities, granularity, higher-level backlog, in-flight releases, Kanban support, lightweight code commenting, multiple Scrum teams, nifty Git innovation, pending changes, Project Server integration, Release Management, sprint after sprint, sprint management, Team Foundation Server, TFS 2012, trace the relationships, version control solution, VS 2013, VS Premium, web based test case management solution, work breakdown ...

    --
    AccountKiller
  47. If you have no process then you are doing it WRONG by Anonymous Coward · · Score: 0

    Agile, has process, lots of process, it is just different. If you are doing Agile with process then the problem is not Agile it is your teams lack of understanding of Agile development methodology.

  48. Good points, good question. by Sla$hPot · · Score: 0

    "How do you respond to user anxiety from Agile processes?"
    I try to calm them down the best i can.
    If it doesn't help, i try to use the Jedi thought trick.
    "You are not worried, you have nothing to fear, you will not feel troubled by the mad havoc caused by the ever changing user control base classes, data model, web service contracts, everything will be fine at the next milestone :))" :/

  49. Missing the point by Anonymous Coward · · Score: 0

    The reason your users hate iterative, continuos improvement production cycles is because they don't actually know what they want or how to express it and they don't like being made aware of that fact.

  50. What the heck is "Agile"? by Anonymous Coward · · Score: 0

    This is the most ridiculous article I've ever read in my life. Either I'm mistaken, or the original author thinks Agile is an anthropomorphic entity that:
    1. Magically adds "too many people".
    2. Prevents anyone from adding any process.
    3. Enforces SVN? Without undo/merge semantics, moreover!
    There is no process because you didn't put any in place! How dumb does this have to get? If there are "too many people", well I don't know that non-Agile prevented there from being "too many people". Ask some people to back off. My God, how difficult is it to walk over to someone and say, "Dude, 10 other people are working on it already. Do something else." My goodness - developers overwriting each other is the stupidest "issue" I've heard in years! How the heck does "making fast decisions" translate to "our developers suddenly forgot conflict-resolution when merging branches"?

  51. Agile is perfect. You aren't believing enough by Anonymous Coward · · Score: 0

    Burn the witch!

  52. Re:Are you nuts? Don't talk agile with the custome by ebno-10db · · Score: 2

    That's the flexibility needed in the real world, which is what overly rigid advocates of the Big Plan don't get. Real projects always have with a certain unavoidable level of changes and chaos. Agile is designed to be pure chaos.

  53. Who's job is it anyway? by joshua.morison · · Score: 2

    As a project manager who has run projects using a bunch of methodologies I would never expect my development teams to be responsible for managing the expectations of end users. That's my job. In my waterfall run projects, especially the ones with long schedules it's my job to set the expectation that if we agree on a design 12 months before we plan on delivering then change requests are to be expected. From both sides as well! Users will learn new things, understand their end state better and be impacted by changes in organisational goals. All of which will change their minds on the design we agreed and have been building. Similarly with development teams. Other projects will come along and change interfaces half way through, people leave, assumptions are proven wrong or right and this can involve more changes. In an agile project I generally tell my end users that I'll let them off the hook on locking down their requirements to the nth degree by the end of a phase, but in exchange for that they need to be prepared to engage with me and my team in what might look chaos from the outside but is just a different way of getting to the same end point. I remind them of this trade off along the way as well. My point is it's not the developers job to manage the expectations of what will happen in an Agile program. Developers should be left to do what they do best; develop awesome software that enables business to do what they want to do. Managing peoples expectations is my job. Josh.

  54. Skewed Magic Quadrant by Anonymous Coward · · Score: 0

    Imagine a Gartner style Magic Quadrant...

    X-Axis is developer work ethic - Lazy/Energetic
    Y-Axis is Agile process Poor/Good

    Problem in my experience (10 years as a hired gun development PM) is that far more teams that shout agile are firmly in the bottom left quadrant. When you get one or can move one to the top right it's so good that I (almost...) feel guilty taking the money. But more often than not I cringe when I'm given an 'agile' team to run because I know I'm going to be pushing crap up hill.

  55. When Agile Works by edelbrp · · Score: 1

    It works well for small teams who already use good practices and know exactly what needs to be done. The programmers keep things in their heads rather than having to write documents or have meetings ad nauseum. It is honestly not common when it works flawlessly, but it can work and cut a lot of corners to get a product out the door.

    I found some of the opinions at 37signals a bit self serving and conveniently leaving out a lot of gotchas, though. Yes, going straight from concept to code is great when you aren't just the programmer but the client as well. And as you spread responsibilities out to more team members, guess what? All those processes that were tossed come back into play as being necessary.

    To me, though, a big red flag was the mention of code routinely getting stomped on even though they are using SVN. On my projects we come to a screeching halt when a conflict arises and we resolve it carefully. If programmers are routinely choose 'use mine' on commits then there are some bad practices going on. That's also true if things are getting pushed 'live' too quickly. It sounds like Esther is letting the programmers run the asylum.

    1. Re:When Agile Works by foniksonik · · Score: 1

      Use GIT and pull requests. Have a maintainer. Use GIT flow methodology. Have unit tests for all functional code. Every feature is a branch, every hot fix is a branch.

      Test your branch before you request a pull by sending it through a build server. The maintainer tests it after the merge with the develop branch. If all unit tests pass and the maintainer is happy with the build output (after linting, static analysis or any other heuristics he cares about) he pushes it to a QA environment.

      Now the QA team runs their suite of integration tests and files bugs. After those bugs are fixed (should be minimal) the maintainer tags it and creates a release branch. This is pushed to a staging environment. QA does a quick regression suite and then the business users pound it in designated areas or you can put it out for a community dev release (beta) for user feedback. Any bugs are filed and fixed.

      Now it's ready for production. Follow your prod release process (approvals, sysadmins, etc). Now merge back to the master branch and back down to develop.

      In the meanwhile another feature branch has been completed. They should have already merged back develop and tested that. Rinse and repeat.

      Get a bug report from a user? Hotfix branch off of Master - pull request, merge into Master and down to any release branches and develop.

      Code does not get stomped on. New code either passes tests or it doesn't go anywhere.

      --
      A fool throws a stone into a well and a thousand sages can not remove it.
  56. I don't hate Agile by Tridus · · Score: 4, Interesting

    I work in a government office as a developer. We get lots of projects that come from management, who may or may not actually understand the business they're managing. If they do, they can give you some idea of what they want. If they don't... they can give you a very vague, buzzword-laden description of what they want.

    What would tend to happen is people would go off and try to use something like waterfall. They'd go gather requirements, build a big specification, design, etc etc. The managers in question would sign off. We'd build it. We'd then learn at the end that it actually doesn't do what they need it to do, and their business actually doesn't work the way they said it did. Why? Because managers and users suck at dealing with this type of stuff (in my experience). In house, consultants, it doesn't matter. This has been done wrong so many times that we decided to try something more agile.

    And it's worked for us. We build the pieces that people actually do know we need (either because they're based on a paper process that we can look at, or because some user can articulate it). We get that into people's hands. They tell us what they hate, what they still have to do manually, and what would make their lives easier. Then we go off and build those pieces.

    It's not actually saving us time, but the users have been MUCH happier with the end products. And since I like happy users and dislike spending time building things that are pointless just because two years ago someone thought it should be in the requirements, this works out pretty well for me.

    It's not the right way to do every project or in every environment, but my users certainly don't hate it. (Quite the opposite, we get a lot more feedback from people asking for improvements now because they've seen it acted on more readily.)

    --
    -- "So they told me that using the download page to download something was not something they anticipated." - Bill Gates
  57. Re:Are you nuts? Don't talk agile with the custome by Anonymous Coward · · Score: 0

    > Agile is designed to be pure chaos.

    You're doing it wrong.

  58. Users don't hate agile... by Virtucon · · Score: 4, Insightful

    Users don't hate agile. They want a system that is usable, delivered quickly and that works. When done correctly Agile does work and gives users what they want. but it does have its drawbacks especially in dealing with larger teams and larger problems. Users are also a subset typically of stakeholders. Stakeholders come in various categories but the more important the stakeholder, the more influence and stopping power they can have for their project. It's up to your Scrum Master or PM to keep them happy and if they're not, you'll be out on the streets in no time regardless of the methodology. To keep key stakeholders and keepers of the PMP flame, there are techniques and methods to reign things in but also not to make it draconian as to prohibit actual productivity. On the other hand those who hate agile are the ones who usually have invested a lot of time in "process." While agile has it's processes, they are considered anti-patterns by those who have defined things like structure and status reports and 'check the box here, did you check it? I'm still waiting for you to check the box. I haven't seen you check that box yet, were you going to check it? You have to check the box.' It reminds me of this.

    What bothers me more and more is the FUD that's generated around any process change that instantly creates this knee jerk reaction against any changes to Software Development practices and techniques. Shit, if we all stuck our heads in the sand, we'd still be writing COBOL on Mainframes with POS facilities like TPF/ISPF. Anybody for punch card compilation? How about decolated listings?, that tablet thing is just a fad and you need to use pencils on 5 part form paper the all the nice carbon paper stains on it. No Fucking way do you need visual tools... Those are bad and promote bad habits we can just program everything with the switches on the front panel of the computers, yeah, bring back front panels and switches and blinky lights. That way we can troubleshoot bad instructions by looking at the registers...

    Shit, when RUP came out everybody bitched that it took a special set of software to do those funny use case diagrams but guess what they didn't realize that it was the modeling that was key, not the tool but that point was missed and everybody wrote it off. Use Case driven development? It will never work I heard, shit that was what 15, 16 + years ago and people still bitch.

    For those who don't like Agile, I suggest really trying to get involved with it, try it you may like it if not don't work with it and certainly don't work on an agile project if you're against the methodology; all you'll do is fuck it up. For those Agile folks who claim all the other processes are bad and don't produce anything, you also have to realize that businesses are defined by their policies and processes, for Agile to work you have to be able to live within that structure and not all software is done in an incubator setting with you and your fellow software developers being bunk-mates all living on Top Ramen. There are processes in the world, requirements and not all of them can be told as simple stories and for those who don't like architects, too bad, they help keep the orchestration together on those bigger projects and yes all systems have "qualities" that nobody likes to talk about when you start talking about scaling and all the other non functional requirements that won't show up on your story board.

    --
    Harrison's Postulate - "For every action there is an equal and opposite criticism"
    1. Re:Users don't hate agile... by Nuitari+The+Wiz · · Score: 1

      The problem is that a lot of companies think that agile is to have daily stand up meetings and keep changing the requirements or what will be delivered.

      Once you have all the components (Scrum team, product backlog, sprint goals, sprints, daily meetings, retrospective, etc) things fall in very nicely as it gives the business people the answers they need (ROI mainly), what is commited to (a sprint) at a set cost (sprint length).

      One of the easiest tool to estimate effort and business impact is to use relative value. Set something as x and rate the benefit/cost around that x for the other tasks. This gives a lot of leeway to business people to shift priorities to make sure that the team works on more valuable features first. The scrum team is also responsible for communicating back to the business people how much a feature will cost vs another feature.

      Lastly the retrospective is one of the most cut out part of scrum, and it is actually the worst one to cut out. It is there to look at what happenend and figure out how to improve the team and get the team working efficiently. I've had quite a few of those meetings that ended up with the scrum master deciding to cut out specific members because they would fail to follow basic rules (like not overwriting someone's else work in svn). It gives a structured way to voice concerns about how things are going and the quality of the individuals that make the team.

    2. Re:Users don't hate agile... by Anonymous Coward · · Score: 0

      I think this post was written in an Agile fashion.

    3. Re:Users don't hate agile... by Xest · · Score: 1

      "but it does have its drawbacks especially in dealing with larger teams and larger problems."

      Although I agree with everything else you've said, I don't really agree with this. Things like SCRUM work perfectly well with large teams and large problems, because all you do is have sets of SCRUM teams of 5 developers or whatever each working on separate modules.

      What this does mean is that you need really good architects however that can design a solution in a nice loosely coupled component based modular manner, and it does mean you need people who have an overview of those modules and can coordinate any interop between them - the people who do this may themselves even be an agile SCRUM team of their own, or they may just be the original architect or architects by themselves, or even a technical project manager or two.

      There's no inherent reason why agile can't be well suited to large projects though, on the contrary, the larger a project gets the harder it is to control it with waterfall (due to the inherently greater scope for change) so things like scrum become more effective.

    4. Re:Users don't hate agile... by Virtucon · · Score: 1

      Well you bring up a good point but I've seen it break down because the orchestration between the teams falls apart and the usual self interest sets in. While small teams can usually come to consensus on design the "us vs. them" usually sets in. Strong architects can help in that regard because as always the rubber has to meet the road so to speak and code needs to be delivered. I've seen too many projects with 10 or more teams like this get into these kinds of pitfalls and eventually you then have management (or key stakeholders with purse string control) step in and kill the initiative for what they perceive is no progress and disorder. Yeah, Waterfall suffers from that too but you see those check boxes on processes especially around paperwork all come into play ultimately feeding that political beast that funds everything. When that beast isn't fed is when people start getting their clubs out and chanting "Agile Bad.. Ugh"

      It's like the people who bitch about Windows 8. They probably haven't tried it and are so tied to the start menu that they aren't willing to change and ultimately that's the root of the problem. In an industry where new techniques, tools and methods are always in practice we still find ourselves surrounded by people unwilling to change or learn new things because it doesn't fit in their view of something that will work.

      --
      Harrison's Postulate - "For every action there is an equal and opposite criticism"
    5. Re:Users don't hate agile... by Tridus · · Score: 1

      No, it's not like the people that bitch about Windows 8. Windows 8 has real, serious UI deficiencies that make it worse than Windows 7 at a great many things.

      This idea that change is always good is just as much bullshit as the idea that change is always bad. Microsoft botched the UI in Windows 8.

      --
      -- "So they told me that using the download page to download something was not something they anticipated." - Bill Gates
    6. Re:Users don't hate agile... by Xest · · Score: 1

      There doesn't need to be any orchestration between teams that's really the point of good modular software design - each team is in effect just developing it's own product, at worst you'll have a team that binds it altogether.

      But normally, you'll have team 1 building a web service that exposes methods a, b and c with well defined parameters beforehand, you'll have team 2 building a DLL that utilises those methods and can build against a mock version of the service, team 3 that utilises the DLL but they can just use a placeholder DLL for development and so on and so forth.

      It's your integration testing team that will put them together to find bugs and report back to whichever team they deem to be at fault to fix it as a bug request.

      I'm not trying to be insulting but if you've got a scenario where teams are fighting each other over things then your architect has already failed to properly modularise the software and separate concerns, and that certainly isn't what I mean by a good architect. I agree there are some technologies and platforms where modularity becomes difficult to achieve (i.e. some embedded systems), but in those cases I think you're just treading into territory where agile may not be the best fit anyway. If you're developing something with say, SoA though then it's trivial to just hand different teams different services and tell them what interfaces they have to build against - that way the teams don't ever even need to speak to each other even, they could even be spread across the globe and speak completely different languages as long as they get their module built and built to the interface that has been specified.

      With regards to Windows 8 I don't think it's necessarily an apt comparison because Windows 8 has genuine issues that are objectively problematic, for example, new user interface concepts such as moving over hot areas to be able to access settings/shut down the system but no visual cue as to that fact such that for a user they can be left with just absolutely no idea how to shut down their system. That is objectively just a massive usability failing and is an example of one of many genuine issues with Windows 8.

    7. Re:Users don't hate agile... by Virtucon · · Score: 1

      Okay so go out and get the Free Classic Start Shell or one of the other tools out there and you never have to see the "Metro" UI.
      That was a mistake that Microsoft made because in the preview releases you could bypass it directly but MSFT took it out. To handle that other folks stepped up and provided start menu tools, like Classic Start Menu. There's quite a few Windows 8 UI apps out there that I do like. Is it different? Yes. Are there some design issues? Yes, like not being able to change your screen background etc. But I use it day in, day out and just deal those quirks. One thing that does annoy me is the fact that the Windows Store assumes that everything you download you must want forever, you can't delete app history. So you download an app, you hate it but the Windows Store keeps it for you, forever. It was probably one of those stories that was missed in one of the agile cycle "I want to be able to delete my app history." That hasn't stopped a few of my customers from going with it, nor my sons (6 copies ugh licensing) from using it. Ultimately it may prove to be a marketing failure like "New Coke." but it works for me, as does Linux and Solaris and Android.

      --
      Harrison's Postulate - "For every action there is an equal and opposite criticism"
    8. Re:Users don't hate agile... by Virtucon · · Score: 1

      Good points, but strong architecture is one of those draconian things that the Agile camp feigns away from. And in a design build process, things will obviously be fluid but ultimately somebody needs to own the architecture, define the interfaces and make sure that it meets the non-functional requirements. Or you'll get folks who start falling into anti-patterns and fall into their old Machiavellian habits, thus eroding the overall productivity of the team.

      As for Windows 8, there are quirks and differences and tools that can get you around those. That doesn't make it wholly bad, maybe rough around the edges but ultimately the market will determine how successful it is. A lot of people don't like Unity in Ubuntu as an analogy, there are alternatives for that including other distros. The same holds true for Windows 8, don't like not having a start menu, go download one. Don't like the charms bar? Meh, it's change and after awhile of using it you get used to it. Subsequent service packs will address the problems just like it's been for all the other Windows releases since NT.

      --
      Harrison's Postulate - "For every action there is an equal and opposite criticism"
    9. Re:Users don't hate agile... by Xest · · Score: 1

      I think you're generalising now, to say good architecture is both draconian and something that the agile camp feigns away from is nonsense. Good architecture is neither draconian nor feigned away from, in fact, good architecture is central to agile - agile can only work if you work in a modular manner.

      "but ultimately somebody needs to own the architecture, define the interfaces and make sure that it meets the non-functional requirements"

      Yes, the technical architect. They'll be involved before the agile teams actually get into gear and get started and they'll have all those interfaces defined beforehand. Depending on whether you have one or more technical architects it's perfectly possible that the architecture phase is carried out as a sprint or a few sprints in itself before the developers even come along and start their sprints.

    10. Re:Users don't hate agile... by Anonymous Coward · · Score: 0

      For those who don't like Agile, I suggest really trying to get involved with it, try it you may like it if not don't work with it and certainly don't work on an agile project if you're against the methodology; all you'll do is fuck it up.

      For those who don't like Amway, I suggest really trying to use it, try it you may like it.

    11. Re:Users don't hate agile... by Virtucon · · Score: 1

      Technical Architect, Solutions Architect whichever but they are supposed to be involved throughout and making sure that things are done according to the architecture established for the project. How deep and how far that goes is up to the project definition. I was stating that because I've seen a lot of Agile implementations push that aspect down to the development teams where it ultimately gets into a pissing contest about whichever design is better. That's at the root of all of this, from the outside looking in to those unfamiliar with Agile it looks like a chaotic mess which it can be. Strange terms, Strange processes... To paraphrase "South Park" it's "Spooky Vision."

      --
      Harrison's Postulate - "For every action there is an equal and opposite criticism"
    12. Re:Users don't hate agile... by Xest · · Score: 1

      But again that's just an example of bad management than an inherent problem with agile.

      There are any number of examples of waterfall projects failing for bad management and you can't really do much about that, bad management where they don't have the right people doing the jobs they're supposed to be doing is going to cause chaos regardless of your project management methodology.

    13. Re:Users don't hate agile... by angel'o'sphere · · Score: 1

      but strong architecture is one of those draconian things that the Agile camp feigns away from.
      This is nonsense.
      Architecture is the key to any successful software project, regardless of development process.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    14. Re:Users don't hate agile... by Virtucon · · Score: 1

      Agreed, however Agile promotes that the software defines the architecture, not the other-way-round and the Architect's role is more of a supporter and mentor vs. part of the governance process. Agile wants to avoid "process smell" which can be in direct conflict with the concept of traditional governance. I'm not advocating getting away from architecture, on the contrary but whatever the team builds has to fit into some building block that is defined by architecture and that more times than not flies in the face of Agile philosophy. So choose your poison, XP, Scrum, OpenUp et al. unless you have well defined requirements (at least to understand and end state vision) as well as an architecture (even in process) you will wind up with a steaming pile of dog crap that doesn't pass stakeholder review (process smell) ultimately shit-canning the whole thing. I've watched more Agile projects fail because the team members and the PMs forget this and get too walled off from the realities of the organization that they are working with.

      --
      Harrison's Postulate - "For every action there is an equal and opposite criticism"
  59. Re:Are you nuts? Don't talk agile with the custome by afgam28 · · Score: 2

    I second the advice of not exposing external customers to internal processes. If developers want to use an agile process internally, fine, but talking about agile processes like Scrum to clients is bound to make them uncomfortable. I'm not surprised at all that users hate agile.

    Customers don't want to hear that their feature request will need to be made into a Story and put in the Icebox, and that afterwards you'll play Planning Poker and put it in the next Sprint. It's really just elaborate way of saying "OK we'll write it down and do it later", and doesn't really give anyone any assurance that 1) you know what you're doing from a technical POV or 2) that they will have what they need by the time they need it.

    Non-committal is a big issue for agile. If you want, do all that Scrum shit internally with your team, but just tell the clients in plain English that you need to figure out how much work is involved, and that you'll give them a timeline and will stick to that deadline.

    Another part of the problem is stupid terminology like "epics", "planning poker" and "ScrumMaster" (TM). Personally I find it embarassing to our profession - real engineers use technical jargon to describe the systems they are building and how they operate. But software engineers are completely obsessed with process and methodology - and are only able to talk about these things. It's amazing how we understand so little about the businesses we automate.

  60. The "Academic Dream World" Argument. by reluctantjoiner · · Score: 4, Insightful

    This attitude explains why software still sucks so badly - people making exactly the same mistakes they were making forty years ago. Mistakes which could have been avoided had they spent a day reading "The Mythical Man Month".

    I don't know where you learned your Software Engineering, but at my university, the SE courses included lots of case studies as well as studying the various methodologies. Our professors had a very good understanding why some large project failed, yet again. So be dismissive of the Ivory Tower if you want, but don't fool yourself into thinking they know nothing.

    I'll grant there's lot of things to get right, but can we at least learn from previous failures and stop repeating the same mistakes again and again?

    1. Re:The "Academic Dream World" Argument. by Anonymous Coward · · Score: 0

      Projects always fail for the same reason:

      To big a scope.
      Creeping scope.
      Too Few Resources.
      Management meddling mid-project and changing design goals (see point 2)
      Failure to get all information before starting.

      The "Big Process" isn't the problem. It's power-tripping management's fault for not allowing the process to be worked through un-hindered.

      Unless you're building Minecraft start with the end in mind and make sure you know everything you want to do, have the resources, and don't get pushed around and side-tracked mid-project.

  61. Facts? by Anonymous Coward · · Score: 0

    Agile Succeeds Three Times More Often Than Waterfall

    http://www.mountaingoatsoftware.com/blog/agile-succeeds-three-times-more-often-than-waterfall

  62. I don't know about Agile.. by samantha · · Score: 1

    But when I first heard about Scrum with its "pigs" and "chickens" I immediately thought of Animal Farm. :)

    1. Re:I don't know about Agile.. by mcvos · · Score: 1

      The pigs and chickens metaphor has been deemed bad and unconstructive in Scrum. It sounds funny at first, but calling some people pigs while suggesting others aren't really as important to the effort sets a wrong atmosphere.

  63. What many developers call agile is not agile by MattW · · Score: 3, Insightful

    I've seen actual agile, and I've seen stuff called "agile", which means, "we don't plan, but we do standups". "We're using agile" is a codeword sometimes for "we don't like or even understand SDLC, so we'll use no process and call that lack of process agile."

    There is no process. Things fly all directions, and despite SVN [version control] developers overwrite each other and then have to have meetings to discuss why things were changed. Too many people are involved, and, again, I repeat, there is no process.

    Not even remotely describing agile. Her "has 17 years of web development experience" jibes with my experience in a 5-man web shop where the term agile was literally a euphemism for "no process", and there was a COO asking for 6-month gantt charts despite the "agile" label; vs a stint at a top-3 software company where we had agile tools (ie, Rally), everyone got trained on it on our team, we had a very defined process (including using gitflow for branching and a review process pre-merge), and a full-time scrummaster.

    I don't even think this is really giving agile a bad name, because I think anyone who has experienced both (or, say, just real agile) could tell the difference easily.

    1. Re:What many developers call agile is not agile by Kazoo+the+Clown · · Score: 1

      The problem is, all many of us have ever seen is "stuff called Agile". We've seen "Agile" imposed on us from the top down, essentially removing us from all responsibility for what happens with it. So, what you end up with are zombie teams going through the motions of "Agile" in order to please management.

  64. If you give your style a name ... by BitZtream · · Score: 1

    You are doing it wrong.

    None of these silly little 'styles' are the 'one true way' to do it, if you trap yourself into any one of them, you're doing it wrong.

    Agile however is just (as other have pointed out) another way to say 'we just throw any crap code at the wall that anyone wants to make, and see what sticks'

    --
    Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    1. Re:If you give your style a name ... by Xest · · Score: 1

      "Agile however is just (as other have pointed out) another way to say 'we just throw any crap code at the wall that anyone wants to make, and see what sticks'"

      No it's not. It can be used like that and is used like that by retards but agile also encompasses an awful lot of good ideas and some methodologies like SCRUM as sometimes the exactly right tool for the job to get things done more efficiently and effectively.

      Don't mistake people having no idea what they're doing failing miserably and when questioned they say "Oh erm, yeah, I er, yeah I think it's because agile is the problem" when really they mean "I'm fucking shit at my job, I screwed up royally but refuse to admit it" for agile being actually like that.

  65. Re:Are you nuts? Don't talk agile with the custome by Darinbob · · Score: 1

    "Customer" doesn't have to be the actual customer. It can a be product manager or marketing acting on behalf of the actual end customer. If Microsoft adopted Agile do you really think they'd be sending their specs to each and every Windows user asking for feedback?

  66. Agile is really a really short Waterfall? by kriston · · Score: 1

    I recently encountered a project that states that it is being managed as "Agile." One of the developers told me that their version of Agile is more like a really, really short Waterfall process. I didn't see any reason to disagree with that so I was wondering what Agile really meant in the actual Real World(TM).

    Does that mean we're doing it wrong? I'm not sure. It seems to work well enough for our internal and external customers.

    --

    Kriston

    1. Re:Agile is really a really short Waterfall? by Kazoo+the+Clown · · Score: 1

      The best I can tell, "real" Agile attempts to apply pipelining to development, where processes are staggered and run in parallel. That makes sense, bit it's not an easy thing to do in practice,, especially when you have serial-oriented managers trying to comprehend what's going on at every step.

    2. Re:Agile is really a really short Waterfall? by Xest · · Score: 1

      Agile isn't any one set of ideas of methodologies but a number of them but the overarching trait of them is that they support management of projects where there is a lot of potential for requirements to change and hence tend to revolve around not having requirements set in stone from the outset in a single big monolithic document.

      It means different things to different people and there is no one true agile methodology, but there are methodologies within agile that are very firmly defined like SCRUM.

      The person you spoke to is wrong in implying agile is always like that, there version of it obviously is but that doesn't mean agile is always like they suggest.

    3. Re:Agile is really a really short Waterfall? by Todd+Knarr · · Score: 1

      The basic ideas behind it are:

      • Users are really bad about giving you abstract descriptions of exactly what they want. But they're really good at telling you what parts of an existing system they're using are working well, what parts aren't and how they'd prefer the bad parts to work. So get a rough prototype into their hands early, get that feedback, modify your design to keep the good parts and change the bad parts to be more what the users prefer. Lather rinse repeat.
      • Requirements will change over time. Early on they'll change faster, but change they will over the entire life of the project. Build that into your processes. Favor designs that'll let you implement just the basic functionality at the beginning without preventing you from adding the more exotic/complex parts later.

      And finally, management has to accept that there is no magic here. Accommodating changes requires work. If they're building a 4-story building and they suddenly want 6 stories, the foundations and framework will need to be reworked. You can do the work up-front, over-designing the foundations and framework to accommodate a potentially taller building before construction starts, or you can do the work later when you have to tear up the lower floors to re-do the foundations and load-bearing framework, but snapping your fingers and magically making foundations designed just big enough for a 4-story building suddenly support 6... we're not Harry Potter, this ain't Hogwarts, and the Burrow just won't stay standing in real life.

    4. Re:Agile is really a really short Waterfall? by barjam · · Score: 1

      Who cares what it is called if it works. Just have a mindset if continual process improvement. If something causes pain and isn't offering value remove it. Don't be afraid to try new stuff etc.

  67. Why the attacks on Agile Development? by eWarz · · Score: 1

    Once again, an attack on agile. I understand if slashdot disagrees with agile approaches, but posting such blatantly wrong stories only makes slashdot look bad, not agile. Disclaimer: I'm both a full time agile programmer as well as freelance, and my users from both jobs LOVE it. Instead of seeing XYZ feature in years, they see it in weeks.

    1. Re:Why the attacks on Agile Development? by eWarz · · Score: 1

      Before the powers that be bash me, let me enlighten thee. There are 2 student loan companies. One is Citibank, the other is unnamed small company B (left unnamed so they shall remain innocent. Citibank has glaring flaws in everything from security to usability, unnnamed bank b hired an agile team to revamp their website and architecture. On bank b, I can easily and quickly schedule autopayments, view outstanding balances, pay over the phone, or via SMS, or via mobile app. I can also quickly and easily (with very few steps) apply for a new loan or consolidate existing loans. Bank B has a direct user feedback loop, and they ensure that any deal breaker issues are quickly resolved. Payments post same day and much more. Citibank? The call you 2-3 DAYS IN ADVANCE to make sure you are going to pay your student loan. WHY?! Because their computer systems take 4 days to update. REALLY?!?!?

    2. Re:Why the attacks on Agile Development? by Anonymous Coward · · Score: 0

      Because Slashdot is mostly full of bottom of the rung developers nowadays and whilst some good ones remain they're no longer the majority.

      There are three types of developer on Slashdot:

      1. Students/amateurs/junior devs who have no real world experience but think they know it all and tell people with far more knowledge, experience, competence and real actual records of success in the real world that they're wrong because they think they know better when they don't.

      2. Failures. By failures I mean a combination of developers - those who failed to keep pace with change and think the world owes them a job doing things the way they did back in 1972, and people who just generally aren't very good but think they're perfect - they're not capable of seeing their faults precisely because they think they're perfect so never ever improve. They tend to cry injustice, cry ageism and so forth completely unable to recognise they're the fucking problem. To them the problem is always something else - agile, H1-B, new languages, underpants gnomes, or whatever.

      3. The ones who are actually successful and have a track record as such, they tend to be employed by decent size companies and facepalm each time someone who wrote a website for their local nursery in PHP tells them that it's a perfect language and that it could easily replace everything else in the world (see 1. above). They tend to be either lead developers, or normal developers but working in lead tech corporations like Google, Microsoft, or non-tech corporations that use a lot of tech like the financial services industry and so forth and got there through working up the ranks so have seen it all and know their stuff.

      There are of course people in between - i.e. lead developers who are retarded but got where they were because they sat at their company long enough and their company has a hopeless process for ensuring they get in the best talent, and people who have been doing it years and years but still seem to exhibit the knowledge of the amateur category but for the most part it holds.

      Couple this with the fact it's a pretty even three way split but that means the crap developers are in a majority (the good ones in 3. used to be the majority here instead) and the fact that Slashdot has a democratic voting system such that what's popular gets voted up rather than what's actually true and you start to see why things are the way they are and given that, the number of developers in group 3 is in decline and the number in groups 1 and 2 are on the increase, because no one hangs around places that are of no value to them, whilst everyone flocks to places that reaffirm their prejudices.

    3. Re:Why the attacks on Agile Development? by Tridus · · Score: 1

      Probably because it's gotten popular, and so now we have a bunch of bloggers writing about it that don't remember why people moved to it in the first place.

      --
      -- "So they told me that using the download page to download something was not something they anticipated." - Bill Gates
    4. Re:Why the attacks on Agile Development? by Anonymous Coward · · Score: 0

      Features in weeks instead of years? You obviously haven't been programming for long. That's a crock of $&#%

    5. Re:Why the attacks on Agile Development? by Anonymous Coward · · Score: 0

      So basically you are telling me that the team at Citibank sucks monkey balls, and the team at the other company does not. Just because company 2 says they do agile, doesn't agile is good in any way shape or form. It is just that the team at company 2 doesn't suck. Who says Citibank isn't 'agile' as well, just that their developers are crap?

  68. process and agile by Anonymous Coward · · Score: 0

    if there is no process, then there is no Agile

  69. Re:Are you nuts? Don't talk agile with the custome by Daniel+Dvorkin · · Score: 1

    Can you imagine a surgeon... "Well we'll just start cutting and figure it from there" no no, talk about outcome, not process. Agile talk is for the operating room, not the waiting room.

    Inadvertently, you've just come up with an excellent analogy. Surgeons don't actually work that way, and a good thing too. In fact, no one who has to do any complicated and tricky task with a specified outcome works that way ... except a certain group of fad-following programmers.

    --
    The correlation between ignorance of statistics and using "correlation is not causation" as an argument is close to 1.
  70. Re:Are you nuts? Don't talk agile with the custome by Anonymous Coward · · Score: 0

    Can you imagine a surgeon... "Well we'll just start cutting and figure it from there" no no, talk about outcome, not process. Agile talk is for the operating room, not the waiting room.

    Well other than exploratory surgery, which some surgeons are more than willing to do. A find a better metaphor is a surgeon doesn't ask the director if it's okay to wash their hands.

  71. Agile Sucks by Greyfox · · Score: 1

    Because you are doing it wrong.

    --

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

  72. Re:Are you nuts? Don't talk agile with the custome by Anonymous Coward · · Score: 0

    So what you are saying that most changes in the design of a building is because of emergencies.

    We have the same emergencies in software development, the selected libraries don't work as advertised, the vendor goes out of business, the implementation of some things don't work out in practice because of CPU usage. It is nasty, to be sure.

    But we have the problem that late on during construction of our software, they want us to have the building move around and stop at work addresses of the tenants so that they don't need to take the bus to work. I mean how hard can it be, just strap some wheels underneath it.

  73. Scrum? by Forever+Wondering · · Score: 1

    In the UK, isn't that what rugby players do and football hooligans are?

    --
    Like a good neighbor, fsck is there ...
  74. agile paradox by eennaarbrak · · Score: 2

    What developers see as iterative and flexible, users see as disorganized and never-ending

    The danger, he cautions, is when Big Design becomes Big Commitment — as sometimes business sponsors see this plan as something that needs to be tracked against.

    Anyone who expects predictability and tractability from what is fundamentally an uncertain project is going to be unhappy. But that is the sort of unhappiness that you can't really do much about.

  75. Re:Are you nuts? Don't talk agile with the custome by HeadlessNotAHorseman · · Score: 1

    The business representative should be handed a business requirements document, written by a decent business analyst, that clearly explains to them in words they understand exactly what the system will do.
    It's wrong to expect someone to sign off on a document they don't understand, and whilst it may achieve the goal of deflecting accountability, it won't result in a good product.

    --
    I like my coffee the way I like my women - roasted and ground up into little tiny pieces.
  76. This is how it works by Charliemopps · · Score: 5, Insightful

    Business unit: We want XYZ, We have a budget of $x and we want it done by July 1st.
    IS Department: You see this is a math problem. XYZ costs $y not $x. You can't come and tell us exactly what you want to have done and exactly what you are going to pay. You can tell us one or the other and we'll provide the opposing data.
    Business unit: That's not acceptable, and what about the date?!?
    IS Department: We literally have no idea how long this or any project will take.
    Business unit: We need hard facts! We need to claim our project is affordable and will be done by our arbitrary date! We need you to lie to us!
    IS Department: Ok, well, we'll use a method called "Agile" and we'll completely make up some time and costs estimates. But the whole point of Agile is that we'll revise these dozens of times during the project so that, in the end, we can claim that our estimates are accurate because we basically just made them match what they actually ended up being at the end of the project. We will blame you for the overruns in our documentation, and you will blame us in yours. Then, in some meeting somewhere we'll generally complain that all projects over-run estimates by an average of 200% and gloss over the fact that this basically proves estimates are completely made up and are of no use at all.
    Business unit: Perfect!

    1. Re:This is how it works by cheatch · · Score: 0

      This makes me laugh, after working in agile for a while now, I can confirm this.

  77. There is no difference? by SmallFurryCreature · · Score: 3, Insightful

    You are a fucking retard if you think there is no difference between making a software product and making a car. And I sure hope you never EVER get to work on ANYTHING more important then... fuck it, I hope it you never get to work on anything period.

    Some rather obvious, to anyone with a brain, differences:

    Car: Road safety regulations, any car going on the road needs to qualify in most countries to a very thick binder of rules.

    Software: no regulation.

    Car: Environmental regulations dictating fuel consumption and construction materials.

    Software: no regulation, you can even do it in .NET if you hate the world.

    Car: Has engineers work on it.

    Software: Has software engineers working on it. These are NOT real engineers 99.99% of the time. Real engineers have to sign off on the stuff they design.

    Car: Your car looses its brakes on the highway, you can sue.

    Software: Your software crashes during crunch week, SUCKER!

    The above poster then claims people can't die because of software error... is he really that dumb?

    He seems to think that software design CAN be approached the same as car design... and this is were his REAL ignorance shows.

    Cars get many times the budget and especially TIME that software gets. But cars also (increasingly so) re-use parts over and over again. Entire car lines are build on the same chassis, with the same stock engines. And what car maker makes it own tires?

    Cars also work on universal roads, nobody would put a Jeep on Mars and then call tech support because "it doesn't work".

    Software developers often are expected to create a complex piece of work, with many custom parts at a breakneck pace. It is because if you ask a real engineer to build a car in a week, he would snort at you. That is because the entire world accepts that this cannot be done. Software? They expect you to code a facebook, youtube, gmail competitor over the weekend for a hundred bucks.

    and THAT is the big difference. Not in quality or capability of the people but in the treatment they get from management. And that is because car management people have learned that anyone who promises them a new car design in a week is stoned while software managers think "wow, I finally found the only honest developer".

    Oh and finally, if car designers pulled of what software developers have been doing, our cars would not just run on water, they would do it on the rings of Saturn. See the current Jeep fiasco and the refusal for a callback despite a very high incident rate.

    --

    MMO Quests are like orgasms:

    You may solo them, I prefer them in a group.

    1. Re:There is no difference? by TapeCutter · · Score: 1

      Software that flies a plane has similar regulatory restraints as the engines that drive it In most places where software meets steel if the chief engineer has not performed due diligence on the software components he is personally liable for any damage or injury caused by the software. Do you recall the cost and legal fallout from Toyota's "sticky pedal" fiasco? I agree however that designing a car and a piece of software are very different activities, I think for all but extreme cases designing a car that can be manufactured by existing robots is far more complicated and laborious than writing a piece of corporate plumbing.

      --
      And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
    2. Re:There is no difference? by Ash-Fox · · Score: 1

      Software: no regulation.

      Actually, there is plenty of regulation requirements on software for specific purposes. This includes software used to manage the black boxes in cars.

      Software: Your software crashes during crunch week, SUCKER!

      Breaking compliance requirements after deployment results in hefty fines and lawsuits.

      --
      Change is certain; progress is not obligatory.
    3. Re:There is no difference? by Xest · · Score: 1

      Unfortunately I think developers and computer scientists have lost the battle for Slashdot.

      It's now been taken over by clueless bottom of the rung IT technicians whose expertise doesn't stretch much beyond installing a new graphics card.

      Hence, don't expect anyone with mod points to mod you up rather than mod you down. There's just too many clueless numpties in the pool of Slashdotters now who don't even know the difference between a compiler and an interpreter, or a software project and a car project either it seems.

    4. Re:There is no difference? by dcw3 · · Score: 1

      "You are a fucking retard if you think..."

      Sorry, I stopped reading at that point. You may have had a logical argument, but this kind of posting is uncalled for.

      --
      Just another day in Paradise
    5. Re:There is no difference? by StormyWeatherL33T · · Score: 1

      Apparently you're right. I'm aghast that anyone is still making the "Honda can build a reliable car but my developers can't build reliable software" argument. I thought everyone started figuring out that cars are not like software (in about a million different ways) in the 90's.

    6. Re:There is no difference? by Anonymous Coward · · Score: 0

      Lots of software have to conform to various regulations, protocols and all sorts of specifications.

  78. Have these people ever delivered a project? by Anonymous Coward · · Score: 0

    Sometimes I wonder if half the people on Slashdot know anything about what they're commenting on.

    I know, I must be new here.

    I specialise in what Agile people would disparagingly call Big Design Up Front. I've been making a bit of a career the past couple of years of rescuing Agile projects gone bad. I call my niche a "delivery architect".

    I practice what is sometimes called Iterative Waterfall. I do a lot of design work to determine what is needed to meet the system requirements. I'm talking whole-hog stuff here - use cases, written atomic factored requirements, logical class model, physical database model, screen designs, functional processing, deployment models, the works.

    I can do this work "pretty fast" because I'm "pretty good" at it and have a lot of experience at it. My current project manager, surprised at the quantity of deliverables I churn out, asked me last week if I work nights and weekends. I actually work 38 hour weeks.

    When I'm done with the design, I hand a task list over to the developers to build. And they build it, once. There's no refactoring into an implied design, I've given them the design and we build to it.

    I measure the work progress, and tell the client how long it will take to deliver.

    This is the part that an Agilista will tell you will fail "The design can't cater for things that change" they will tell you.

    They're right.

    The design can't cater for things that change, **but I can**.

    I don't just handpass the design to the devs and go on holiday. Any change that comes up, any problems that occur in the implementation of the design, they all come back to me. I refactor the design in my modelling tool, and issue the task changes and a revised schedule.

    I monitor the work *all day* and *every day* until we're done. I'm hands on. I'm often not the best coder/developer in the teams I have, but I'm good enough to know what the hell should be going on.

    Devs sometimes try and pull the wool over my eyes about how long some program should take, or how hard it is. I find that after I've coded up their work and checked it in and pulled them off the task because I've done it myself, the lies stop pretty damn fast.

    We don't zigzag all over the problem space, and neither do we progress like a laser-line. We do tiny course corrections as needed, continually.

    It works. It's predictable. I don't know why everyone doesn't work this way.

    I have a couple of theories.

    One is that many devs are "design blind", just like some people are "colour blind". They just don't have some part of the brain needed to do design. Spolsky reckons some devs are "pointer blind" and "recursion blind" and can never understand pointers or recursion. I think the same thing about design.

    Another theory is that most devs just don't have the discipline to dive in and **think** about all the things needed to do a design, and do them. It's hard work. I'd much rather just jump in and start coding myself, I've just learned over 30 years that the design way of thinking gives better results faster.

    I'm sure that Agile "works". Lots of things "work". If you're in LA and you want to get to New York, walking "works", it's just not very effective.

    My way involves me and the BA's thinking so hard for a couple of weeks or months that our heads steam, and after that it's just a simple matter of tracking the work allocations and making decisions.

    Jaycee.

    1. Re:Have these people ever delivered a project? by Todd+Knarr · · Score: 1

      From personal experience, it depends on how much knowledge of the final requirements you've got. One thing you've got going for you that the initial team didn't is the initial work they did figuring out requirements. They may not have produced a workable result, but the Agile team you're "rescuing" almost certainly accumulated a lot of information about what exactly's needed in the final product. You get to base your design off of that.

      The hard part of course is where you aren't rescuing another team and don't have all the information they accumulated. That's where waterfall breaks down, because it's hard to do the whole design when you don't have much clue what you actually need to build. You have to do a lot of thinking and basically sketch out almost the entire final system, and that takes more time than management's usually willing to allow without seeing some kind of results (which you won't have because until your design's finished you can't start coding and producing what management would call results). Bear in mind that waterfall development got a bad rep precisely because of an accumulated history of failed projects, missed deliveries and products that didn't do what was needed (there's a lot of truth to the line from a filksong "It's just what we asked for / but not what we want."). Don't ask how many times we've started into things only to find out about huge areas that nobody even thought existed.

      Simply put, if you're doing something that hasn't been done before you need to do a lot of exploration to figure out what the users really want and what the best way of doing it is. Agile didn't just pull the idea out of thin air, it came from the acceptance of decades of hard experience: on a non-trivial project you do not know and can not know all the requirements and gotchas going into it. The problem is often that management doesn't accept this, and they tend to panic just at the point in an Agile project where the developers have finally gotten a good handle on the requirements and are in a position to nail down a good design and start working towards it. That's compounded by a lot of Agile teams not having group buy-in on a single design and set of requirements. You don't have to get everybody to agree on what the best design is, but you do have to get everyone to agree on what the design will be for this project. When you don't, when you get every developer with their own idea of how it should work, it all falls apart.

    2. Re:Have these people ever delivered a project? by JonChappell · · Score: 1

      Re: (Todd Knarr's comment) : "Simply put, if you're doing something that hasn't been done before you need to do a lot of exploration to figure out what the users really want and what the best way of doing it is" Right on the money ... if what you are being asked to build is "Version 2", then you have a lot to work with, but, if you are making it up as you go along, then it's better to admit (at least internally) that you are doing so, and accept the constraints. This whole topic could have been titled "Why your users hate Development!". :-) Before debating waterfall vs. agile, I would ask some basic project questions, on the management side: * Is there a single business case / requirements owner who can quickly sign off on what you are building, or is this large committee-ware? * Have initial requirements been at least sketched out? * Is this something that has been done before (by members of this team), or is this a new application/problem domain? * Is someone on the team taking the role of project manager, or is that unclear to the team? * Is someone on the team taking the role of lead architect, to help assure design consistency and to look for holes? * Has the problem been divided into manageable pieces? * Has each developer on the project been assigned specific authority, responsibility and deliverables (even if prototyping)? * Does the development team have "critical mass", that is, do enough people on the team possess the skills and problem domain knowledge to move forward quickly? * Is the team the right size? Larger groups, by definition, have more communication problems and are less agile than smaller teams. If the answers to these questions are negative, the selected methodology is unlikely to overcome such basic problems.

  79. Where these proffessors the same profs who teached by SmallFurryCreature · · Score: 2
    Where these professors the same profs who educated the people who got it so badly wrong?

    I can't help but think of the saying "De beste stuurlui staan aan wal"/"bachelors' wives and maidens' children are well taught", sure these profs "know" what went wrong... and where is the proof that what they THINK is right? I can tell you why Hitler lost the war, it was his silly mustache. I have now educated you on this fact but that doesn't make me right.

    Just because someone analysed a disaster and claim X caused it, does not mean X caused it. This is ESPECIALLY important to remember when these people have for decades been teaching the people do did X.

    When people say hindsight is 20/20, they are wrong.

    --

    MMO Quests are like orgasms:

    You may solo them, I prefer them in a group.

  80. User satisfaction = goal nr 1 by Anonymous Coward · · Score: 0

    If the user is not happy with agile development then clearly things are going very bad indeed.
    In my company we do agile because the internal client wants it. They are the only ones who stand to benefit from an agile approach.
    For us ICT agile development makes things only much more complicated:
    * There is no overview
    * No specification: you must find out everything yourself, making sure that your decisions do not impact something else.
    * Multiple versions of the software are developed in parallel with enourmous problems for configuration management, development environments etc.
    The only net profit is that the internal client
    * Gets a first working version that is actually used in production much quicker.
    * Can see the evolution of the system iteration (slice) afther slice, reducing the risk on the 'this is not what we asked for' syndrome.

    Normally the client is driving the scope of each iteration (slicing) them selves. So they should be very much in control of what comes out of an agile project. If that is not so (as seems to be the case here) one of the fundamental pillars of agile development (client and ICT form ONE team) has been ignored.

  81. Re:Are you nuts? Don't talk agile with the custome by Entrope · · Score: 1

    That approach works well if you're selling many, many copies of your software, or if the customer representative is intimately familiar with the customer's actual needs. For most more specialized development efforts, having a customer representative ends up adding a middleman, confusion and extra work.

  82. Developers overwrite each other? by TheMathemagician · · Score: 1

    If a user requests a new feature or behaviour then capture it in tests, implement, and release. No-one can now overwrite the behaviour without breaking the tests which should force either some internal resolution or feedback to the user: "Bob said this number should be calculated this way, you asked for it this way, you need to agree between yourselves". If developers are overwriting each other's changes then you are really are doing it wrong.

  83. Agile is not the problem by Drethon · · Score: 3, Insightful

    The way it was taught in my college class anyway, Agile is simply a different process for implementing code. The problem is not how the code is written but how the customer requirements are written. Both Agile and Waterfall will suffer greatly if customer requirements are incomplete or worse, contradictory. The results are always having to go back and rewrite code

    Agile can work nicely to develop the customer requirements into a modular system where components can be quickly added and removed as opposed to the blob of spaghetti that Waterfall can produce. However both Agile and Waterfall can end up with that same blob of spaghetti when the developers are not disciplined enough to design carefully instead of quickly.

    1. Re:Agile is not the problem by Anonymous Coward · · Score: 0

      The way it was taught in my college class anyway...

      Oh good. Obviously the Ivory Tower is never wrong.

  84. And then there's the documentation..... by TrentTheThief · · Score: 1

    When that project is rolling along, the application is seldom usable for documentation purposes because of missing or changing functionality. And since there're no specs to work from, it's damned hard to write documentation for the product.

    You guys can write all the fancy code you want, but if your users don't have reliable docs that explain how it all works, you might as well have been sucking your thumbs as writing code. Your application will be misused, misunderstood, and eventually your development and support teams will be expending as many hours supporting the current application as they are trying to code updates, because you wanted to be trendy and were too damned lazy to provide the tech writers with technical and functional specs.

    1. Re:And then there's the documentation..... by Baby+Duck · · Score: 1

      Agile includes project/product management (specs), QA (tests), and technical writers (docs) along every step of the way. Only developers code and do estimates, but everywhere else, everyone else, is heavily involved. As stories/tasks are coded, QA and technical writers immediately begin testing/doc'ing those features while developers jump to the next story.

      --

      "Love heals scars love left." -- Henry Rollins

  85. Re:Are you nuts? Don't talk agile with the custome by Anonymous Coward · · Score: 1

    No such fast-track in other markets. The permitting authorities do want the items you mentioned and any necessary impact studies and site plans. The contractors usually want the first iteration of the detailed designs (work plans) along the rest of the material like cost estimates before even committing under a contract for the job.
    Iterations on the plans as responses to changing conditions do happen in the preliminary design phase, the permitting phase and during the construction phase. Each step do tend to incur various amount cost multipliers and risks to the calculations, strongly depending of the nature of the change.

    he wants an internal staircase and private elevator for his offices?

    Customers who have such interests do make a commitment already in the earlier stages of development. The space is often reserved and sold long before the building reaches its top height.

  86. VOTE DOWN (designing car != designing software) by mha · · Score: 2

    This comparison (designing a car - designing software) comes up again and again and again and again.

    Just a thought: The basic function of a car has not changed since car #1 beginning of last century. Everything else were millions of very tiny gradual improvements.

    Tell me again how software design is like that?

    1. Re:VOTE DOWN (designing car != designing software) by stackOVFL · · Score: 1

      ummm, yeah it kinda has changed. Look at the transmission- computer controlled (software). Engine: wow lots of software there, steering speed sensitive has a CPU in there. Hell, the windows nowadays are controlled by MCU on a CAN bus. Even the gauges on the dash MCU controlled. Today's cars dripping in microprocessors and micro-controllers all running. Cars today are SW with wheels.

    2. Re:VOTE DOWN (designing car != designing software) by Hognoxious · · Score: 1

      All of what you mentioned is true, and all of it is irrelevant.

      The function of a car is to transport a small number of people (and optionally some cargo) from A to B more conveniently than walking. Just the same as a horse and cart.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    3. Re:VOTE DOWN (designing car != designing software) by Anonymous Coward · · Score: 0

      TEX is done like that :) true masterpiece

  87. Big Commitment by Cid+Highwind · · Score: 1

    "The danger, he cautions, is when Big Design becomes Big Commitment — as sometimes business sponsors see this plan as something that needs to be tracked against."

    Damn skippy it becomes something to be tracked against. The customer is going to validate against the Big Design so your agile team's adult supervision better be doing it too!

    --
    0 1 - just my two bits
  88. All development models are a fiction by ras · · Score: 1

    All these development models are designed to deliver code to a customer. There is a beginning and an end. Waterfall, Agile, whatever - they all assume this. They just disagree about how you take the journey.

    It's true there is a beginning. But for the developer there is no end. He is never thinking about the end, because the end is when the code dies. If it dies, he has failed. Thus he doesn't plan for it, instead he actively plans for avoiding it.

    Software isn't a deliverable product. It doesn't wear, and if it constantly evolves it will never die. In that way it's like a living organism. Occasionally it sheds copies that are delivered to the customer, but for the developer that isn't a singularly important event. Instead the developer is constantly thinking about about where he wants to be in 10 minutes, in 10 hours, in 10 days, in 10 months and 10 years, fully aware that if he gets any of those decision badly wrong the organism in his care might go extinct.

    Thus any development process, like Agile or Waterfall, that plans for a definitive end point will never be satisfying solution. They are all based on a fiction - software should be treated like a toothbrush, something you deliver to the customer and forget. In their hearts, all developers hope that isn't true, for their code anyway.

    1. Re:All development models are a fiction by frank_adrian314159 · · Score: 1

      ...because the end is when the code dies. If it dies, he has failed.

      It is not a failure. All code dies. Nothing lasts forever. It is a result of change and the fact that no one can control the environment to the extent that artifacts can be protected from all environmental changes for all time. Eventually the asteroid hits.

      --
      That is all.
  89. There is no process? by angel'o'sphere · · Score: 1

    She writes "there is no process" ...

    If they have no process they should consider using one. What has that to do with "agile" or not?

    Nothing!

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  90. the big problem I have with Agile by ILongForDarkness · · Score: 1

    Is getting the customer/boss to agree to "done is done". When developing iteratively every time a sprint ends I find the user sitting around in deep thought trying to think up something else that might be useful ... sometime ... to someone. Projects never end, people keep coming up with what if this happens I might want scenarios.

    Maybe not so much of a problem in contract/software development shops but I think the majority of people that develop are in house as I was at the time and there is no direct cost for these endless "projects". Rather than saying there is nothing to do and give you more vacation as a perk (yeah right) or find other problems to work on it is easier to keep bumping the version number on the corporate dashboard every other week. It is easier for your manager than for him to actually have to come up with know ideas or admit that perhaps he doesn't have enough work for a full time dev.

    1. Re:the big problem I have with Agile by Shados · · Score: 1

      The issue is every company, especially small ones, think they're unique little butterflies and are, OH, so TOTALLY different from every other company that does the same damn thing in the same country.

      "This will never ever work for us! We're...DIFFERENT!", people at my last job did. Which was completely ridiculous, since the job i had before that was a company that did the same thing, in the same region, with the same profit margin and roughly the same revenu, and the same amount of employees...in the same industry, and they were able to do it just fine (and were, as expected, growing faster).

      I currently work for a company that, while officially "waterfall", really does things agile by the book down to a T, at least once IT is involved (the business/marketing side of things spends months planning stuff and writing pretty papers and documents and blah blah...but once IT is involved, its a pure iterative process with a fixed release schedule, every 3 weeks, precisely. Not one day more, not one day less, kanban boards are used by the business to prioritize things and visualize the flow, etc etc etc).

      It works beautifully. But then some other company will look at that and be: "nope! We're completely different! we cant do things this way!", and instead keep on with their trainwreck of a process.

  91. Re:Are you nuts? Don't talk agile with the custome by ILongForDarkness · · Score: 1

    The customer will know about the process pretty quickly when you just start coding without listening/attending to 3mths worth of requirements analysis planning meetings.

    I think it is easier if you phrase it about adaptability. We don't require you to know upfront exactly what you want give us a general idea and we'll give you working code to play with regularly. That way you can decide maybe something isn't really needed, maybe something you thought wasn't important becomes important etc and we aren't stuck with a lot of wasted time building something you wanted last year rather than the thing you really need today.

  92. Re:Are you nuts? Don't talk agile with the custome by mcvos · · Score: 1

    Agile is designed to be pure chaos.

    More accurately, Agile is designed to operate in chaos, and bring structure to it.

  93. more slashdot stores by mark_lybarger · · Score: 1

    this is one of the largest buzzwords in the industry lately in concert with virtualization. i'm surprised i don't see many "articles" on ./ about agile.

    i'm not sure i quite understand how or why a software development methodology has become the defacto standard for the project management community as a whole. literally, overnight, project managers have become scrum masters and every project from developing a new predictive pricing solution for sales to an os upgrade project becomes managed as an "agile" project. did manifesto group envision (design/declare) a new project management methodology or good practices for developing (building) software?

  94. Re:Are you nuts? Don't talk agile with the custome by Anonymous Coward · · Score: 0

    "...talk about outcome, not process."

    But with Agile there is no outcome, just process. Agile does not work toward an end nor does it invest in understanding when there might be one. It is optimized for projects for which the intent is a continuous stream of incremental deliverables of little or no value and no completion. Great for sustainable billing and the pretense of interchangeable man-months, bullshit for anything worth doing.

    How long has the Linux kernel been under development? Is it done yet? What version of Windows is Microsoft on?

    I've never seen a software project get completed. All I ever see are a series of major releases and minor releases, and eventually the project is discontinued. How is that different than Agile? You work and you work and eventually you have something that is worth releasing to the outside world. Then you keep working and working until the next time you have something worth releasing to the outside world.

  95. Re:Where these proffessors the same profs who teac by conquistadorst · · Score: 1

    Or just maybe, we could take the wiser road and listen to all opinions and pick and choose the best from everyone. Say, instead of drawing a line in the sand and stereotyping/demonizing the people on the other side. When people stupendously say "I'm right and they're wrong" they're usually wrong themselves on multiple counts. A majority of the time, each side of the argument will have at least some valid points. I think you also misunderstand the idiom of hindsight is 20/20 not even mentioning it's usually used in the context of sarcasm. Of course decisions are easier if you already know the outcome.

    Agile development is a method that has its respective strengths and weaknesses, it's not the method. There is no "one way" to do everything. Especially with something as ridiculously broad as software development. We're not arguing religion here, c'mon folks, use some sense.

  96. A Different Problem, but not really by mrhippo3 · · Score: 1

    I was once attached to a group doing an early flavor of CAD in the Cloud. I was THE documentation person for a dozen or so developers. I was writing the HELP as a series of JSPs, with just emacs as the authoring tool. I never got any notice of what had changed, I just saw some of the new stuff, which was fluid to say the least. Once, I was told, "Just look at the program," to see what had changed. Really, a dozen programmers changing everything and I had no notes at all? And at every single meeting I heard the twin refrain, "Don't change the docs, we have to localize it," and "The docs really s_ck." Which statement was true and what should I have done about it?
    The kicker was that as a favor to users (as expected, the product was real bear to use), I created a cheatsheet in the form of an index. This was an alphabetical listing of the commands and each entry had a short explanation of what each command did and a showed a command stream with the most common options. All the command streams were cut-and-paste from an "approved" manual. This index sat on a boss's desk for about three or four revision cycles. If you count the number of real revisions, you have the first pass and then the second pass to "fix" bugs created by the first pre-release. QA was so backed up checking releases that they had not reviewed the docs in MONTHS.
    Anyway, when the boss finally looked at the index, all the COPIED command streams were somehow wrong. How do you carefully explain that fictional docs are really hard to create? So now, the problems with unreviewed docs based on amorphous code become MY problem. The product died soon thereafter, but as the doc person I was blamed for poor work habits and being uncooperative.
    It is worth noting that not a single email, note or conversation was ever held to tell me what changes had been made. Both QA and development kept me isolated. And I was uninvited from all meetings. Yup, QA did not look at the docs for months, the developers issued about 8 total rewrites of the code, I was struggling to document just the new stuff I was told about (yes, the pre-release flavor was always different for every single "new" part of the code). In reality, I created a draft flavor for each feature, reviewed the changes made since the developer did the first show-and-tell (round 2 or of corrections), and then I would fix the docs after the developer made more fixes. And this was just for the stuff they TOLD me about.
    Please keep me out the loop forever when the code is agile. Agile means no one ever tells what they have changed

    1. Re:A Different Problem, but not really by cheesybagel · · Score: 1

      Didn't the developers commit the code to a version control system with meaningful commit messages? Did you not do code reviews?

      Most "agile" projects I have been involved in spent a lot of effort doing code reviews and discussions were done via mailing-list so everything was properly documented.

  97. Re:Are you nuts? Don't talk agile with the custome by Bogtha · · Score: 1

    If you aren't talking agile with the customer, you aren't doing agile. Agile isn't a way of producing code, it's a way of producing what the customer wants. It involves them intrinsically.

    When we build an app for a client, they often start off with a long list of features they want. I've seen companies take their money, go off and build what they asked for, then watch the client discover that once their users are actually using it, it becomes apparent that half the features they asked for are unnecessary and half the features they need they didn't include. A lot of the information that makes this apparent is information that is unavailable to you at the start of a project.

    Instead, we focus on building the minimum feature set necessary for the client to start getting value, then see how it is used in practice, and plan the following features using this information. The client ends up getting what they really needed after all and ends up much happier.

    The difference between the two approaches is that the first is traditional and the second is agile. It is also something that you cannot do on your own as an internal practice - the client needs to be involved in these decisions at each step along the way. Whether you call it agile in front of them or not doesn't really matter - you are talking agile with the customer one way or the other if you are doing it properly.

    talk about outcome, not process

    Talking about outcome not process only makes sense if you assume the client is not involved in the process, and that's a recipe for building something that is ill-suited for the client's needs. Agile development assumes the client is an integral part of the development process for a reason.

    --
    Bogtha Bogtha Bogtha
  98. Henry Ford by efitton · · Score: 1

    I am getting sick of this quote. Probably because I keep seeing it when Gnome developers blow off their users, but that is beside the point. Henry Ford lost half his market share by refusing to listen to his customers. They wanted colors other than black and they wanted to be able to getting financing from the Auto company rather than a bank. Ford refused to listen. He didn't listen to his staff, he didn't listen to his customers, he didn't listen to his family. And then GM was larger than Ford and he finally caved to the inevitable. Ford paid a more than livable wage. Ford brought the slaughter house methods to the industrial plants with the assembly line. Ford wisely took on the horse with his automobile and didn't listen to his customers for that major paradigm shift. However, he continued to ignore his customers at great cost. Moreover, I would hypothesize that most of us are not Henry Ford and that most of us are not trying to bring a major change. Listen to the customer. You don't always have to agree, but you better have a damn good reason for going a different direction.

    1. Re:Henry Ford by ArsonSmith · · Score: 1

      It doesn't even have to be on the scale of revolutionizing manufacturing and transportation. It could be something as simple as a customer wanting to automate a manual process where someone manually moves some files from a->b->c->d->e which would be quite simple to automate. but it may be much better to have the files stored in a central location and pushed from O->[abcde]

      All to often I see people wanting to move a manual process to a computer process that is nearly identical and productivity drops because of it. Users usually complain about how it was so much easier to store it on index cards in a file cabinet. They want a computer solution to the task, but just ask for the task to be moved onto a computer. There is a difference, sometimes a huge one.

      --
      Paying taxes to buy civilization is like paying a hooker to buy love.
    2. Re:Henry Ford by Hognoxious · · Score: 1

      I've seen that exact thing. "We need a menupagetableprogramscreenfilejob[1] where we can put the phone number to find the customer". Then repeat with city, street, VAT number ...

      It was already there out of the box. You had to click a button to pop up the search window,, though.

      [1] those are all synonyms, to them.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  99. Being the at the User end by oxnyx · · Score: 1

    Our team is the user end of Agile and I have to admit; I was really very tired of it about 8 months; at 1.25 yr into the project am really ready to look for something better.I don't want to talk to the programmers every day - they need to talk to each other all the time- I want to take a look at each release doing some testing and give feedback and get stuff fix. The effect of Agile for me on this project is 2-2.5 hrs of meetings every day. The programmers seem to be in meetings about 4 hours a day. The rest of the pEng's in the building are able to get being with thing like walking over and talking to each other without a formal daily chat.

    --
    Life is like untied shoe laces; it always tripping you up and getting in your way.
  100. Re:Are you nuts? Don't talk agile with the custome by ebno-10db · · Score: 1

    Agile is designed to operate in chaos, and bring structure to it.

    The problem is when you start with chaos. At best Agile is a band-aid.

  101. Re:Are you nuts? Don't talk agile with the custome by mcvos · · Score: 1

    Agile is designed to operate in chaos, and bring structure to it.

    The problem is when you start with chaos. At best Agile is a band-aid.

    The problem is that we have chaos. Agile is a way to solve that problem.

  102. Address user tears with user tiers by Rambo+Tribble · · Score: 1

    Agile, like many new ideas, has a tendency to overreach. The exasperated users are the same ones who dread system updates. They see any technological change or inconvenience as the result of a vast technocratic conspiracy. These people are the ones who want it "to just work" and have little patience for the tedious process of taking matters to that point. These complaints stem from taking this group outside its narrow comfort zone.

    On the other hand, there are end users, usually termed "power users", who love their engagement with technology and its processes. It is these people who should be part of the ongoing development process. The larger mass of users should be consulted and upgraded, but infrequently. Of course, this requires you not break backward compatibility with each new release. You know who you are.

  103. Completely disagree by Anonymous Coward · · Score: 0

    "The" problem with agile is that it is hard to implement properly. And that is a fact, some aspects of agile (like teams with members that are fully-devoted to, and only to, that team) are basically impossible to achieve in a real world environment.

    But the problem is more compounded by agile being less than intuitive. People who think they understand it, but don't actually get it, produce chaos like that being described in the article summary. Developers stomping on each others changes, a lack of progress, and so on...these are direct results of completely missing important aspects of agile.

    When exactly two things are true: 1) your people actually understand agile and can do a good job of getting it mostly right, 2) your product's operating environment is the sort that agile serves well, then and only then does agile bring you to great success.

    In basically every article I have read where people are complaining about agile, it is obvious that one or both of these are not true.

  104. not necessarily by Chirs · · Score: 1

    While I'm interested in what my team members are doing, rarely is it necessary for me to be up-to-date on their daily activities. A weekly catch-up meeting is fine for general "what is everyone working on" stuff.

    We all have areas of expertise, and I don't have enough knowledge to have input in some areas of what is being done...similarly, there are only a couple people on the team with the knowledge base to comment on what I'm working on.

    1. Re:not necessarily by Zenin · · Score: 1

      1) No one is asking you to comment on other people's work, or asking them to comment on yours. Again, that's not what the scrum is for.

      2) The fact that you're swimlaned so strongly, with such specialized knowledge, strongly brings into question your assertion that you are keeping up on what your team mates are working on. It suggests you're a collection of Rambos, not a team.

      The notion of a team implies teamwork. Occasionally consulting each other is no more team work then occasionally consulting stackoverflow.

      --
      My /. uid is better then your /. uid
  105. Re:Are you nuts? Don't talk agile with the custome by david_thornley · · Score: 1

    Yeah, that's how it should work.. GP's observed process is unfortunately common, particularly (in my experience) with outside consulting firms. I remember finding a few lines in a 400+-page spec and wondering why anybody ever thought that was a good idea. My wife was once offered a job trying to get some customer control back over an Accenture project, and decided she didn't really need to be tied to those railroad tracks.

    That's sort of the waterfall equivalent of a manager abolishing planning, micromanaging, and calling it Scrum.

    --
    "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  106. Re:Are you nuts? Don't talk agile with the custome by frank_adrian314159 · · Score: 1

    Agile doesn't solve problems. People do. There's your problem right there.

    --
    That is all.
  107. Re:Are you nuts? Don't talk agile with the custome by booch · · Score: 1

    Agile is designed to be pure chaos.

    No, Agile realizes that software development involves chaos. It provides tools to deal with the reality of that chaos.

    --
    Software sucks. Open Source sucks less.
  108. Different experience here by yankeessuck · · Score: 1

    I (as an architect/developer) and my business users love agile. For me, it's all about identifying requirement changes ASAP to minimize rework. Would you rather a requirement change before you work on it or after? The user thinks they know what they want but it's so abstract as a bunch of thoughts in their mind that they can't possibly identify every detail. But put a tangible product in front of them and a lot of what they want changes. It's inevitable.

    So for me, I want the user to see the work ASAP so we can proactively identify these changes before we've wasted a bunch of time doing the wrong stuff. Our users totally bought in so it's like having one day iterations instead of the two weeks that we had before. I suppose YMMV with the user and technical team.

  109. Re:Are you nuts? Don't talk agile with the custome by CAIMLAS · · Score: 1

    Here's a big difference: with agile, you can (and seemingly, many do) carpet and furnish the 67th floor before the hole for the foundation has been dug. Then they're not stuck trying to figure out how to get the 67th floor half way up the building when they're ready to start building it, nevermind moving the elevator shaft...

    --
    ~/ssh slashdot.org ssh: connect to host slashdot.org port 22: too many beers
  110. Real world, have you met Jane Q. Public? by Hognoxious · · Score: 1

    if your scope of work says "Build a website with features X, Y, and Z", then the customer at some point says "We just realized that our business objective will also require feature Q, and Y has to be changed to do Y version 2", then that's outside your scope of work and you charge more.

    What? It's obvious that Q is a prerequisite for X. And where did the contract specifically state Y version 1? Didn't you know there was a new version due, you blithering bunch of imbeciles?

    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    1. Re:Real world, have you met Jane Q. Public? by Jane+Q.+Public · · Score: 1

      " And where did the contract specifically state Y version 1"

      If it doesn't, then you did it wrong. That's my whole point.

    2. Re:Real world, have you met Jane Q. Public? by Hognoxious · · Score: 1

      So let me get this right: it's not necessary to specify everything in advance[1], but if something isn't specified than that's an error?

      I bow to your awesome telepathic powers, because you can apparently deduce unwritten assumptions that the assumers themselves aren't [consciously] aware of.

      [1] http://developers.slashdot.org/comments.pl?sid=3822559&cid=43916515

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    3. Re:Real world, have you met Jane Q. Public? by Jane+Q.+Public · · Score: 1

      "So let me get this right: it's not necessary to specify everything in advance[1], but if something isn't specified than that's an error?"

      That's not what I said.

      Man, if you're a contract developer and you don't know the difference between Scope of Work and Waterfall management methodology, you have a REAL BIG problem.

    4. Re:Real world, have you met Jane Q. Public? by Hognoxious · · Score: 1

      It's exactly what you said. If leaving any detail out is an error, then logically the only correct course of action is to include everything, so you're back to BUFD by another name.

      If you can't comprehend basic English you're the one with the big problem.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    5. Re:Real world, have you met Jane Q. Public? by Jane+Q.+Public · · Score: 1

      "It's exactly what you said. If leaving any detail out is an error, then logically the only correct course of action is to include everything, so you're back to BUFD by another name."

      Bullshit. I explicitly stated that I was referring to Scope of Work. I'm not "back to" anything.

      And I repeat: if you work in that field and don't understand the difference between Scope of Work and a work methodology, you have a big problem. It's NOT my problem.

      You have done this again and again. Jumping in on something I stated and trying to blow it out of proportion or take it out of context. That, too, is your problem not mine. I've tried to be polite and tolerant of your BS in the past, but I really don't much feel obligated to do that anymore. You've pulled this shit too many times.

  111. 8gb ram? by Anonymous Coward · · Score: 0

    8gb memory limit? really? No thanks.

  112. Re:Are you nuts? Don't talk agile with the custome by mcvos · · Score: 1

    Agile doesn't solve problems. People do. There's your problem right there.

    You are entirely correct. Agile is a tool to solve that problem. You still need people to wield that tool properly.

    A hammer can be used to make things, but it can also be used to destroy. Even the best hammer won't turn a crappy carpenter into a master craftsman.

  113. Sigh by DickMardy · · Score: 1

    Yet another frantic debate about Agile on Slashdot where the word "testing" is only used a handful of times. :(

  114. Agile as an Excuse by IndieVoter · · Score: 0

    I am not a software engineer, or even more than a hack programmer. I am a marketing professional with a BSEE (old school analog stuff). My run-ins with Agile -infused third party developers has always ended with the same questions. What is the schedule? Do you have a schedule? Will you even be able to give a rough schedule? Answer is generally 'you don't understand how Agile works, you ignorant marketing guy!' Then you get everything BUT a schedule. Obviously, I don't understand software or Agile...

  115. Just do it like the company I work for does it... by Anonymous Coward · · Score: 0

    Don't involve the end-users in the process AT ALL. That way they can't complain during development. After development however...

  116. Re:Where these proffessors the same profs who teac by Anonymous Coward · · Score: 0

    Where these professors the same profs who educated the people who got it so badly wrong?

    No, unlike your English teacher.

  117. source code control by minstrelmike · · Score: 1

    Seems to me if the developers are over-writing the source code, the problem is not the difference between Agile and Waterfall. Sounds to me like the development shop doesn't know how to develop period and is blaming the development methodology instead of poor in-house processes.

    It is possible to mess up source code trees when doing Waterfall projects, also. I know that for a fact.

  118. Re:Where these proffessors the same profs who teac by joleonard1 · · Score: 1

    Hitler's mustache wasn't silly. It was dignified. It was his military planning that was silly.

  119. Software Engineers are the Problem by HArchH · · Score: 1

    In most professional fields the professionals that work in that field are accredited or even licensed. No civil engineer builds a bridge without being licensed and having personal liability for failure. Doctors that practice without a license go to jail. But in software people are revered for being successful hackers, participating in 24-hour hack festivals, and making things happen more individually than within a team. No programmer ever seems to be held accountable for failures. The field of "programming" attempts to convert itself to "software engineering" by defining methodologies and processes. Doesn't Agile just celebrate the fact that programming teams can't engineer solutions to problems, so they have to loop around "trying" until the solution is finally close enough (or the funding runs out)?

  120. Re:Where these proffessors the same profs who teac by Bloke+down+the+pub · · Score: 1

    Such mustaches were quite popular in the 1930s. My grandfather had one, and kept it all the way through WW2. Woe betide anyone who asked him why he had a Hitler mustache; he claimed he had it first, and therefore it was Hitler who had a my-grandad mustache, and without so much as a by-your-leave. Strong words would be in order when the British army got to Berlin...

    One thing's sure, he certainly had it last.

    --
    It's true I tell you, feller at work's next door neighbour read it in the paper.
  121. Whaterver you do, do it right by Anonymous Coward · · Score: 0

    Agile works and so do other methodologies. The trick is to know the methodolgy you are using well.

    Personally I like a pragmatic approach. I tend to gather as much information as possible up-front. Then I write up a preliminary (!) sepcification used to make a judgment about the time and money involved. I the customer sees the light I go ahead with agile and a reasonable flexible timeline and a budget that is flexible -10%/+25%. Then I go on with Agile. But that doesn't mean there's no control, only more feedback. And not every input of everybody who happens to be passing by is fed into the coding cycles.

    Anyway, if an agile (or "normal") project is disorganized it usually means that your project managment sucks. Nothing more :)

  122. Agile Construction by Baby+Duck · · Score: 1

    "You don't build things using agile techniques however."

    Yes, you do. You specced out a new staircase. I built it for $3,000. After you saw it, you decided you couldn't live with it. We specced out a new staircase. I built that for another $3,000, tearing down and removing the old one for free. You decided you liked the first one better after all. Another $3,000, and everyone and voila.

    I will happily rebuild things as many times as you please if you pay me each and every time.

    --

    "Love heals scars love left." -- Henry Rollins

  123. Agile ain't the problem .... by OldHawk777 · · Score: 1

    I do not program. I have never programed anything after a cobol class and some assembler, I am +60yo.

    Confusing academic reality, application actuality, iterative and flexible project development, and users' (worker / manager) observations is RFD.

    Disorganized, failure ... never-ending proves the venture architect a/o project developer was a failure, that is all.

    Agile as a project development tool (software, hardware, services ...), from my observations, is highly structured and demanding on discovering what makes the very best application for a specific community of users (workers / management). C*Os / managers need to be included for top-down OrgOps explicit (legal, core / product processes) reality-plan, and the worker-bees / pack-mules are needed for the bottom-up build workflow functional actuality.

    Only two projects did I observe Agile being used in the interest of the entire community (Users/customers, programmers, OrgOps managers ...). I was impressed at delivery and production by the full community expectations. Agile is not the problem, but poor performance by OrgOps persons with career agends can / do make anything fail. C*Os / managers, programmers, and users must be a community with a common purpose and respect.

    C*Os / managers (or others) mid-stream changing requirements must be tracked just like software-bugs with an impact statement on schedule, cost, functionality ... that must be signed before proceeding. I suspect, all communities' legal offices will be very happy.

    So, stop the whining and do a better job at making a complex community work together. Agile is about meeting users' expectations and sometimes exceeding all expectations.

    --
    Unaccountable leaders are masters, and unrepresented people are slaves. How do US and EU fare?