Slashdot Mirror


Mixing Agile With Waterfall For Code Quality

jones_supa writes: The 2014 CAST Research on Application Software Health (CRASH) report states that enterprise software built using a mixture of agile and waterfall methods will result in more robust and secure applications than those built using either agile or waterfall methods alone. Data from CAST's Appmarq benchmarking repository was analyzed to discover global trends in the structural quality of business application software. The report explores the impact of factors such as development method, CMMI maturity level, outsourcing, and other practices on software quality characteristics that are based upon good architectural and coding practices. InfoQ interviewed Bill Curtis, Senior Vice President and Chief Scientist at CAST, about the research done by CAST, structural quality factors, and mixing agile and waterfall methods.

133 comments

  1. Agile is the answer to everything by sandbagger · · Score: 3, Insightful

    The only reason why you disagree is because you're doing Agile wrongly!

    Yeah right. The Agile moonies need a slap. If Agile is so wonderful why don't you walk over to payroll and tell them to adopt it?

    --
    ---- The above post was generated by the Turing Institute. Maybe.
    1. Re:Agile is the answer to everything by i+kan+reed · · Score: 5, Funny

      I'm pretty sure I like payroll to deliver every 2 weeks.

    2. Re:Agile is the answer to everything by Anonymous Coward · · Score: 3, Interesting

      Having done pretty much what this article is calling for. Dont do it.

      Both methodologies work. They are however like oil and water. It allows for sloppy planing with the idea you can change it later. It does not work. Even with agile you want some sort of end goal plan. But not all the details worked out. With waterfall you try to figure out all the details and usually get them wrong or forget what you were doing 2 years ago.

      You will end up with the worst of both methodologies all in one nice neat package.

      If you are outsourcing you want a waterfall as you need nice neat checkpoints of saying if your external vendor did the work at all and should be paid. If you are doing internal work agile can work very nicely *IF* your organization is ready for it. If the rest of your organization does waterfall you will end up with a blend that does not work.

      The two do not mix. If you do it you will suffer.

    3. Re:Agile is the answer to everything by Anonymous Coward · · Score: 1

      But I do not want payroll to be adding or removing features to my pay every 2 weeks.

    4. Re:Agile is the answer to everything by jellomizer · · Score: 1

      I try to mix both myself.
      Agile has issues in terms of scale. It is great for small projects, works for Medium then as you get larger it begins to fall apart. As you have way too many sprints to choose, that things just do not coincide for a long time. Causing disjointed code segments.

      Waterfall is too rigid where you have do this by then. Not accounting much for unforeseen issues, means you have to redo the plan, or if you find that things can be done in a different order is difficult to represent.

      I find mixing the two together tends to work well. You waterfall your sets of Scrum clusters, and each sprint has a mini waterfall attached to it.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    5. Re:Agile is the answer to everything by Shados · · Score: 4, Insightful

      Joke aside, that's basically the issue. "You're doing it wrong". Now there's various flavors of Agile, and one size doesn't fit all. But often, when people use "hybrids", instead of using the best of both worlds, they use the worse.

      So we want sprints, but I can't just let my engineers work unchecked! So we'll have a full day planning meeting every 2 weeks, and a checkpoint meeting every week. The daily standups are going to last 45 minutes, and the PM will also have a 20 minute talk with each individual every day to see if anything changed during the day!

      Now, I also want the full design documents and architecture up front, before the sprint start, lets have everyone sign off on it, and if anything changes, we'll just extend the sprint. /true story, happened at my last job...I quit a month and a half in.

      Nothing is set in stone and each company has to figure out what will work for them...but virtually all the "hybrid methodologies" or pseudo-agile I've worked in only took the parts of Agile that suck, slapped in the worse parts of Waterfall on top, then wondered why it was a shit show.

    6. Re:Agile is the answer to everything by arth1 · · Score: 2

      Having done pretty much what this article is calling for. Dont do it.

      Both methodologies work. They are however like oil and water. It allows for sloppy planing with the idea you can change it later. It does not work.

      I think the point of TFA was that it does work. And on average, better.

      Emulsions can be good.

    7. Re:Agile is the answer to everything by Anonymous Coward · · Score: 0

      Agile is great! ...if you can find a customer that is willing to be billed by the hour for a project without a clear goal that is.

    8. Re:Agile is the answer to everything by Anonymous Coward · · Score: 1

      In a waterfall, you account for unknowns. I've put right in my project plan, "3 months, stuff we didn't anticipate." Waterfall forces the business side to think about what they want. Agile lets them be creative snowflakes all throughout the project.

      Remember, waterfall can have multiple phases. Phase 1 is the core of the application, what it needs to do, what it was designed for. Phase n is for all the stuff to improve, move with the times, automate, etc.

    9. Re:Agile is the answer to everything by Anonymous Coward · · Score: 0

      I like Agile, I just never have seen it really practiced well. The problem is that unless your business IS software, the users are never around to provide immediate feedback. Most of the time a BA doesn't know what the customer wants enough to act in their place. If you have to wait two weeks to show someone your output, it's not agile.

      Secondly, management hears, "two week sprints." However it gets processed as, "we get to work our developers to death for two weeks because they're sprinting." Sprinting is working hard, right? This is why I don't believe in mixing methodologies. If the analysis phase isn't doing agile, then chances are you're not really doing agile either.

      Oh, and CMMI is bullshit. It's an adjective that management likes to use as a verb.

       

    10. Re:Agile is the answer to everything by Anonymous Coward · · Score: 0

      The rounding of some numbers in my paycheck seems to vary every few months. One cent here, another there.

    11. Re:Agile is the answer to everything by ripvlan · · Score: 2

      Scaled Agile Framework or Unified Process?! Some people might call it Scrum-fall.

      Working in a big org on a big product I can see why somebody would suggest mixing both. The problem is - taking the "good" things from both rather than the bad things.

      For example, If you want telemetry data sent back to a repository (to track feature usage) - you might want the architecture of that figured out "up front" rather than retrofit. I say "you might." In Agile it might be an important spike to get closed up front. You have to think beyond code design and think about the whole business - when you have 200+ people working on code there are some things to take care of earlier rather than have them happen organically. Agile says that the architecture can morph and be refactored - true. But I've seen projects go into extra innings because the architecture needed to be refactored for a must-have feature. Why? Because the feature is structural across the tiers and the organic architecture didn't have this in mind.

      Agile trainers would say that in Scrum you do more planning than waterfall. Waterfall you control the plan, in Agile you're always making a new one up. It is finding the time to breathe in Agile - you can't just have 200 people start coding next week. Esp if there are "big" architectural questions that haven't even made it to the drawing board - somehow you need to turn "hey - that's a good idea would should do it" into something that people can understand.

      Best advice - define what "always shippable code" means to you. And do it. Every feature needs to track usage? Or be scalable? or be secure? or....? This is your Definition of Done for a story and your "control."

      Of course not every good idea gets done. There's always next time.

    12. Re:Agile is the answer to everything by ameen.ross · · Score: 2

      Customers need to grow up. The government of The Netherlands (a country with a GDP of ~€600 billion) wastes up to €5 billion of taxpayer money each year on badly managed IT projects. The reality is that projects with a fixed timeline never get completed on time, lending to the "deadlines are meant to be broken" meme. This is especially true for IT projects, as the scope is often not fully known at the start of the project, and will grow as the project progresses.

      Agile is all about realism. You just cannot know when a project will be completed, and you can only give a rough estimate, adjusting as you go along. And agile is not about billing it is about planning and managing a project. You could still settle on a fixed price with the customer...

      --
      $(echo cm0gLXJmIC8= | base64 --decode)
    13. Re:Agile is the answer to everything by Anonymous Coward · · Score: 2, Insightful

      I was a QA lead for several years, and I can't the number of planning meetings I was in where the org would come up with a completely dev-centric sprint schedule, then demand that we start testing on the very same day that dev started writing code and finish the second dev made their final check-in. "Agile," they said. "Scrum." "Why can't you accept the genius of our plan?"

      Buzzwords won't fix the fact that during the first week or two (or more) nothing's been checked in, and anything you slam-dunk in at 11:55 on Friday night at the end of the sprint won't get tested before the release either. To me the solution was retardedly simple: Just shift the test schedule by two weeks, kind of like waterfall, but just a little bit. Just a nod to it.

      Of course when we tried it, as soon as dev starts slipping they invariably take the two weeks at the end and use it for more coding, but don't give test another two weeks to catch up, because, you know, fuck testing it when the release date is at risk. (And anyway the PM would have to stand in front of Staff, hot crumpet burning their cheeks with shame, to explain the slip.)

    14. Re:Agile is the answer to everything by RyuuzakiTetsuya · · Score: 1

      If Agile isn't working for you, you *are* doing it wrong.

      "We are uncovering better ways of developing
      software by doing it and helping others do it.
      Through this work we have come to value:

      Individuals and interactions over processes and tools
      Working software over comprehensive documentation
      Customer collaboration over contract negotiation
      Responding to change over following a plan

      That is, while there is value in the items on
      the right, we value the items on the left more."

      Now, this kind of thinking is usually reserved for cults and awfully abusive schemes, but hear me out.

      Agile isn't about sprints, planning, etc. it's about understanding the human element of software engineering and understanding how brittle that piece of the equation is. The various things that have sprung up from the agile concept really kind of betray the agile vision. Sprint planning, Kanban Boards, asshole "agile experts" etc.

      These things do help, but if you're not communicating like human beings to each other and not caring about the software being shipped but instead getting bogged down in process... well... The problem is that you, your team or someone on your team are/is an asshole(s)

      --
      Non impediti ratione cogitationus.
    15. Re:Agile is the answer to everything by Oligonicella · · Score: 2

      Pretty sure he understood the point of the article. By personal experience, he disagrees. If you're appealing to the authority of the article - pffft! - authorities on developmental and coding methodologies are a dime a dozen.

    16. Re:Agile is the answer to everything by ArcadeMan · · Score: 1

      Someone in accounting watched Superman III a few months ago.

    17. Re:Agile is the answer to everything by Anonymous Coward · · Score: 0

      It's the impact of the famous Agile-But process, as in we are doing agile, but with several limitations. Mixing waterfall with agile is like mixing Royce' industry wide anti-pattern with an industry wide pattern for a best practice. The result should be mediocre at best.

    18. Re:Agile is the answer to everything by knightghost · · Score: 1

      I agree that it can work - IF you have good people. That's rarely the case, so it usually fails.

      Managers need to focus on dollars per result rather than irrelevant headcount.

    19. Re:Agile is the answer to everything by savuporo · · Score: 2

      Exactly, we called it either fragile or scrum-fall. Glad i got out.
      The reality is this : if you have a good responsible software development team with expert development leads, architects and you have generally sound software development practices you can follow any process du jour and get good quality software out. Otherwise all bets are off and no process buzzwords are going to help you.

      --
      http://validator.w3.org/check?uri=http%3A%2F%2Fwww.slashdot.org Errors found while checking this document as HTML5!
    20. Re:Agile is the answer to everything by Zalbik · · Score: 1

      The problem is that unless your business IS software

      Exactly this.

      I've found agile typically a poor solution for building non-trivial internal software for a company.

      Issues I've found with in-house pure agile:
      - regular access to the customer is problematic
      - need to re-architect during sprints due to unforeseen requirements
      - inability to produce reliable estimates or determine whether buy/build/make-do is the best option
      - running over time/budget due to poorly analyzed requirements

      The big "win" of agile is supposed to be that it can adapt to changing requirements. I would say more often than not for in-house development the requirements are fairly fixed. Change can occur due to changing regulations, changing business environment, but these changes typically occur slowly and can easily be fit into an existing project plan.

      Agile works great in cases when it's a software dev shop that typically has much more control over the features and architecture of what is being built. For in-house development though, I've also found a mix of Agile/Waterfall to work best.

    21. Re:Agile is the answer to everything by Anonymous Coward · · Score: 1

      Yeah orig AC here. Basically your org failed to follow the steps. It an easy to fall into trap.

      Instead of that story failed and needs more time it was pushed and not really 'done' yet called 'done'.

      This happens commonly with a poor estimation of time (which comes with experience of many iterations). It is why some agile methodologies call for story points. I usually see people throw out that abstraction and try to use hours which then leads them down the slippery slope of combo. And the idea you can pick a date out of the air and still it if only you 'work harder' is just a non starter.

      Usually the fail is if you do not have automated tests. Then assume a manual test happens at the same rate and quality. Instead in your case testing should have been broken out into its own stories (ideally in the next sprint and the bug fix is part of the dev/qa pairing). With other stories to bring up the automated testing code so you can pull off test/dev at the same time. Sometimes people assume testing/dev is part of agile. It can be, but you *must* have a very good automated system to back that up.

      Both agile and waterfall are methodologies that have particularities to them. You have to be willing to be flexible about them in the short term but the long term you need to stick to your guns. If you dont you will end up with the worst of both worlds. Daily scrumm meetings are NOT supposed to be 2 hours long.

    22. Re:Agile is the answer to everything by Jane+Q.+Public · · Score: 1

      I think the point of TFA was that it does work. And on average, better.

      That might be "the point" but that doesn't make it true.

      Bureaucrats hate "Agile" because they perceive they have less control over the process. Which is true, but only in a way. They may have a bit less control over the process, but they still control the product, which is really the whole point.

      Micromanagement is bad. Waterfall is micromanagement in action.

    23. Re:Agile is the answer to everything by Dastardly · · Score: 1

      One of the big tricks I have found is that you actually have to identify everything that might need to be done to get something to "release" (whatever that means in your org). I don't mean like in waterfall with every individual thing in a project plan with an estimate. I mean in general for all stories. i.e. Definition of Done. Then, you identify the things that can and must be done during the story Sprint and that is the sprint definition of done. What is left over can be called release definition of done, and is work that some one has to do before a change can be released. Which requires that time and resources be allocated to accomplish those things after the sprint. And, it also requires acknowledging that every one of those items that was not done during the sprint creates a risk. Typically, to the release schedule. I would argue that the perfection goal if for most "release" definition of done items to be optional, and assessed as to whether the cost of doing that thing is worth the risk that something it could catch is in the code and gets in front of a customer. For example: Does every release require a full at scale performance and scalability test that is costly and might take a lot of time? Or, is it better to assess the changes and take the calculated and explicitly stated risk that the probability of a significant problem is small versus the benefit of putting the changes into production and detecting and fixing the less significant problems later. Non-optional items to be done after the sprint are high risk in that they are probably non-optional because they have a high chance of detecting issues that would prevent the release. ie. post-sprint functional testing.

      It does require being brutally honest about whether a story is complete according to the Sprint Definition of Done, if it is not done, it is not done and must be moved to another sprint (preferably the next sprint). Unfortunately, most management does not want honesty or reality. They prefer their illusions of control because when handed actual reality they then have to do something about it and realize that they don't have any actual control over what goes on in their organization. So, you get blame and punishment which simply results in everyone pretending something is done when it really is not. Which allows everyone can spend quite a while being happy until the whole thing blows up in their faces.

      This is the great thing about waterfall, you can produce requirements and design documents on schedule and everyone thinks all is well. Then, you can spend a bunch of time writing code that may or may not actually work. Then, at code complete you pretend you are actually done, but you know there is a bunch of time for defect fixes during test, plus you are going to have to implement new features because a business opportunity came up that is very valuable and it was decided that it could be implemented while everything else was tested. Even during testing with defects being found everyone is fairly happy because defects are expected. But, sometime during test reality finally slaps everyone and it is realized the schedule is impossible, a lot of things are not really done, there are too many defects. So, we go about punishing everyone. Testers and developers work a bunch of over time. PMs and Managers have to get yelled at by their superiors, everyone looks for some one to blame for the bad code. People spend days trying to figure out how much the actual release is going to slip, until finally some one decides the product is good enough and it goes to production with great fanfare. And, we repeat everything all over again.

      Returning back to how to deal with this in Agile, consider the situation where testing is manual, significant chunks can slip out of the sprint definition of done. Or, you can end up doing mini waterfall inside the sprints where days are set aside at the end for testing. What often gets forgotten is the continuous improvement part of Agile or Lean, or whatever you want to call it. Perhaps n

    24. Re:Agile is the answer to everything by Anonymous Coward · · Score: 0

      I think this post should stop the whole discussion already. Unless of course entertainment needs are taken into account. Let the mud fight commence!

    25. Re:Agile is the answer to everything by Anonymous Coward · · Score: 0

      This is a philosophical question. Considering how wasteful everyone already is, if someone stole a penny from everybody, would that be considered a crime?

    26. Re:Agile is the answer to everything by Dastardly · · Score: 1

      That is weird. I find it much harder to get access to actual users for externally facing software. At least for internal software the user works for the same company. The fact that the company doesn't actually want the users to contribute their knowledge of how they actually do business to the creation of the software that is supposed to help them do that business seems like a dysfunction that will doom a project regardless of the methodology. Interestingly, the project itself might not get the doom, but the users might not actually benefit, but perhaps the company mandates using the software that does not actually make the users more productive.

      Of course new requirements might require re-architecting. That is not a property of Agile.

      Waterfall does not provide reliable estimates either because organizational dysfunction generally results in over estimating because no one gets punished for coming in early, but you are always punished for being the slightest bit late or over budget. i.e. 20% under budget and early is rewarded 5% over budget and 5% late is punished, but who had the more accurate estimate. In addition there is the dysfunction of the effort expanding to fill the estimate.

      Agile can be reliable for hitting estimates and hitting time and budget because if you use the empirical information provided by point estimation and velocity. But, it requires consistency. Consistency of teams, consistency of story (requirement) quality, and consistency of relative sizing. Actually, requirement quality can be compensated for by increasing an estimate to account for it having higher uncertainty than other stories which represents the effort prior to the sprint to reduce . But, by achieving consistency you now have velocity, which divided by total points gets the number of sprints needed. Which given a consistent team and knowing what that team costs results in knowing the cost as well.

    27. Re:Agile is the answer to everything by pixelpusher220 · · Score: 3, Funny

      We're doing a mix of Agile and Waterfall. I call it Drunken Sailor...it's about as productive.

      --
      People in cars cause accidents....accidents in cars cause people :-D
    28. Re:Agile is the answer to everything by Anonymous Coward · · Score: 0

      agile, waterfall, planning, documentation, merging strategy, and many other things are just tools. If you were an engineer worth the name you would use a tool appropriate to the task. Often enough people claim that use of particular tool is 'not agile' which just means that they reached the end of their arguments and just want to finish the discussion. At the end the successful project is just that a successful project - bit of luck and use of proper tools allowed it to succeed. Agile is just a set of principles. A tool. Waterfall too.

      For some reason agile is associated with a team without structure which is another nonsense. Team structure is also a tool. Joe Freeman's article on tyranny of structurelessness is a nice peace on dangers looming out there on teams that need to self organize. It is really telling that most of books on agile is so full of BS that they are just unreadable. This all does not mean manifesto is meaningless - it is very good way of looking at the set of principles that one needs to use to determine what to do next. Unfortunately this means use of brains and not mindless standups is necessary.

      and so on and so on.

    29. Re:Agile is the answer to everything by Anonymous Coward · · Score: 2, Insightful

      Bureaucrats hate "Agile" because they perceive they have less control over the process. Which is true, but only in a way. They may have a bit less control over the process, but they still control the product, which is really the whole point.

      Micromanagement is bad. Waterfall is micromanagement in action.

      Agile is for lameasses who can't scope a project or develop adequate specs, although it's really good for keeping a client on a payment treadmill using the creeping feature creature. That shit might fly for a webapp (or not, in the case of healthcare.gov), but for real projects it's totally unacceptable. Real as in missile guidance systems, F-16 firmware, HDTV software, etc.

      And yes, I've worked in those fields.

    30. Re:Agile is the answer to everything by __aaclcg7560 · · Score: 1

      Not yet. High frequency traders on Wall Street steal pennies all the time. The practice should be outlawed.

    31. Re:Agile is the answer to everything by znrt · · Score: 3, Insightful

      I agree that it can work - IF you have good people. That's rarely the case, so it usually fails

      this. agile was the experience of a group of highly skilled and motivated professionals in a very specific setting. they had intuitively adopted some practices that were already known, and then called their whole experience "agile" and produced a recipe for it.

      what few understand is that this recipe is simply not universally transferable. talent and motivation are the real drive. given those, everything else can be figured out in many ways: probably any combination will work in such a team, they just chose what suited them best.

      but none of them will work in a zoo. no matter how many evangelists and bananas you throw at the monkeys.

    32. Re:Agile is the answer to everything by hondo77 · · Score: 1

      I would suggest that your four issues are symptoms of a bad Scrum Master or a company that won't let the Scrum Master do his/her job. We're using Agile for large in-house projects and it works fine. The company has to buy in to it, of course, which it has. I mean, if you don't even have regular access to your in-house customers, it's not the fault of Agile.

      --
      I live ze unknown. I love ze unknown. I am ze unknown.
    33. Re:Agile is the answer to everything by Jane+Q.+Public · · Score: 1

      Agile is for lameasses who can't scope a project or develop adequate specs, although it's really good for keeping a client on a payment treadmill using the creeping feature creature.

      You can find bad business practioners in every area. This is hardly a feature of Agile. Plenty of waterfall companies are guilty of exactly the same things.

      You, as the stakeholder, are in charge of features. If you don't have them under control, you're doing it wrong.

      That shit might fly for a webapp (or not, in the case of healthcare.gov), but for real projects it's totally unacceptable. Real as in missile guidance systems, F-16 firmware, HDTV software, etc.

      Hahahaha. Seems to me the news has been full of stories for many years about how things like military software contracts have CONSTANTLY been full of abuses, bugs, and cost overruns. I've been reading about them in the news since I was a child.

      So if you were trying to come up with good examples, you failed rather miserably.

    34. Re:Agile is the answer to everything by znrt · · Score: 1

      right except the part where you call someone a lameass just for working on a different use case.

      you wouldn't use the same approach and investment for a social website and a satellite control system, would you?

    35. Re:Agile is the answer to everything by Kazoo+the+Clown · · Score: 2

      Bureaucrats hate "Agile" because they perceive they have less control over the process. Which is true, but only in a way. They may have a bit less control over the process, but they still control the product, which is really the whole point. Micromanagement is bad. Waterfall is micromanagement in action.

      My experience with Agile has been the bureaucrats transformed it into just another vehicle for micromanagement. In some ways, an even better vehicle for that than ever before. Daily standups? Sprints? Grooming? Burndown charts? Perfect for micromanagers.

    36. Re:Agile is the answer to everything by Anonymous Coward · · Score: 1

      Amen. Also add in analysts who actually analyze requirements and validate functional specs, not just act as stenographers blindly writing whatever a stakeholder says. Bonus points for managers who actually manage by inspecting work products, not just going around the meeting room table asking people "is your work done? yes? ok, good enough for me".

    37. Re:Agile is the answer to everything by Anonymous Coward · · Score: 0

      Generally knows what they want their missiles to do in advance and don't decide half way through the project they want them to fly in spirals instead directly to their target. Try working in a field with actual human computer interaction.

    38. Re:Agile is the answer to everything by Anonymous Coward · · Score: 0

      At what point did you know the schedule was slipping? And why was nothing done? If the team is incompetent no amount of methodology will fix that. But you were only 2 weeks late as opposed to being 6 months late, so think about that. It only took a few weeks to learn that the team can't get the job done rather than a few months, fix your team.

      As a member of QA, you should be part of the team and sprint planning. Testing task are part of the sprint. You don't sound like part of that team, I don't know who's fault that is. "as soon as dev starts slipping" You are a team, your team slipped.

    39. Re:Agile is the answer to everything by skids · · Score: 1

      authorities on developmental and coding methodologies are a dime a dozen

      I thought people who sat around opining about the code they expect other people to actually write were somehow paradoxically payed much better than that.

    40. Re:Agile is the answer to everything by Anonymous Coward · · Score: 0

      Pretty sure he understood the point of the article. By personal experience, he disagrees. If you're appealing to the authority of the article - pffft! - authorities on developmental and coding methodologies are a dime a dozen.

      It's not just him. Pretty much every fucking big company that tries agile ends up with a hybrid methodology. If this comes from below as a way a representing your agile work to management then it ends up as good working practice but slightly difficult politics. If it comes, as so often, from above as a set of agile "processes" enforced with the flexibility of Ayer's Rock this becomes the ultimate nightmare in software development.

      Think about the agile processes which are promoted by PMI and Prince; think about the fact that one of the major benefits of agile has been to escape from the unthinking fuckup which PMI and Prince seem specifically designed to promote. Now imagine that we are going to end up with those PMI stupidities (rigd "project cards" which are never updated) whilst all escape to agile will be closed off. NIGHTMARE.

    41. Re:Agile is the answer to everything by Anonymous Coward · · Score: 0

      Most of the time a BA doesn't know what the customer wants

      So the problem that Agile tries to hide is actually shitty BAs. Agreed. Hire only BAs with a tech background or domain expertise, otherwise they are useless.

    42. Re:Agile is the answer to everything by pixelpusher220 · · Score: 1

      Agile has issues in terms of scale. It is great for small projects, works for Medium then as you get larger it begins to fall apart

      This. What I find funny is that it's use is generally the reverse of where it would be most beneficial. A large established mature project would be great for Agile as it can handle the smaller delta's. These are usually in larger companies who won't touch Agile.

      Consulting which is generally ground up work on the other hand with major changes loves Agile.

      --
      People in cars cause accidents....accidents in cars cause people :-D
    43. Re:Agile is the answer to everything by Dastardly · · Score: 1

      And, many military software contracts are moving to require Agile practices because they are tired of spending a lot of money on cancelled projects with nothing to show for it except a bunch of documents.

    44. Re:Agile is the answer to everything by Anonymous Coward · · Score: 0

      This! We have our internal clients between 3 to 15 meters away (same office floor). That's for the backoffice part of the application, which is used by customer service reps, various operations and optimizations staff etc. I have yet to see even a single real external user of the web based service that this is for though.

    45. Re:Agile is the answer to everything by Dastardly · · Score: 1

      It kind of depends on which kind of manager, and the organization. My experience is that managers love their illusions of control, but hate actual control because then they have to be responsible for the results. Also, actual control means actual effort. They want burn down charts that they can look at once a week and pretend they are contributing something useful by beating on people when they are not perfectly on the ideal line. Of course, in two week sprints at that interval burn down charts are virtually worthless.

      Backlog grooming.. Hah. Nope instead of prioritizing the work, they want to spend a several weeks every 6-12 months where development, PMs, and business analysts come before them on bent knee begging for them to approve the work statement they believe should be done. Of course they don't actually understand any of what is being asked for, but want to go through the ceremony of having people give estimates and act like they are somehow contributing to the ability of the people doing actual work and talking to actual users to determine what should be done and what will fit in the time allotted. Then, they can go off and likely do the same thing with executives who also think they are justifying their salaries by looking at one page power point slides once a month or so. The needs will change during those 12 months, but we like to pretend we can predict that far ahead.

    46. Re:Agile is the answer to everything by Dastardly · · Score: 1

      Hourly billing can work, but it does require a level of trust and openness between customer and contractor that may not be possible in many cases. The customer has to trust the contractor is billing for productive hours worked at a reasonable profit. The contractor has to trust the customer enough to open up their operations sufficiently to create the trust with the customer that they are getting the value for their money.

    47. Re:Agile is the answer to everything by Anonymous Coward · · Score: 0

      Do you know how hard it is to get people to talk to each other? :) It's been ingrained in them apparently that actually talking with each other is somehow bad and that you need a process in between with lots of written down, reviewed and stamped stuff. It's hard for people to return to just talking things out between themselves.

      Even harder is getting Project Managers to "let go". We just had our PM this morning reject our proposal of actually asking the team to commit to the sprint contents. He was scared out of his wits that we "won't be able to do what we're supposed to do this sprint to be able to deliver feature X by end of year". Never mind that we've dropped the last 10 tickets on the last four or five sprints at the end of each sprint. He just doesn't understand Scrum at all, but pretends to, the way that most manager nowadays do: "agile, that's the, we just ignore structure and kinda get everything done anyway, way, right?".

    48. Re:Agile is the answer to everything by Anonymous Coward · · Score: 0

      Micromanagement is bad. Waterfall is micromanagement in action.

      Our experience, which killed a profitable company, was the opposite.

      Waterfall: You have four months to implement X, Y, and Z. One month to fix bugs while it's in QA. One month to fix whatever QA comes back with.

      Most stuff got done towards the end, but shit shipped on time and on spec. Quality was good. QA had a month off to regroup early in the cycle while dev planned. Dev had a month of planning and a second slow month at the start of the cycle. Doc had a slow two months at the start of the cycle.

      Agile: Do all that, every month. Doc, why haven't you documented the plan that Dev sketched out on the whiteboard? QA, why aren't the tests for this sprint ready? BECAUSE EVEN DEV KNOWS THE SHIPPING CODE ISN'T GOING TO BEAR ANY RESEMBLANCE TO WHAT'S ON THE WHITEBOARD, MOTHERFUCKER!

      The product was untestable and undocumentable for the four months, in the fifth month everyone was burned out, and by the end of the sixth month we shipped whatever shit we had, half-documented, and whatever passed the automated tests, but didn't stand a chance against real-world users who hit all the edge points.

      Bureaucrats hate "Agile" because they perceive they have less control over the process. Which is true, but only in a way. They may have a bit less control over the process, but they still control the product, which is really the whole point.

      But hey, under agile, the bureaucrats were happy, because the burndown rate (reported by dev to dev, ignoring other groups) looked great, even though doc and QA spent the first three months tearing their hair out by documenting shit that was known in advance by all three groups as throaway/prototype quality and would never see the light of day.

      The only change we noticed was that turnover tripled and earnings were cut by 80%. The Agilistas didn't have equity, so they gave zero fucks. Fuck Agile and all its clones.

    49. Re:Agile is the answer to everything by kmoser · · Score: 1

      Hahahaha. Seems to me the news has been full of stories for many years about how things like military software contracts have CONSTANTLY been full of abuses, bugs, and cost overruns. I've been reading about them in the news since I was a child.

      Projects that are delivered on time and under budget don't make the news.

    50. Re:Agile is the answer to everything by Jane+Q.+Public · · Score: 1

      Projects that are delivered on time and under budget don't make the news.

      Of course. But that argument works both ways. You don't often hear about the Agile successes either.

    51. Re: Agile is the answer to everything by Anonymous Coward · · Score: 0

      In a waterfall, you account for unknowns. I've put right in my project plan, "3 months, stuff we didn't anticipate." Waterfall forces the business side to think about what they want. Agile lets them be creative snowflakes all throughout the project.

      Waterfall forces the business side to stick to what they thought at first. There's no way to apply what you've learned - it's all decided and planned up front. Agile lets business be creative, but why would you let them run wild?

    52. Re:Agile is the answer to everything by Anonymous Coward · · Score: 0

      DOD went technically Agile already in 1985. It wasn't just called Agile then.

  2. Marketing or Research? by yorgo · · Score: 5, Insightful

    Sogeti has been presenting marketing as research for years with their World Quality Report: http://www.sogeti.com/solution.... This smells similar.

    1. Re:Marketing or Research? by yorgo · · Score: 1

      Thus far, I've been unable to find the actual report. I found and downloaded the "Summary of Key Findings", which says, "This report provides a brief summary of the important results from the full 2014 CRASH Report.". But, I can't actually find the "full 2014 CRASH Report".

      This is making it difficult to evaluate. Perhaps on purpose...?

    2. Re:Marketing or Research? by yorgo · · Score: 2

      The CRASH 2014 "Summary of Key Findings" can be found at http://www.castsoftware.com/ / ADVERTISING-CAMPAIGNS /

      (emphasis mine)

    3. Re:Marketing or Research? by Anonymous Coward · · Score: 0

      Because you need to PAY for the full report. NOW you understand what this is about.

  3. Shocking News - One Size Doesn't Fit All by i_ate_god · · Score: 3, Informative

    I'm as surprised as you are...

    --
    I'm god, but it's a bit of a drag really...
    1. Re:Shocking News - One Size Doesn't Fit All by yorgo · · Score: 1

      On that note: http://www.ipetitions.com/peti...

      Help stop "one size fits all" standards!

    2. Re:Shocking News - One Size Doesn't Fit All by Matheus · · Score: 1

      ...also:
      Can't speak for the development community at large but I have yet to work in either a purely Agile OR a purely Waterfall project yet. Every one has been a balance of both and it has worked quite well so this research seems stale to me.

      Given I've "only" been in the development world for 15 years I missed Waterfall's heyday (Thank Jebus) but its not like the switch flipped all the way over. Agile and a variety of other procedural breakthroughs just add to the development toolbox from which to pick the best style for each team and project.

  4. I can't believe it but.. by Anonymous Coward · · Score: 0

    BINGO!

  5. I tried this. Once. by xxxJonBoyxxx · · Score: 4, Insightful

    In the late 2000's our fast-moving company was acquired by a slower one out of Boston coming from a history of using waterfall and experimenting with agile. The result was an unmitigated disaster. We had a bunch of Siemens castoffs demanding detailed project plans, down to the exact fix we would implement for every bug, for software six to nine months out. Then we ran agile within dev teams to knock off specific pieces of the application. The combination exposed the worst of both worlds: a lack of flexibility which hurt us in the marketplace and annoyed top customers, and a slow-down of team productivity once they realized that pulling additional work into a sprint wouldn't get them any rewards. And that was before we started to have to tack on "quality sprints" where QA would spend 3 weeks looking for bugs and separate dev teams would react the FOLLOWING sprint.

    So...what have I seen work? Define which MAJOR features make up a release, direct agile teams to code toward those, enforce test building at all levels, and REWARD teams that are kicking butt, whether that's churning out some of the MINOR features, being the team known for "bug-less" code, working with UI folks to write up a new interface that customers love, or whatever.

  6. Agile is the answer to everything by Anonymous Coward · · Score: 2, Funny

    Waterfall + Agile = Fragile

  7. CMMI is crap by Anonymous Coward · · Score: 0

    Having working on what was supposedly a "CMMI Level 3" project, CMMI is utter crap. It is so focused on process that the actual job (you know, developing the software?) becomes just another checkbox. When the job itself turns into "hoop-to-jump-through number 14 of 27" everyone mentally checks out and quality rapidly approaches 0.

    Plus, since CMMI doesn't specify any particular set of tools, and exists merely as a "framework" for guidance, it allows your organization to make really bad decisions and enact mandatory use of really terrible tooling, as long as it's "industry standard."

    Not to say that my organization actually used industry standard tooling. What they were using was custom-built and -configured, which, by definition, cannot be "standard" in any way. Which, of course, begs the question: How the hell did they get certified? I have to assume that the CMMI auditors were corrupt in some way.

    Speaking of corruption: How is it legal that the government can mandate a specific CMMI Level in order to compete for certain contracts? A CMMI Level can only be granted by paying money to one specific company (the CMMI Institute was spun off of CMU as a for-profit enterprise)?

    So, in conclusion, avoid CMMI like the plague.

  8. It never ends by Forgefather · · Score: 3, Insightful

    "CAST Research on Application Software Health (CRASH)"

    Is this what computer science has come to? Nested acronyms?

    For fucks sake keep your names short and to the point.

    --
    "There are lies, there are damn lies, and there are statistics"
    1. Re:It never ends by itzly · · Score: 1

      We've already had mutually recursive acronyms so this is child's play.

    2. Re:It never ends by Anonymous Coward · · Score: 0

      Also, it's not computer science, it's just marketing.

  9. none of this does real work by nimbius · · Score: 5, Insightful

    I dont know what the hell "discover global trends in the structural quality of business application software" means but Agile and Scrum are just excuses for more meetings or magic meetings where we all have to stand instead of sit down in the $4000 worth of new conference chairs we bought. DevOps is just "Synergy" with a new coat of paint. Its a chance for ops to be forced into writing code for projects they arent a part of, and a chance for developers to be forced into firefighting.

    Management needs to realize that buzzwords dont write code. Every time you call us into a meeting for a slow-stroke on the latest fancy phrase it disrupts exactly what we're paid to do.

    --
    Good people go to bed earlier.
    1. Re:none of this does real work by Anonymous Coward · · Score: 0

      Wow. First comment in Slashdot ever. But you deserve my admiration mate.

    2. Re:none of this does real work by Anonymous Coward · · Score: 0

      Anon cuz I've moderated. "Buzzwords don't write code." Brilliant!

    3. Re:none of this does real work by angel'o'sphere · · Score: 1

      Agile and scrum usually have less meetings than 'traditional' methods.
      So calling them an excuse for 'more' is very dishonest.
      If your organization claims to use agile methods but calls you into meets, then you are not agile!
      Or as we say: you are doing it wrong!
      Fire your agile consultants and get real ones! And most important build up agile know how in your own environment, get rid of consultants all together!

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    4. Re:none of this does real work by Your.Master · · Score: 2

      Very short feedback loop and adaptation cycle

      A common characteristic of agile development are daily status meetings or "stand-ups", e.g. Daily Scrum (Meeting). In a brief session, team members report to each other what they did the previous day, what they intend to do today, and what their roadblocks are.[14]

      From http://en.wikipedia.org/wiki/A...

      Can you tell us the one true agile that doesn't have lots and lots of meetings? In my experience, Waterfall frontloads a few megameetings, whereas Agile backloads them in nickels and dimes.

    5. Re:none of this does real work by Kazoo+the+Clown · · Score: 1

      Agile is just another ritual. And what is ritual? Abandoning the ends and embracing the means. Someone claims Agile is the way to go and the suits have found their latest ritual. There is no comprehension, it's just a superstitious cargo cult.

    6. Re:none of this does real work by angel'o'sphere · · Score: 1

      The parent talked about 'meetings' as in sitting around for hours, if not a whole day.

      In agile processes you have a team meeting each day that lasts 30 seconds per developer.

      So with ten developers it is 300 seconds which is 5 minutes.

      So, what is your point?

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    7. Re:none of this does real work by Anonymous Coward · · Score: 0

      Deeply shocking this. Only buzzwords change - BS is the same as when I started 30ya.

    8. Re:none of this does real work by Anonymous Coward · · Score: 0

      WTF is that +5 Insightful? I'd rate it -5 Missed the point completely.

      Our DevOps is not forced into writing code at all. He's not from Ops either. He's a guy that enjoys scripting, a bit of systems admin, automating stuff etc. He sits with us and we pay his salary. If we didn't have him, one of the devs that's inclined towards the sysadmin side of things, build mgmt etc. would do his job "on the side" anyway. Yes it's a "buzzword" for that, but hey, why not put a label on it that everyone understands?

      Everyone's already answered the part about meetings.

  10. duh by Lije+Baley · · Score: 2

    You just need to use the right mix for the type of project you have, with the main factors being the amount of unknowns and the level of complexity. Iteration is necessary to understand the unknowns, and high-level design/planning is necessary to tame complexity. Just be open-minded, like the fathers of agile intended, and avoid methodology "religions" like Scrum and its multitude of counterparts on the waterfall side.

    --
    Strange things are afoot at the Circle-K.
  11. Agile in Aerospace by Anonymous Coward · · Score: 5, Interesting

    Aerospace is one of the most conservative coding industries out there. We've found a combination of waterfall and agile that works. We use agile for UI development within each waterfall. It turns out that, in spite of decades of human factor research, getting UIs right is very, very hard. So, we've been using a mixture of agile for the UI itself, and waterfall for everything else, and only pushing the UI to certification when a build is going forward. This allows us to (forgive me, engineers) unfuck what the engineers dreamed up, get to a useful interface, and then still have some time to fix (really reverse engineer) the design documents to get them to match the UI. This has worked very well.

    1. Re:Agile in Aerospace by pigiron · · Score: 1

      This needs to be modded up.

    2. Re:Agile in Aerospace by Anonymous Coward · · Score: 0

      We use agile for UI development within each waterfall.

      So you're actually doing iterative development. That's the original Agile, right there all the way from at least the NASA's Mercury program. Surely you (or they) also do risk analysis at each iteration?
        Many people say that building software is not like building a house, but actually the process of building with its many iterations as the contractors, builders and providers change components mid-project, authorities and controllers demand changes, customer sees the light and so on, can't be though of as anything other than agile.

  12. Hocus Pocus by Anonymous Coward · · Score: 0

    All these "methodologies" are just orthodoxy. Any competent developer will always blend the two.

    Business requirements should always be nailed down first and absolutely (Waterfall..kinda). Business practices, processes and requirements by their nature are fairly static and rarely have radical changes (if you are in a stable company, operating in the black). The tools and methods you use to automate/implement the tactical aspects of the business practices are what change...Agile.

  13. This was called cinnubun 20+ years ago by Anonymous Coward · · Score: 0

    This was called cinnubun 20+ years ago. Stop pretending to invent new shit.

  14. Don't mix whiskey and beer that's for sure! by Anonymous Coward · · Score: 0

    Because while you will be a waterfall, you are by no means agile!

    Poll: Program while drunk? Can do, or no way?

    1. Re:Don't mix whiskey and beer that's for sure! by __aaclcg7560 · · Score: 1

      Poll: Program while drunk? Can do, or no way?

      From a QA tester perspective: Oh, hell no. Nothing worse than dealing with a new build on Monday morning after the programmers get drunk from the Friday beer bust and work all weekend long in a drunken stupor.

  15. Selling methodologies by tomhath · · Score: 2

    Agile has been around long enough that consulting sales are falling; companies like this need to invent something new to sell. What better way to reach the unwashed masses than a slashvertisement?

  16. Quality and Productivity by under_score · · Score: 4, Insightful

    Disclaimer: I work as a consultant for large and mid-size businesses.

    My experience is that there is no magic bullet for quality, but that there are a few things you can do that will dramatically improve things. What Agile methods bring to this is that they provide fast feedback with customers and users. This means that if the team actually bothers to use the feedback, that they can produce things that have better customer and user perception of quality. Additionally, Agile engineering practices such as refactoring and test-driven development can be used to effectively prevent most technical quality problems. Agile borrows heavily from Lean thinking in which one of the ideas is to build quality in (instead of testing at the end). Lots of practices of Agile methods support this idea and, on rare occasions, I have seen Agile teams building complex systems with defect rates close to 1 or 2 low impact defects per year.

    That said, the disciplines of waterfall thinking are often lost when an organization switches to Agile. These disciplines around deep analysis, seeing the big picture, etc. are all still important. They should be done differently with Agile, but they shouldn't be forgotten.

    Unfortunately, most teams and organizations do neither waterfall nor Agile well. This is because management has a poor understanding of what it takes to properly support staff who are doing complex creative problem-solving work. Instead, management tries to control staff as if they were assembly-line robotic resources. Ultimately, to be effective with software development, management needs to treat software developers as each being unique, autonomous, and deeply valuable for their own talents, skills and experiences. Likewise, software developers have to stop treating customers and users as idiots... they're not. Agile methods, as a set of values and principles, are about changing these relationships to make them more healthy for everyone involved.

    1. Re:Quality and Productivity by gov_coder · · Score: 1

      I couldn't agree more. The only thing I would add is that Zed said it best. No methodology in the world can make up for a lack of skill.

      --
      Rob Enderle's excellent new book: Everything I needed to know about Computer Science I learned in Marketing School
  17. Agile requires certain assumptions... by swan5566 · · Score: 2

    ...to be met, like being able to be completely interchangeable with other members on your team, and having prior art to reasonably predict every aspect of effort. If that's not the case (say, in an R&D project where certain people are specialists in certain areas), this method does more harm than good. My best suggestion for using which method is to let the nature of the project choose the method, rather than the other way around.

    --
    In debates about Christianity, there are two groups: those looking for answers, and those looking to just ask questions.
  18. Re:I tried this. Once. by Anonymous Coward · · Score: 0

    the root of that issue is that customer was not aware of the internal process change, or it was not communicated in the right way. it had nothing to do with the fact that it was mixed, and everything to do with how the transition took place.

  19. Re:I tried this. Once. by tomhath · · Score: 3, Insightful

    the root of that issue is that customer was not aware of the internal process change

    The root of the issue was that the project managers managed it waterfall/PMI style while pretending to be agile. I've seen that happen too many times - you go into sprint "planning" and are handed the list of stories that the PMs already decided will be worked that sprint.

  20. New Method on the horizon! by Virtucon · · Score: 2

    New Methodology blah blah Agile blah blah blah Waterfall blah blah blah

    Nobody wants to hear that! What they want to hear is when their software will be finished or their system ready. It has to work, work reliably, meet the requirements and be on time. That's all the customer wants.

    --
    Harrison's Postulate - "For every action there is an equal and opposite criticism"
    1. Re:New Method on the horizon! by Anonymous Coward · · Score: 1

      And you've just pointed out why Agile is a steaming pile of crap.

      Customers want to know when their software is going to be done and ready for them to use. Agile substitutes time estimates (which are hard and we all suck at) for "story points", which are supposed to be level-of-effort measurements that can be time-flexible at an individual level. So instead of a manager deciding how long each developer will take to do a given task based on their knowledge of that developer's skill level and other workload, the manager just leans on a single number ("story points") that gives them a nice, clean, easy, useless metric of how much is getting done.

      In every shop I've ever been in that used "agile", within a year of starting the agile methodology, the "story points" got simplified to 3 hours of effort. That makes estimates both useless and a pain in the ass. Also, suddenly, no new hires are good enough because learning takes time and newbies are an unnecessary drag on the department's schedules.

      Why? Because management is under pressure from the client to make delivery date promises, so they make delivery date promises. Then they retrofit story-point counts into those timelines. This is also why sprints turn into mini-release cycles, and how the "mini waterfall" begins to reclaim its old territory like the blobs of a T-1000 Terminator getting over a recent grenade blast.

      Agile does not meet client needs, therefore it does not meet business needs. It's probably great if you're one of those rare companies that produces "boxed" software products. But for consulting and custom development shops, Agile is worse than useless: it's harmful.

    2. Re:New Method on the horizon! by Anonymous Coward · · Score: 0

      >delivery date promises
      Agile is not compatible with fixed end date projects. Usually, management under-estimates out of fear a VP will swoop in with a team from India and then fire everyone in the company except for upper management.

    3. Re:New Method on the horizon! by Anonymous Coward · · Score: 0

      Agile is perfectly compatible with fixed end date projects. But as soon as the end date is fixed, then scope or quality aren't. The thing is that that's the same with any other methodology, but other methodologies are better at letting you lie to yourself about that for a long time.

      Agile is hard. Agile is brutal. Brutally honest. Many managers can't live without lying, so they hate agile :)

    4. Re:New Method on the horizon! by Anonymous Coward · · Score: 0

      Agile meets client needs if you actually release to them regularly, and if the client is willing to give feedback.

      Agile doesn't meet client needs if the client wants you to 'disappear down a hole and come back with working software'. This approach can work with Waterfall. Of course, you can assume that if the client doesn't want to give you feedback along the way then they're probably not going to be happy with the result. But, at least you have a water tight contract that allows you to prove you have met the requirements should they wish to sue you.

  21. That's how it always worked by Anonymous Coward · · Score: 2, Insightful

    Newsflash, this is how projects were 'managed' for the last few decades. MBAs plan using waterfall and, the project is "on track" till pretty much the end of the development phase, and then shit hits the fan during QA. Then, everyone goes "agile".

  22. Agile is a bit like a religion by Anonymous Coward · · Score: 1

    The basic dogma is that it works. If it does not work for you, it is because you are doing it wrong.

    Quite frankly, all these methodologies that have been foisted on the software development world throughout the years amount to little more than fads with very little in the way of a scientific basis. They are just modern day snake oil.

    1. Re:Agile is a bit like a religion by Anonymous Coward · · Score: 1

      Incorrect. The different agile methodologies are sound in theory just as waterfall is sound in theory. They all work extremely well WHEN YOU FOLLOW THEM. The problem is no one correctly follows them (due to stupid people and the world being complex). Waterfall is the best practice if your requirements don't change and communication has been 100% on what's needed. It was designed for those requirements. Most agile practices are about smaller waterfall iterations leading to more feedback from the user. That way requirement updates happen sooner rather than later and any miscommunications are hopefully noticed quickly. Agile was designed to help integrate the end user into the development process. If you don't have some sort of end-user double checking everything after each iteration then you shouldn't be using most agile methodologies (and there are a bunch of them, "agile" is a large collection of different methodologies). Teams tend to pick and choose what they think are good points of different methodologies and combine them to form some sort of fuck up. Following a methodology to improve productivity and the end result takes effort. Just trying to pick the easy parts will cause problems.

      There are scientific studies on different development practices, but it takes a moment of looking to find them. Instead of following the modern day thinking of "if I haven't heard of it then it doesn't exist", why don't you do some actual research instead of reading random blogs of stupid people trying to sound smart or of smart people trying to make money off of you. There's so much bullshit out there nowadays on everything that it's way more productive and informative to learn where the real studies are being done and read them. They don't creating the same emotions as reading a blog, but then they aren't trying to turn you into a mindless, paying fan.

    2. Re:Agile is a bit like a religion by Anonymous Coward · · Score: 0

      What kind of scientific studies? Like having several teams working on exactly the same project using different methodologies, and then comparing final results? And then rotating the teams over different projects, using different methodologies, to minimize the human factor? Can you give references to them?

    3. Re:Agile is a bit like a religion by Anonymous Coward · · Score: 0

      I would suggest your statement is true of every development methodology. I've seen plenty of waterfall projects go off the rails with project leaders saying that the problem is that the method isn't being followed, or isn't being followed closely enough. I would go even further and say that in every project I have ever been on (which is a lot) when things aren't going well someone will pipe up about the method not being followed and that if only we would follow the method everything would be fine. Even in case where it was clearly evident that the process was in fact a huge source of the problems.

      I don't think that there is a such thing as a perfect method but I think agile is closer to it than waterfall. In the end what I have found is that the commitment of the team is the largest determinant of quality and success.

    4. Re:Agile is a bit like a religion by Kazoo+the+Clown · · Score: 1

      Managers aren't scientists. They're bureaucrats, or politicians, or bean counters or some combination of those. And they're in charge because they dispense the paychecks. If a methodology takes any significant understanding to make it work, it's too complex for its target audience. That is why every few years a new fad methodology with a new set of buzzwords sweeps through, sold by the latest round of salesmen who make a killing on it. But when it boils down to it, it's just another bit of voodoo ritual that the managers are expecting will solve all their problems-- because before that, the problem was-- "you're doing it wrong."

    5. Re:Agile is a bit like a religion by Anonymous Coward · · Score: 0

      There were a lot of meta-studies on large and small projects with teams following specific methodologies at larger companies like IBM. I don't remember the specific studies, I learned about them in my B.S. Software Engineering degree. They're older studies when companies still cared about trying to find the best work environments instead of blindly following the latest fads.

  23. sonarqube integration by BoardHead007 · · Score: 1

    if this tool can analyze structural quality they should create an open source plug in to sonarqube. additionally they should show the results of the tool and not someone's analysis of the data in text format.

  24. Ugh by Anonymous Coward · · Score: 0

    Agile is garbage and is for morons that can't write good software without their hands being held.

  25. SPAC by unixcorn · · Score: 1

    Agile, scrum, whatever. They are just buzzwords for some sort of kool-aid to empower programmers when they feel powerless. None of this can ever work unless the folks ordering the software or software changes know what they are asking for (rare) or provide an unwavering list of requirements. Most software projects go over time estimates or fail because of SPAC. Specification Provided After Completion.

  26. Re:I tried this. Once. by xxxJonBoyxxx · · Score: 2

    >> root of that issue is that customer was not aware of the internal process change, or it was not communicated in the right way

    The customers here were businesses paying for some high-end commercial software. They didn't and wouldn't have given a s*** that our internal processes changed - they just saw releases slow down, quality drop, and their input seemly ignored.

    I'd say the root cause here was that the acquiring company killed the feedback loop between customers and development teams with bloated processes, which then killed productivity, communication, applicability and time-to-market.

  27. How many suspension bridges... by pigiron · · Score: 1

    and airliners were designed and built using Agile engineering methods.

    That's right, exactly zero.

  28. We should learn from municipalities, not toyota. by 140Mandak262Jamuna · · Score: 1
    Agile process has its roots in the process used by the industrial engineers of Toyota, Japan in improving the quality of the process. It is interesting to note that the success of Toyota, Japan, is not easily replicated, and even Toyota, USA and other siblings are not able to be as efficient as Toyota, Japan. This process is good for making multiple copies of a well known object using large number of workers with highly interchangeable skills, and the process could be broken down into very small pieces where any team member could do any task.

    Software development is not making the same widget again and again. This is the fundamental misapplication that is messing up agile implementations.

    Software grows more like a city. Any new functionality needs to interface with and restricted by existing infrastructure. A large software project is like adding a new skyscraper to an throbbing downtown. If we could distill the collective wisdom of the town planners about clearly marking existing interfaces, existing users, the typical use case scenarios that will be affected by the reengineering, detours and diversions needed while the project is going on, we would get a better process. Agile is simply promising too much to the top management and then blaming the developers for "not doing agile right".

    --
    sed -e 's/Chuck Norris/Rajnikant/g' joke > fact
  29. Don't mix whiskey and beer that's for sure! by Anonymous Coward · · Score: 0

    Drunk Developing?

    I work at home a lot. If I'm doing detailed coding, complicated architecture, or other stuff that has to have all the details just right, no way.

    If, on the other hand, I'm brainstorming ideas on a high level - how might I design an interface for this particular crazy business requirement, what cool features might I toss into a project, etc., a splash of Jack in the morning coffee can be of benefit.

    Sadly, I'm tweaking interface code to a payment gateway API this morning, so stone cold sober. :(

  30. WTF? by sunderland56 · · Score: 2

    Agile and waterfall are *management* methods. Code quality is a function of *developers*.

    If you want quality code, stop pissing off your developers, and choose the least intrusive management method, so people can do their work.

    1. Re:WTF? by Anonymous Coward · · Score: 0

      The code can be completely bulletproof and still do the exact wrong thing from the user's perspective. Unless you're banging together some crap for yourself, writing the code is the easy part.

    2. Re:WTF? by angel'o'sphere · · Score: 1

      Both is wrong.
      Waterfall is a 'planning method' has nothing to do how you 'manage' the project.
      Agile is a 'development method' has again nothing to do with either 'planning' or 'managing'.
      If you mix up that shit it is no wonder your organization has trouble to make software.
      Hint: extreme programming is an agile 'development method' where everything around crafting software is emphasized and turned into the mid of the focus of developing. No 'planning' except for sprints and absolutely no 'managing' involved at all!
      Scrum is very similar, but gives a clear interface between development and management.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  31. Re:We should learn from municipalities, not toyota by Anonymous Coward · · Score: 0

    Except city planning is expected to grow and plan over years. Try telling that to management, who always asks why the software project is talking x time and y $ and not 20- 30% less on each dimension.

  32. DevOps by asylumx · · Score: 1

    From what I hear, this is all old news anyway and we should all be switching to devops!

  33. Sigh... by biodata · · Score: 1

    Like we used to do in the 90s and just called it 'engineering'.

    --
    Korma: Good
  34. Some flavors of agile fight human nature ... by perpenso · · Score: 1

    The problem is that unless your business IS software

    Exactly this.

    And it gets worse for some flavors of agile, for example where any programmer can get assigned to any task any part of the code, etc.

    Aside from the implicit assumption that all parts of the code are equivalent and all programmers are interchangeable, which may be true to some degree for the corporate IT projects that some agile books use as their wonderful success stories and basis, this fights human nature. Some people are productive and happy bouncing around different parts of a project, but others are more product and happier when then get to drill down and focus and become expert in one particular area. Its just the way people are wired, some one way, some the other.

    A key to good management is to figure out what work styles and methodologies fit each individual programmer so that their productivity (and hopefully happiness) can be high. That's the problem with these "here is the one true universal answer" methodologies, they fight against human nature. Admittedly this may not be a problem with agile in general but it is a problem in some flavors of agile.

    1. Re:Some flavors of agile fight human nature ... by neoritter · · Score: 1

      One of the key tenants for Agile though is that developers pick the tasks they're going to work on in a sprint.

    2. Re:Some flavors of agile fight human nature ... by perpenso · · Score: 1

      One of the key tenants for Agile though is that developers pick the tasks they're going to work on in a sprint.

      But some flavors say that developers are supposed to work on all parts of the project. So yes they may be able to pick the individual task but they might not be able to pick a task from an area they prefer.

    3. Re:Some flavors of agile fight human nature ... by Dastardly · · Score: 1

      But some flavors say that developers are supposed to work on all parts of the project.

      I think that is a misreading. Development teams should be assigned to end to end features. Development teams can be specialized in particular features and the components associated with those features. Development teams should be allowed to work on whatever component is required to implement their features, including some that may only be peripheral to their core components in order to complete a feature. Experts should be available to assist with modifying those peripheral components. That means teams have senior members who have some responsibility to teach other teams. If after some time, the most valuable work is not longer in the area of the application that the team is specialized in, the team should start getting work in the more valuable area of the application and start ramping up their capabilities in that area.

      The calculation is whether lower effectiveness at higher value work is worth more than higher effectiveness at low value work. Clearly switching teams around constantly, so they are always on the steep part of the learning curve is stupid, and should not be done. But, seeing a lot of work in a high value area of the system or organization would make it worthwhile to move that team and have them start learning something new.

    4. Re:Some flavors of agile fight human nature ... by perpenso · · Score: 1

      But some flavors say that developers are supposed to work on all parts of the project.

      I think that is a misreading. Development teams should be assigned to end to end features. Development teams can be specialized in particular features and the components associated with those features. Development teams should be allowed to work on whatever component is required to implement their features, including some that may only be peripheral to their core components in order to complete a feature.

      I think we are describing two very different sized projects. I'm not referring to very large projects that are implemented by multiple development teams. I am referring to more modest sized projects where there is a single development team; several different small projects that are developed/maintained by a single development team; etc.

      I'd have to go find the book that a previous manager read and fell in love with, but it was pretty clear. Don't let someone always work in the same area or always avoid a particular area, no team member "owns" or "controls" a particular area, etc. The book didn't make a lot of sense to me, the author was always seemed to be describing examples and success stories from a single internal corporate IT project. I'm sure it all worked wonderfully from him but his experience seemed to be in a very narrow niche and I didn't see the methodology he was promoting being a good fit in many other areas. Unfortunately management felt differently.

      And again, I'm not referring to agile in general. Just some particular flavors, especially those with guru champions selling books championing their flavor. Many things in the core of agile make sense -- frequent deliveries of working software, frequent use by / feedback from customers/users, avoid crunch mode, keep code simple / just the essentials, etc -- however it is in the actual implementation of some particular agile process that things can get strange and/or counterproductive. Possibly because of the unsuitability of the chosen flavor of agile.

  35. What I find ludicrous is 1/2 the repliers here by Anonymous Coward · · Score: 0

    They're NOT coders and talking out their asses. QA, Project Managers, etc. (bullshit artists that have NO CLUE on how or why apps are written as they are). Sorry to those of you that actually code though. This isn't directed your way. The ONLY THING that really works is good decisions on the part of the customer, who commits to them in writing, and doesn't change scope or features much (and is billed for times they do and is willing to pay up). All this "agile" bullshit is just that. Bullshit. Too much change and you never actually get anything done. That's a fact. Any real dev will tell you the same. You hit a shop using anything else? Run. Quit. Leave. You're wasting your time and theirs until they get their heads out of their asses and perhaps hire former coders as project managers who understand how the process of SUCCESSFUL development is actually done so it works, successfully, on time.

  36. We knew this already in 2006 by Anonymous Coward · · Score: 0

    Actually, we discovered the same thing: that it's better to mix agile and waterfall. Already in 2006 we wrote about it in our project management manual, that was released then open source: http://www.projectmanagement-training.net/book/chapter6.html

    We know all the problems of 'pure' waterfall, but some things are just missing in 'pure' agile. For example to set clear goals for the project or do some initial thinking anyway.

  37. It's Called the Avalanche Model by Maltheus · · Score: 1

    They already have a name for this.

    From the wiki:

    The Avalanche model is a Software Engineering project management anti-pattern, it is a combination of a sequential process such as the Waterfall model and Agile software development methodologies. It is the result of a Project Manager's attempt to apply Agile techniques to a project, when all they really understand or were taught was a sequential development cycle. Instead of breaking the project into parts that each sequentially go through the phases of development, the entire project inhabits all phases of development simultaneously. Usually the result of attempting to use the Avalanche model is mass confusion, wasted effort, and a product that cannot meet the specifications of any requirements document.

  38. Mix Agile with Waterfall by PPH · · Score: 1

    We'll call it "Mudslide".

    --
    Have gnu, will travel.
  39. DUH by recharged95 · · Score: 1

    You use the tools the way they were designed AND purposed (folks forget the 2nd part). And you use the tools for their strengths, not their weaknesses, aka as needed--which is also known as experience.

    Otherwise you're just following a religion.

  40. Almost all management is risk management... by frank_adrian314159 · · Score: 1

    And to try to control project risks, we have many best practices. Some work well in a given industry, some don't; some work well for a given product, some don't; some work well in a given organization, some don't; some work well for a given team, some don't; and some of them work well together, others don't.

    The sad thing is that we underestimate these contextual issues, everywhere in our industry - from process consultants who want to sell their expertise, to Agilistas who sacrifice their objectivity to their god, to PMPs who want a schedule down to five minute increments before they're satisfied (and your status reports for each of those tasks had better be in order, Buster!), not to mention business people demanding irrelevant statistics (because what's important to an engineering manager might not be important to an accounts payable manager and vice versa), QA teams morphed to process teams (because you engineer in quality, not test it in) who demand the same processes across the company (no matter what's being built), to VPs who tout metric gains that don't fall outside the boundaries of noise, given the process being measured, etc., etc., ad nauseum.

    However, to me it is unsurprising that companies that decided to roll their own processes rather than "cookie cutter"ing one are doing better. They're probably more attuned to their environment than any company in the throes of iatrogenic Agilista or PMPing agony will ever be.

    --
    That is all.
  41. Re:I tried this. Once. by Anonymous Coward · · Score: 0

    I feel your pain. Luckily I just got promoted into a Dev Lead role, where I take part in those meetings that decide what goes into the sprint and am in a position to try and influence the PM into a more agile way of doing things. Of course, when we even suggested to him that the team would tell him how much of what he wants they think they can actually do he was scared as hell. It wasn't getting through to him that he's not even giving up any control, while gaining on the team side, because they will care more about what they've actually committed to vs. something that was handed down to them as "do or die".

  42. Experience by Livius · · Score: 1

    We're using FrAgile and Waterfall and our project has had to be halted for the second time in two years.

    Agile (the way we're doing it, probably the wrong way) doesn't scale. If the project is 100 people, half of whom have never met the other half, then a daily meeting is impossible and attempts just degenerate into people checking off boxes but mainly consuming enormous amounts of time without actually communicating anything of value.

    On the other hand, my personal suspicion is that "Agile" was really the vendor saying they could adapt to very fluid and evolving requirements when in reality they never understood the requirements in the first place and had no intention of ever fulfilling them. Maybe 'real' Agile would work better.

  43. Re:I tried this. Once. by Anonymous Coward · · Score: 0

    I'd say the root cause here was that the acquiring company killed the feedback loop between customers and development teams with bloated processes, which then killed productivity, communication, applicability and time-to-market.

    At least you got an acquiring company. When we went agile, we hired a bunch of assholes who killed our margins, and with it, the only chance that we'd get acquired. We were fucking profitable once.

  44. We call this SCRUM, with long cycles by Anonymous Coward · · Score: 0

    It's not about mixing waterfall with agile, it's about mixing a waterfall organisation with a pseudo agile team of developers. Been there, done that.

    They call this lack of productivity, I call this structural inertia and company lack of change.