Slashdot Mirror


The State of Agile Software in 2018 (martinfowler.com)

On the surface, the world of agile software development is bright, since it is now mainstream. But the reality is troubling, because much of what is done is faux-agile, disregarding agile's values and principles, writes programmer Martin Fowler. The three main challenges we should focus on are: fighting the Agile Industrial Complex and its habit of imposing process upon teams, raising the importance of technical excellence, and organizing our teams around products (rather than projects), he added. An anonymous reader shares his post: Now agile is everywhere, it's popular, but there's been an important shift. It was summed up quite nicely by a colleague of mine who said, "In the old days when we talked about doing agile, there was always this pushback right from the beginning from a client, and that would bring out some important conversations that we would have. Now, they say, 'Oh, yeah, we're doing agile already,' but you go in there and you suddenly find there's some very big differences to what we expect to be doing. As ThoughtWorks, we like to think we're very deeply steeped in agile notions, and yet we're going to a company that says, "Yeah, we're doing agile, it's no problem," and we find a very different world to what we expect.

Our challenge at the moment isn't making agile a thing that people want to do, it's dealing with what I call faux-agile: agile that's just the name, but none of the practices and values in place. Ron Jeffries often refers to it as "Dark Agile," or specifically "Dark Scrum." This is actually even worse than just pretending to do agile, it's actively using the name "agile" against the basic principles of what we were trying to do, when we talked about doing this kind of work in the late 90s and at Snowbird. So that's our current battle. It's not about getting agile respectable enough to have a crowd like this come to a conference like this, it's realizing that a lot of what people are doing and calling agile, just isn't. We have to recognize that and fight against it because some people have said, "Oh, we're going to 'post-agile,' we've got to come up with some new word," - but that doesn't help the fundamental problem. It's the values and principles that count and we have to address and keep pushing those forwards and we might as well use the same label, but we've got to let people know what it really stands for.

203 of 315 comments (clear)

  1. A new pile. by Anonymous Coward · · Score: 5, Insightful

    Seems like with each new manager and team lead they change things. From codewords to project phases to agile. The not invented here mentality is the problem

    1. Re: A new pile. by Anonymous Coward · · Score: 1

      OMG the entire snippet is about how you must not mistake agile because agile is great and everyone is doing well and agile but it's not right agile.. you have to do our agile.

      At the end. Wondering wtf is agile!

      Must be a dim.

    2. Re: A new pile. by Anonymous Coward · · Score: 1

      Agile is some fake shit invented by useless faggots so they look busy, but actually just chirp a bunch of made-up "computer-sounding" nonsense back and forth.

      If they do it while holding network equipment then it's "DevOps" or some other gay shit.

    3. Re:A new pile. by Darinbob · · Score: 4, Insightful

      When I see things like "because much of what is done is faux-agile, disregarding agile's values and principles", it sounds like the church arguing against reformers and splitters. Agile started life sounding like a religion, and over time that has only intensified. Sure some people do it badly, but Agile is not a magic bullet that solves everyone's problems all the time as long as it's done perfectly.

      The problem is the adherents insist that there are only two models - agile or waterfall, nothing else. And then they try to put the two in conflict with each other. But waterfall is mandatory in so many environments. If you must tell your customers what features will ship on a certain date in the future, then you have to have project planning in advance of building or implementing, and that's where waterfall works. Agile is good for web sites where you're just tweaking small things and doing "continuous delivery". But it becomes clumsy with complex systems, and where you need specialists and not generalists.

      Sure, I have seen some advocate that you just put the design phase into agile, but you're still stuck with the silly scrum model where you have to have results every two weeks even if a design task takes two months or more.

      If a company is failing because of waterfall, they are almost certain to be failing with Agile as well.

    4. Re: A new pile. by Anonymous Coward · · Score: 1

      It's also used to support the cottage industry of charlatans and hucksters who peddle these bullshit 'technologies' to their idiot counterparts in management & sales. If they weren't hawking Agile 9.0.3 (like it was an actual thing, with revisions) - they'd be pushing Self-Discovery Courses at 2 AM on some local TV channel, or fluffing a crowd of retards at the Hyatt for a Tony Robbins: Unlimited Power seminar.

    5. Re: A new pile. by HornWumpus · · Score: 3, Insightful

      Agile is a manifesto full of truisms. Nothing to argue with, but PHBs are not the target audience and DON'T GET IT. Only take the parts they like, such as (para via PHB brain) 'specs are useless'.

      Scrum is just a bad idea and is often called 'Agile'.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    6. Re:A new pile. by HornWumpus · · Score: 1

      Agile != Scrum.

      That's the point, 99% of 'Agile' is actually Scrum or some other stupid, ridgid methodology.

      Agile has 'people over process' right in the manifesto.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    7. Re:A new pile. by methano · · Score: 1

      I'm not a full time coder, ao maybe I'm not really familiar with this. Is Agile some kind of religion for coders? Sounds like it with the false prophets and true believers and all that other stuff.

    8. Re:A new pile. by Anonymous Coward · · Score: 1

      Agile != Scrum.

      That's the point, 99% of 'Agile' is actually Scrum or some other stupid, ridgid methodology.

      Agile has 'people over process' right in the manifesto.

      "People over process" is uttered by creative types that have never ever done a real life large scale software project. Engineers that do real work to deliver products talk about "process over people". Yeah it ain't cool but it just works. Or at least it works infinitely better than agile/faux-agile or whatever the hippy word of month is today in the software world.

    9. Re:A new pile. by JaredOfEuropa · · Score: 1

      The manifesto also explains that Agile doesn't mean doing away with process. Scrum is useful, and it's only as rigid as you make it. The problem is that most managers, project leads (and yes, certified Scrum masters and product owners too) tend to gravitate towards more process, and turn it from a useful template into a guideline into a rigid set of rules, to be followed strictly. A lot of such people are led to believe that following the process - whether it's Scrum or waterfall or ITIL or something else - is a recipe for making your project or your team successful. Box-tickers, in other words.

      --
      If construction was anything like programming, an incorrectly fitted lock would bring down the entire building...
    10. Re:A new pile. by Tough+Love · · Score: 1

      Is Agile some kind of religion for coders?

      Almost right. It's a religion for managers.

      --
      When all you have is a hammer, every problem starts to look like a thumb.
    11. Re:A new pile. by alvinrod · · Score: 1

      A lot of such people are led to believe that following the process - whether it's Scrum or waterfall or ITIL or something else - is a recipe for making your project or your team successful. Box-tickers, in other words.

      Clearly you want some kind of process. Leaving everyone to their own devices tends not to work well. The trick is finding something that works well that you can get the entire team to buy into. Having a process that everyone hates and no one is really going to follow is about as bad as having nothing at all. However, that's no simple feat either. The kind of process that managers would love is the kind of process that developers will hate and vice versa. There's no magical solution that pleases everyone optimally and results in perfect working software.

    12. Re:A new pile. by HornWumpus · · Score: 2

      You disagree with the authors of the Agile manifesto.

      I bet you have _never_ shipped code.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    13. Re:A new pile. by HornWumpus · · Score: 1

      Agile says explicitly that a good team will succeed despite the process and a bad team is useless, no matter what process is used.

      Lack of formal process rituals doesn't mean you don't have authority and responsibility on team members.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    14. Re: A new pile. by HornWumpus · · Score: 1

      Except that Agile IS done correctly, many places.

      Places that laugh at any scrummy people that apply.

      You have obviously never read the manifesto.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    15. Re: A new pile. by Anonymous Coward · · Score: 2, Interesting

      Agile is judged by its own metrics. Of course it is done "correctly". Whether they laugh at others' implementation of Agile is irrelevant.

      Yes, I have read the manifesto. Unfortunately, extracting my commentary on it from my plain-text document will not look good, and I wrote it a long time ago without fully reviewing what I wrote, but I don't care, since nobody will read it anyway.

      Here's the Agile Manefesto, with commentary by me:

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

      > Individuals and interactions over processes and tools

      Processes and tools empower individuals to get their jobs done
      without uncertainty and with great efficiency. Also, many agile
      shops insist on using certain methodoligies that require certain
      tools (e.g. Rational Rose, Microsoft Visual Studio), so this is
      clearly not a shared value.

      Valuing individuals is good. The proper way to do this is to
      adjust the processes and tools to meet the needs of the
      individuals, rather than dictacting what sounds best to
      everyone without feedback.

      Wikipedia provides elaborations:

      > ... self-organization and motivation are important, as are
      > interactions like co-location and pair programming.

      What does this even mean? Are you saying non-"agile" methods
      do not encourage self-organization and motivation? Motivation
      in particular is completely dependent on the individual.
      Agile methods do not motivate me, for example. Self-organization
      sounds a lot like "we have no clue how to manage this, so we'll
      rely on you to, even though you probably have no clue, either".
      ISO 9001 compliance, which was popular for a time, requires
      that every task an indivdual performs be written down. This
      prevents management from inventing new tasks outside of the
      employees scope, helps orient new employees, and when it
      comes time for status reporting and performance reviews, it
      gives the employee a reference against which to evaluate.
      Self-organization can be part of that, by not forcing
      procedures that dictate organization, but I don't see a lot
      of that coming from the "agile" programming folks. Instead,
      a new set of rules is forced on people, claiming that they
      are somehow superior.

      Co-location is fine, and sa

    16. Re:A new pile. by gtall · · Score: 2

      These are not the problems with Agile. The main problem with Agile is that it doesn't scale and when large projects are attempted, it tends to produce dirty snowballs. Those snowballs become too large for any agile project and then the size makes them essentially unguided. They crash, burn, and then the team realizes they should have done a real design first, and then filled it in making accommodations as necessary.

      In my own experience, Agile reduces engineers to cogs whose only mission is to add some extra pieces of chewing gum to an unruly wad.

    17. Re:A new pile. by fahrbot-bot · · Score: 1

      Is Agile some kind of religion for coders?

      Almost right. It's a religion for managers.

      A Dilbert for this sentiment was actually posted today...

      --
      It must have been something you assimilated. . . .
    18. Re:A new pile. by laird · · Score: 5, Interesting

      When done right, it lets managers get out of the way of developers, because it replaces the boss being in charge with the team being self-led, with the "boss" clearing the path and facilitating when things get stuck, and you empower the product owners with real authority to make decisions, empower teams to do real estimation, etc. When I've seen agile fail, it's because the management couldn't give up control to the team, so they basically ran waterfall development using agile terminology. That is, when you make fixed scope and fixed time commitments, because the boss (or product owner) says so, you're waterfall - it doesn't matter if you use story points and sprints to implement your waterfall product, because you've missed the fundamental point of agile.

      Call it Scrum, XP, Kanban, etc. - it's all about measuring and optimizing a process by empowering the people who do the work to improve how they do the work. Everything else is just a means to that end. The techniques work, which is why companies who do them tend to outperform the companies who don't. But a bad team with bad management who uses the form of agile without the substance is still screwed.

    19. Re:A new pile. by HornWumpus · · Score: 1

      That's scrum. Particularly the 'cog' feature, which is the most broken part of scrum.

      There is nothing in Agile that says: 'Don't do an initial design'. It does say (para): 'Don't expect you initial design to be right or complete. Expect to make frequent adjustments. Expect the client to realize they have additional requirements.'

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    20. Re:A new pile. by angel'o'sphere · · Score: 1

      Scrum is not a process.
      Scrum is a meta process. You define your own process inside of the scrum framework.
      Scrum is not rigid at all, besides the ceremonies and the iterative/sprint approach.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    21. Re: A new pile. by Tough+Love · · Score: 1

      Agile is some fake shit invented by useless faggots so they look busy, but actually just chirp a bunch of made-up "computer-sounding" nonsense back and forth. If they do it while holding network equipment then it's "DevOps"

      Save some time and read only this.

      --
      When all you have is a hammer, every problem starts to look like a thumb.
    22. Re:A new pile. by PPH · · Score: 3, Funny

      At some point it becomes necessary to behead all the architects and begin construction.

      -- Abi-Bar-Shim (Project Mgr. - Great Pyramid)

      --
      Have gnu, will travel.
    23. Re: A new pile. by Anonymous Coward · · Score: 1

      Hey, I read your post; it's good to get an alternative perspective on this stuff. We do "Agile" where I work, but it boils down to using Jira as an issue tracker and having a tedious meeting every single day.

      Only on my second job out of college. I have yet to see what good management of the software development process looks like.

    24. Re: A new pile. by Anonymous Coward · · Score: 1

      The reality of it is always like this. Ideal circumstances and places hard to come by, and split up for "synergy" when found. When management is about running from fad to fad, disempowering, dividing and oppressing people more and more, you end up in more and more suck.

      The good projects are often by sincere people who let you do your supposed job without interfering too much, but always lucky breaks amid the usual suck.

    25. Re: A new pile. by dskoll · · Score: 2

      I founded a successful software company that I sold after 19 years, so I have shipped code. Agile is a satire written by drunken programmers on a lark that accidentally got taken seriously.

    26. Re:A new pile. by zmooc · · Score: 3, Insightful

      I think the main problem is something else: proper agile requires buy-in from just about any organisational layer above the agile team. Usually the time, attention-spam and understanding to achieve this is almost impossible to achieve. Agile requires trust while company hierarchies are usually organized around distrust; agile requires doing things together while traditional company hierarchies demand clear separation of responsibilities. Agile requires thinking about what to do next while companies revolve around yearly planning. Agile requires accepting uncertainty inherent to software development while companies revolve around containing such uncertainties, usually in a superficial way. Those kind of things make achieving true agile in a commercial organization next to impossible.

      --
      0x or or snor perron?!
    27. Re: A new pile. by Anonymous Coward · · Score: 1

      "I have yet to see what good management of the software development process looks like."

      You'll probably never see it.

    28. Re: A new pile. by ichimunki · · Score: 3, Insightful

      Absolutely brilliant response to the Agile Manifesto. As someone who used to be an Agile fanatic, I've never once seen it work the way it's supposed to. The fact that it's so prone to abuse is just further evidence to me that it's a flawed ideal. I especially dislike the "welcome changes in requirements" part... WTF. No. It's one thing to *clarify* requirements as you go along, it's another thing to scrap them completely. And even the most rigid waterfall system always had a robust system for change control, updating requirements, and responding to new information/understanding. The best thing I can say about Agile or DevOps is that it's got management types actually taking things like automated deploys and source control seriously. But as you say, that's "tools and processes" over individuals.

      --
      I do not have a signature
    29. Re:A new pile. by byteherder · · Score: 1

      That is, when you make fixed scope and fixed time commitments, because the boss (or product owner) says so, you're waterfall - it doesn't matter if you use story points and sprints to implement your waterfall product, because you've missed the fundamental point of agile.

      I have to call out this BS when I see it. Fixed scope, fixed time commitments are not waterfall, it is called reality, It is called business. When you run a business, you know that you have fixed scope, fixed deadlines and fixed resources (developers, money, costs) to deliver a product. You are trying to use the most efficient methodology to accomplish that task. The zealots will cry that agile doesn't work for like that, but I have seen agile work well on fixed bid, fixed price contracts. I have also seen agile fail miserable where waterfall would have succeeded. Just to be fair, I have seen waterfall fail where agile would have succeeded.

      When agile fails all the pundits cry that you were "not doing it right", or you were "not agile enough", instead of seeing the flaws and shortcomings of agile. I don't hold allegiance to one side or the other. I just try and pick the right tool for the job.

    30. Re: A new pile. by HornWumpus · · Score: 1

      If you think "process' and tools" empower individuals, we don't have a common basis for discussion. I don't believe you work in software development, at least not in a technical role.

      'Process and Tools' (like scrum) are designed to empower PHBs who don't understand development. It empowers them alright...not in a good way.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    31. Re: A new pile. by Gr8Apes · · Score: 1
      I have, and it wasn't anything "Agile", at least not by the manifesto. Lots of pieces that Agile claims, in various guises, but since it was managed from the top down and not bottom up, was definitely not "Agile". My personal take is as soon as you hear "Agile workplace" raise your internal red flag and see if any of the following hold:
      • Daily SCRUM with more than 5 people
      • No project lead/PM given responsibility for a project
      • No real management ownership in projects
      • A chaotic workplace where developers have binders standing on end to block neighbors on shared tables and/or wear Bose or other noise canceling headphones to block out the life-sucking cacophony surrounding them. Bonus points for dual monitors shifted to block out views of all their neighbors.

      Any 1 of those is cause for alarm, 2 or more is a bow out the door scenario.

      --
      The cesspool just got a check and balance.
    32. Re:A new pile. by HornWumpus · · Score: 1

      Agile is a manifesto, it's not 'loosey goosey' or anything that specific.

      Rapid iteration waterfall with all the stages renamed and additional rituals, is a lot like Scrum.

      Business needs often change more rapidly than development cycles can complete. Consulting, in house, software as a service devs all know that a hard absolutely fixed spec isn't reality. Better to design the system to accommodate change. Be very suspicious when the uses claim to have a 'dead tight spec', they only think they do.

      'Shrink wrap' software is just different, 90% of devs are not in that mode. It has to put it's flexibility into configuration, which leads to _pigfucks_ like SAP or Oracle apps.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    33. Re:A new pile. by Spinlock_1977 · · Score: 1

      I've never seen 'agile explicitly' saying that. Instead, It says teams should self-organize. Organization and process are not the enemies of Agile. Instead, Agile teams organize themselves based on reality and need, rather than blindly swallowing a prescription, such as Scrum.

      The teams I've led or built over the last 35 (ok, only 20-ish in a leadership capacity) years always do fine until senior managers/box-tickers decide we need a bunch of middle-managers and scrum masters.

      --
      - The Kessel run is for nerf herders. I can circumnavigate the entire Central Finite Curve in a lot less than 12 parse
  2. No True Scotsman by Anonymous Coward · · Score: 4, Insightful

    Just the latest management fad in a long line of management fads, watch as we wave away criticism of our touted silver bullet.

    1. Re:No True Scotsman by Anonymous Coward · · Score: 1

      Just the latest management fad in a long line of management fads, watch as we wave away criticism of our touted silver bullet.

      Yes, precisely. Every development project that I've ever seen that ran into trouble had the same thing in common: over promising what they can deliver.

      And 90% of the time is because of the sales people. The other 10% is some tech lead/manager trying to impress the higher ups for his promotion. Sometimes, they do get promoted and leave us holding the bag.

      And the other 15% of the time is because estimating development time is just impossible - especially project managers who insist on percentage complete to stick into their project management software they learned on their certification class they took that one week in Hilton Head. Estimate the time to create a symphony. You might pull it out of your ass instantly or take 20 years.

    2. Re:No True Scotsman by ilguido · · Score: 1

      If I had mod points, I'd mod you up.

      These fads, like lean production, six sigma mumbo jumbo, are just magic formulas that MBA bots repeat to persuade you they are able to manage real stuff, they know nothing about.

    3. Re:No True Scotsman by djinn6 · · Score: 1

      Every development project that I've ever seen that ran into trouble had the same thing in common: over promising what they can deliver.

      That is what Agile methodologies (such as Scrum) are supposed to fix. Simply put: it doesn't promise anything. Stakeholders come up with an ordered list of work to do, and the engineers will work on them in order. Don't like what's getting done? Change the order. Want it done faster? Add more people, but don't expect to see improvements until a few months down the line.

      The problem, as explained in the article, is that most people embrace all of the procedures, like playing games with "points" and doing daily stand-ups, but completely miss the whole idea of adapting the procedure to the situation.

    4. Re:No True Scotsman by laird · · Score: 1

      Exactly. Product managers are very bad at imagining hypothetical future products and completely specifying them, and engineers waste a lot of time building multi-year "cathedrals" that turn out not to be what the marketplace wants. Building mockups, then MVP's, then iteratively enhancing it, all based on marketplace validation and correction works a lot better. If you build a mockup in a few days, spend a day in Starbucks getting users' feedback, and you find out it's a bad idea and move on to the next idea, you've saved a big company $millions in wasted effort compared to spending two years building a robust product that nobody wants. (And that has happened most of the time!) That's one of the key values of agile - listen to the feedback from the marketplace and pivot based on what you've learned.

    5. Re:No True Scotsman by laird · · Score: 4, Insightful

      In reality, lean production techniques are why the Japanese car companies outperformed US car companies for several decades, until the US car companies copied their management techniques and (somewhat) caught up. Very real stuff, worth $billions.

      If MBA's don't understand lean manufacturing and copy the form without the substance, the problem is the MBA's, not lean manufacturing.

    6. Re:No True Scotsman by PolygamousRanchKid+ · · Score: 3, Funny

      Just the latest management fad in a long line of management fads,

      Agile will soon be enhanced to create Freestyle Recursive Agile Software Development, known by its short form, Fragile.

      Similarly, the imprecision of integer DevOps will be improved by implementing floating point operations, to gift us DevFlops.

      watch as we wave away criticism of our touted silver bullet.

      watch as we wave away criticism of our touted Bitcoin bullet!

      --
      Schroedinger's Brexit: The UK is both in and out of the EU at the same time!
    7. Re:No True Scotsman by ilguido · · Score: 1

      To say the truth, lean manufacturing/production is the name retroactively given by MBA "experts" to the Toyota production system. The key point of the Toyota production system is a capable management (Taiichi Ohno was a technician with a lot of on-field experience), all the rest is basically folklore: a bad management does no good, no matter how many kaizen and genchi genbutsu they do, while on the other hand a skillfull and competent management, well, does the right things anyway.

    8. Re:No True Scotsman by DNS-and-BIND · · Score: 2

      This is a partial truth. The real truth is that America gave Japan a gigantic bribe in the form of totally unfair (to Americans) trade deals. Japan largely got a pass from the United States when it used protectionism and state subsidies to build its industries after World War II. The same protectionism that people decry today apparently worked spectacularly well when anyone but Americans did it.

      Japan was free to dump its autos on America and put our people out of work, but American imports to Japan were tightly restricted. This bribe was to stay on the free world side in the Cold War. You'd think they wouldn't need a bribe, but even today Japan has an active Communist Party, and even back when Russia was 1000 times the threat it is today, Japanese and Western leftists sought to join their nations to the Soviet Union as Soviet republics. More info here.

      Follow me back to 1946. Europe is ruined, China is still a backwater. The USA puts together an alliance that allows everyone within it to trade goods into the US without significant trade barriers. This allows for Europe to export their way back to prosperity after WWII. It gives them room to grow their economies beyond what their somewhat depleted populations will allow. In addition to allowing the free flow of goods, the USA becomes the security guarantor of the free world by using our navy to police the world's oceans and enable low risk (and hence low cost) global trade.

      But there was a condition. In order to deal with the US, you had to be on our side in helping to combat and contain the Soviet Union. Essentially the US traded some of its economic/manufacturing capacity for increased security and strategic assets to assist in the cold war. Only one problem: We won. The Soviet flag went down in 1991, and we didn't really make any changes to the world order.

      They only beat us on trade the past few decades because we let them. We're not letting them any more. Globalization is over. Free trade is over. The rest of the world riding on America's back is over. Atlas is shrugging.

      --
      Shutting down free speech with violence isn't fighting fascism. It IS fascism!
  3. YMMV by ZiakII · · Score: 4, Insightful

    YMMV I still find it better then the old system and waterfall. My biggest problem you would get stuck in a 2-3 year death march when you know the project is going terrible due to the sunken cost fallacy. Now at least with agile the most you waste is 2 months.

    1. Re:YMMV by arth1 · · Score: 1

      The flip side is that you never do any of the work that by nature is too big for a sprint. Projects get interminably delayed and finally cancelled because they are too big and can't be split into smaller pieces. Or you try and fail miserably. Sometimes agile is like attempting to jump a chasm in three small leaps.

      I'd like to see more upfront evaluation of what would be the best approach for any given task. Sometimes agile fits the bill, and sometimes not. Uncritically going for agile as a panacea that solves all problems leads to exactly as many problems as it solves.

    2. Re:YMMV by halivar · · Score: 1

      The flip side is that you never do any of the work that by nature is too big for a sprint.

      But that's the point. If you follow the rules, you have to break down the project into discrete, manageable chunks. In the old waterfall days, we could have a nebulous, unplanned project take a year and have to be rebooted because the approach was not thought-out beforehand. The iron-clad story size limit forces a bare minimum of pre-planning.

      And in my experience, there's no such thing as "a project too big and can't be split into smaller pieces." I absolutely do not believe such a thing is possible, unless the project is to write a single algorithm in a single method, and spend 3-months sprint doing it.

    3. Re:YMMV by dfghjk · · Score: 1

      What's worse, ignoring a project's potential for failure (sunken cost fallacy) or insuring it (Agile)? Nothing damages long term potential more than shortsightedness and Agile's guiding principle is, essentially, shortsightedness (slavery to short term measurables) along, of course, with the mythical man-month assumptions than enable it.

    4. Re:YMMV by angel'o'sphere · · Score: 1

      Projects get interminably delayed and finally cancelled because they are too big and can't be split into smaller pieces.
      Everything can be split into smaller pieces. It is called a task that needs to be done. You don't need to make your sprints on the level of a use case, story or subsystem.
      The question is: does it make sense to split a "milestone" into 100 tasks taking 4h - 16h (in original Scrum a task should not be longer than 2 work days). It might not make sense, because obviously you can not really prioritize them differently. Unless you see synergy effects with other corners in the architecture.

      You are somewhat right, though. I guess, some companies simply think to big. They want a whole system, because they can not imagine how to monetize parts of it already.

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

      You got it completely reversed.

      Agile means: you realize after 3 sprints, the project is to big, the team is to slow, the team is to bad. You have sunk three sprints, you can decide if the project is worth it. You can decide if you invest into improving the team. If you are not agile you have spent much more money when you finally admit that you have failed.

      That is not short sight. That is checking the map and the heading at the end of each sprint. Just like the pilot or captain on a ship checks every hour its position and makes an entry into the log. The log entry in an agile project is at every sprint end. As an organization you immediately realize if you are sinking money: that is the point!

      with the mythical man-month assumptions than enable it.
      It does not. It does the opposite!! It tells you clearly: you going into a death march and don't do happy sprints: stop and reconsider what you are doing.

      No idea how you can get "agile" so wrong.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    6. Re:YMMV by luis_a_espinal · · Score: 1

      YMMV I still find it better then the old system and waterfall. My biggest problem you would get stuck in a 2-3 year death march when you know the project is going terrible due to the sunken cost fallacy. Now at least with agile the most you waste is 2 months.

      Bingo.

    7. Re:YMMV by turbidostato · · Score: 1

      "The flip side is that you never do any of the work that by nature is too big for a sprint"

      I think we all see the problem about corporations trying to sell their "agile tools", management that go the "cargo cult" path without understanding what are they doing... But still there's something on this news and your comment clearly exposes it.

      What the hell have "sprints" to do with agile so what you say could possible be true? Go, find the word "sprint" within the entire "agile manifesto", I challenge you*1.

      So, yes, for the most part there *is* a problem about "agile this/agile that" when it's obvious there's no idea what "agile" is really about -and I don't mean obscure philosophy that needs years of meditation to find enlightenment, I mean a damn 25 lines document! Just go read it and assess how well your organization fits to those 25 lines.

      *1 Yes, of course I know it says "Deliver working software frequently, from a couple of weeks to a couple of months, with a
      preference to the shorter timescale." but it doesn't say "sprint", which is a technical world from a process framework. Follow the principles, and you'll be OK.

    8. Re:YMMV by Darinbob · · Score: 1

      Why two months? If a project takes two years and you're agile the whole time... Upper management that is anxious about cancelling a project will feel the same way whether it's agile or something else. Agile is also being done by the people at the bottom unusually, not by the executives certainly, rarely by middle management, and the team at the bottom can never say "dumb project, let's cancel it".

      Of course some say that the entire company needs to be Agile, but that's like insisting upon a state religion.

    9. Re:YMMV by Darinbob · · Score: 2

      If you have a strong team dedicated to making a process work, any process will work.

    10. Re:YMMV by Darinbob · · Score: 1

      Who cares where we're going, just start laying track in any direction, we can always put u-turns in later!

    11. Re:YMMV by Darinbob · · Score: 1

      Well, we hit situations where the "story" goes on for months, because it's too difficult to split, or because it turns out to be vastly more difficult than intended. Yes, the team and members may be newish to Agile, but ultimately the two week limit is 100% artificial. The driver will take 3 weeks say, you can't split into sub-parts, you can't "demo" a driver that isn't finished except by artificially adding more work (adding simulation bits, a framework to demo it in,etc).

      Project planning is HARD, and Agile is almost always being done by teams that aren't deeply involved in the planning stage. That's why Agile works for those projects were continuous delivery is viable but often fails when there need to be concrete results on specific dates (the yearly release, the new multi-year product that crosses multiple departments, etc). When Agile does work in those cases, it's because the company is changing and adapting Agile to do something other than what the high priests of Agile demand.

    12. Re:YMMV by Darinbob · · Score: 1

      But a task in Agile is supposed to involve being done with it and being able to demo it. Most places don't follow Agile that rigidly, but it is what you're supposed to do. So at some point you can't subdivide further because what you have is unfinished work that can't be demoed except by doing even more work. There is overhead to each and every story and if the stories are too short you end up doing more overhead than actual work (ironically this is the paradise for many programmers I've met).

      Ie, one line of code is NOT a task. One function is not a task.

    13. Re:YMMV by jmccue · · Score: 1

      My biggest problem you would get stuck in a 2-3 year death march when you know the project is going terrible due to the sunken cost fallacy

      Every "death march" I have been part of always end up with the managers getting large promotions and the developers get blamed

      I hope agile will stop that behavior

    14. Re:YMMV by Darinbob · · Score: 1

      Most people do exactly the same thing with waterfall. There is continuous reporting of status in every well managed project regardless of the process. Your manager wants to know how you're doing, the director wants to know how well the teams are doing, the product manager wants to know how things are going, the project manager wants to know how different organizations are syncing up (boards arrive next week, are you ready for them), and so forth.

      And it takes more than 3 sprints usually to even get some initial planning done (assuming your agile process includes planning).

    15. Re:YMMV by Dutch+Gun · · Score: 1

      I agree that splitting a 6 month work item into 4-16h sub-tasks is retarded. That's a classic example of putting dogmatic adherence to methodology before common sense. I worked for a videogame publisher that insisted on a super-detailed schedule like this at the very start of the project - before the game's design was even finalized. Idiocy.

      At most sane places where I've worked, the rule of thumb was to avoid tasks longer than 5 days, and preferably shorter, but it's ONLY a rule of thumb. Sometimes you're just working on very big, complex systems, and trying to get too specific is simply counter-productive. If it comes to that, I'll break the task into "research/prototyping", "implementation" (sometimes in several chunks), "fine-tuning", "integration and testing", and "alterations and bug-fixing" phases (or approximations of those). Almost every significant feature has these development phases anyhow, so you might as well take advantage of it to split up your big tasks.

      --
      Irony: Agile development has too much intertia to be abandoned now.
    16. Re:YMMV by CODiNE · · Score: 1

      Yeah waterfalls are great when the water runs up instead of down.

      --
      Cwm, fjord-bank glyphs vext quiz
    17. Re: YMMV by TJHook3r · · Score: 1

      Gotta love those death marches!

    18. Re:YMMV by arth1 · · Score: 1

      And in my experience, there's no such thing as "a project too big and can't be split into smaller pieces." I absolutely do not believe such a thing is possible, unless the project is to write a single algorithm in a single method, and spend 3-months sprint doing it.

      The easiest example are external resources that have longer delivery time. But also internally, if you have to e.g. run a 4 week test for regulatory reasons, or prime a machine learning algorithm with real-time data that happens in a particular time frame. The agile answer is then "sorry, we cannot commit to this", and the corporate answer is then to hire or contract to someone who will get it done, and wonder why they pay you.

    19. Re:YMMV by Kjella · · Score: 1

      YMMV I still find it better then the old system and waterfall. My biggest problem you would get stuck in a 2-3 year death march when you know the project is going terrible due to the sunken cost fallacy. Now at least with agile the most you waste is 2 months.

      Well I suppose that's how it could work if all projects were optional and we could simply halt them or if we weren't doing projects at all but more like continuous improvements. Unfortunately around here projects are given an overall scope, budget and delivery date. Unlike waterfall projects where we'd actually have an overall plan and milestones we instead do whatever the product owners feel like is important the next two weeks, even though it doesn't matter except for their project plan. So we're making some kind of progress and constantly breaking up the big task right in front of us to feed the development team but those "other" backlog items mostly lie around untouched.

      So two months in nobody knows shit if we're on track for a delivery 2-3 years down the road. In a project I was in earlier somebody came in and said holy crap we need to get some coarse estimates on these backlog items and see if this is at all feasible. The estimate was that we had ~1000 developer hours left and ~8000 hours to do what's in the backlog. You can call that bad agile if you want, but my experience is the exact opposite of yours - agile lets you hide that you're nowhere near where you should have been until the very end. And we've spent tons of time dealing with issues we shouldn't bother try solving in 1.0 but did because the product owner got too near-sighted and lost track of the overall progress we needed to make.

      --
      Live today, because you never know what tomorrow brings
    20. Re: YMMV by reanjr · · Score: 1

      In my experience, this is usually because of poor deadline communication. In agile, there are no deadlines. The idea isn't to create 2-3 week deadlines every "sprint", but to limit wasted time to 2-3 week chunks before pivoting at the next "sprint".

      If you treat agile like weeks long mini projects, you likely won't have success. If you use it to help allocate resources for an ongoing project that is never done, never expected to be done, but will deliver features when they are done and only when they are done, then agile is very helpful.

    21. Re: YMMV by reanjr · · Score: 1

      Oftentimes that strong team will make a process work by ignoring or circumventing the process. Agile is sort-of the distillation of how that looks when it's successful.

    22. Re: YMMV by reanjr · · Score: 1

      General rule of thumb is unit tests should be written. 100% code coverage of peer reviewed code is a sufficient "demo".

    23. Re: YMMV by reanjr · · Score: 1

      If I write a new module for working with XML files, I don't need to demo it to the sales team, I need to demo it to the other developers. It sounds like you're just not targeting the correct end user for your demo.

    24. Re: YMMV by Darinbob · · Score: 1

      But what if it takes longer than a sprint to write it?

    25. Re: YMMV by gtall · · Score: 1

      Pivoting to the next sprint, eh? How pray tell are you to figure out the next sprint when you have done no system architecture. Where's roadmap of how to get from here to there. All I've have ever seen Agile do is claim a sprint's success and then the group decides on the next sprint. It is as though you had a chess match where you only looked at one or maybe two steps ahead. You get beaten by a large dirty snowball of a system which has no good internal architecture.

    26. Re: YMMV by Ukab+the+Great · · Score: 1

      What the agile community believes, and what the DarinBob is hinting at (I think) is that the agile community is obsessed with "continuously delivering value to the customer" every increment. In other words, a mandated fortnightly new button the user can click on. To the ScrumPeople creating programmer-focused things like a new XML module isn't considered to be "delivering value to the customer"--even if that module ultimately helps devs on the team deliver new user-facing features at a far faster rate.

      It's actually to the point that many hardcore agilistas feel that a dedicated backlog item for XML module doesn't deserve to be on the backlog at all because it's a "horizontal slice". For you to actually be able to the hypothetical proposed XML module under such a strict agile regime, you would have to sneak it in with a "vertical slice" that adds some user-facing new feature that may tangentially rely on that XML module. Any attempt to overtly create a XML module task/story can and will be shot down by an overzealous PM/PO/Scrum Master. Along with the credibility demerits you'll earn for suggesting such a thing.

      "But if there's a requirement that every complicated non-user-facing piece of technology on the backend this be ensconced in a user-facing feature story, wouldn't that bring a software project to its knees because there's not enough of the lower layers to support the user-visible layers?"

      And that's why I consider adopting agile to be the ultimate act of kindness to your competitors.

    27. Re:YMMV by angel'o'sphere · · Score: 2

      areth, with all respect, you are wrong.

      The easiest example are external resources that have longer delivery time.
      Then adjust your sprint length or mock them away till they are ready.

      But also internally, if you have to e.g. run a 4 week test for regulatory reasons
      Then adjust your sprint length. The original recommendation for sprint length in Scrum and in XP is 6 weeks to 12 weeks!!!!
      Not one week, not two weeks!

      or prime a machine learning algorithm with real-time data that happens in a particular time frame.
      That is usually outside of the sprint, completely irrelevant for ordinary software development.

      The agile answer is then "sorry, we cannot commit to this",
      That is nonsense. The agile answer is: adapt!

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

      Then perhaps your spring length is wrong?

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    29. Re: YMMV by laird · · Score: 1

      For agile to work, architecture has to be taken seriously by the team, which needs to invest in re-architecting, refactoring, etc., as they go, so that they don't just pile up massive tech debt and collapse.

      Agile only works with teams that are relatively skilled and experienced and communicate well. If your team isn't like that, agile might be a bad idea. Or you need to invest in improving the team.

    30. Re:YMMV by laird · · Score: 1

      That's time passing, that's not work. If it takes a month for something you ordered to arrive, one task is placing the order, and another task, which you would do a month later, would be to receive the thing and do whatever you need to do with it.

      The agile answer is not to make detailed long-term commitments, because in the intervening time business priorities could change, and you don't want to be forced to waste your time doing something that's no longer of any value just because you made the mistake of committing to it. Of course, you can commit to goals, subject to the business priorities remaining the same. But it's smart to avoid committing to exactly how you're going to do something months in advance, because you might find a much better way to do it, or not need to do it at all...

    31. Re: YMMV by laird · · Score: 1

      Then you should try to break it down into smaller tasks, so that you can complete a task, and prove it works, in a day or a few days. Huge chunks of code that aren't merged back into source code control / master are dangerous, because the longer you go un-merged the messier the merge will get.

    32. Re: YMMV by laird · · Score: 1

      That's an odd definition of "value to customers" and not one I've ever seen used - though lots of companies do odd things, so no doubt someone is doing so. The point of applying "lean manufacturing" techniques to software development is simply to move work efficiently from idea to completed, shipped code. The work can be user-visible or it can be internal - I've seen plenty of demo's where the demo was a chart of a load test before and after an optimisation, showing that the system had 15% more capacity on the same hardware on the new code. (To use a real example my team showed me last week)

    33. Re:YMMV by angel'o'sphere · · Score: 1

      agile lets you hide that you're nowhere near where you should have been until the very end.
      And how would that work?
      You have a magical "burn down graph" that ignores the open tickets in the issue tracker?

      If you have issues worth 500 story points open in the issue tracker, but only deliver 20 SP per sprint, and your sprints are 6 weeks, I can quite good estimate that you wont be finished in 3 month. And not in 12 and not in 24.

      The only way to hide that, is not telling how many SP you make per sprint, not telling how long your sprint is, not telling how many open issues you have, how many open SP you have: and that is fraud. A crime. Not a "process mistake".

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

      In agile, there are no deadlines.
      Exactly.
      There are plenty of software systems that don't need deadlines. Does the linux kernel have a dead line? Does Twitter, Facebook, Google, Pinterest have dead lines? What would be their use? You define a feature, give it a priority, implement it, give the green light, deploy it. You are as fast as you are. No magic makes you faster. Why would you need a deadline for three dozens of "micro services" that gradually get deployed and change the functionality or look and feel of a "web site"?

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    35. Re:YMMV by laird · · Score: 1

      If you're doing a detailed work breakdown of a 6 month project all up front, you're not doing agile, you're doing waterfall. Trying to fully specify everything in advance is a losing strategy, because it's an absurd amount of effort up front, and it forces you to ignore everything you learn along the way. In agile, generally you only want to fully specify the next two sprints' work ('backlog'), so that you have a set of work that you can prioritize and manage. Without a backlog, you're just doing whatever the product owner things of, which isn't prioritized or structured, and barely even managed.

      Your example of breaking into major phases (research, implement, fine time, etc.) is pretty good, though personally I'd find something small and research, implement, integrate, deploy, etc. on that small piece first, rather than having a big 'integrate and test' phase for the project as a whole. Have you heard the old joke that "the first 80% of the project is developing the functionality, and the second 80% of the project is integration and testing"... it's much less risk to break the whole project up into smaller functional pieces, each of which go through research, implementation, testing, performance tuning, etc., so that you've got an end-to-end system working all the time, and you're just broadening out the coverage over time.

    36. Re: YMMV by angel'o'sphere · · Score: 1

      Agile does not say you don't need a software architecture.
      Agile says: find good people, educate the others.
      Hence, you should have a good architect in the team, or grow one.

      If you can not craft an architecture in an agile environment, how do you come to the idea you can in a non agile one?

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    37. Re:YMMV by laird · · Score: 1

      Agile isn't just about the development team - the whole value stream from idea to product in the marketplace has to think differently. For example, product management shouldn't spend a year specifying a product in a huge Market Requirements Document, they should have an idea, whip up a mockup, show it to potential customers, and get their feedback - if the product is a bad idea, kill it and move on to the next idea, so you haven't wasted a fortune building a product nobody wanted. Similarly, sales can become a radar for collecting market intelligence from your customers (or not - learning why people don't buy your stuff teaches you something valuable, too). And it means that CEOs have to get comfortable setting business goals, and trusting them to manage to hit the targets, rather than signing off on huge, detailed product specs with 5 year revenue commitments before a line of code has been written. It's all a very, very different way of running a company. And companies who master it crush companies who don't.

    38. Re:YMMV by laird · · Score: 1

      Hopefully it should. It's all about transparency. If the developers are hitting their commitments, but customers aren't buying the product, that's not the developers' fault.

    39. Re:YMMV by laird · · Score: 1

      The trick (IMO) is that instead of exactly defining a product before committing to it, you define a goal and manage to hit the goal. The military does this all the time - your goal is to take control of an objective, and it's up to you to work out the tactics based on the situation, available resources and competition. Similarly, a company should invest in "Enhance product X to satisfy market demand for capability Y, and make $Z in new sales" but shouldn't have detailed screen shots or specific customers named - it's too early for that. You need to identify lead customers, partner with them to learn what they really care about, iterate towards that getting their feedback, and of course make sure that they're willing to pay for what you're doing for them.

      Yes, this requires the team to think strategically and make decisions. Agile doesn't work well with people who don't do that.

    40. Re: YMMV by AuMatar · · Score: 1

      Having worked there- yes. Facebook has deadlines. So does work at every other company you named. Just because they aren't externally communicated doesn't mean there aren't deadlines.

      For that matter, yes the linux kernel has deadlines. Eventually features get dropped from a version if they aren't ready.

      --
      I still have more fans than freaks. WTF is wrong with you people?
    41. Re:YMMV by AuMatar · · Score: 1

      Welcome to the real world- they aren't. We have enough work doing the actual engineering, we don't have the time to be product managers as well. That's why we hire product managers to do that. At most you have one lead engineer sitting at the table. Most likely you don't even have that.

      And no, you can't always break down a story. Frequently you don't know how you're going to do something until you've spent a few days or a week or two investigating different technologies/algorithms/approaches. You can put up a couple of pointless placeholders, but they don't remotely mean anything. If you really think everything breaks down cleanly, you must do nothing other than copy paste websites and not real programming.

      --
      I still have more fans than freaks. WTF is wrong with you people?
    42. Re:YMMV by Darinbob · · Score: 1

      And this is why it's not really working. The guys at the bottom are driving Agile, and they really have no influence over the entire product lifecycle, except maybe at tiny startups.

    43. Re: YMMV by Darinbob · · Score: 1

      But I've said in other comments, not everything can be broken down into units where you can show that it works without causing additional effort. Granted I'm not at a typical Agile place. We have solid deadlines, a waterfall overseeing everything (in order to meet the deadline and keep all disparate teams lined up), we're embedded development so there are requirements across different departments, we have multiple ongoing projects plus maintenance of past products, and not enough people.

    44. Re: YMMV by Darinbob · · Score: 1

      Well, going longer than 2 weeks will inevitably have someone tell us we're doing it wrong :-)

    45. Re:YMMV by Dutch+Gun · · Score: 1

      I think I wasn't clear on this, but I was talking about breaking up large-ish tasks, not the project as a whole, so I guess we probably agree. Like, I've got a task (or even a sub-task) that I think will take maybe two weeks. If the task is a single monolithic feature, I'll then break it up into a number of smaller chunks, because that's how development typically works anyhow (as you mentioned).

      On that super detailed schedule the publisher insisted on? We just ignored the "official" schedule and used a simple spreadsheet as a basic task list, adjusting it as we went according to the reality of the project. Whenever a task came due in the crapola official tracking software we used, we dutifully marked it as "finished", because it typically bore no resemblance to reality, and was literally too much work to try to change it (it all had to go through a manager, as we couldn't even adjust the schedule ourselves).

      Fortunately, we delivered a solid game in the time allotted, so no one scrutinized our method too much. This was before Agile really took off (at least within the videogame industry), but it just goes to show you that it's far better to give people enough latitude to do what works best, so long as you have a good team. We didn't know any of the terms commonly used now, but we employed a lot of the same general principles.

      --
      Irony: Agile development has too much intertia to be abandoned now.
    46. Re: YMMV by angel'o'sphere · · Score: 1

      Eventually features get dropped from a version if they aren't ready.
      So what does it mean? Did you make the deadline? Or did you not?

      You made "the sprint", and dropped what you could not do. So no: there was no deadline.

      Same for the other examples. It is ready when it is ready. A deadline does not change anything about the stuff people have developed before the "point of time" or after it.

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

      The original sprint length in both Scrum and XP was 6 weeks or 12 weeks. Depending on maturity of the team. The less mature, the longer the sprint.

      No one in his sane mind will recommend a 3 or even 2 weeks sprint to a team that has not managed to deliver predictable sprint results.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    48. Re: YMMV by AuMatar · · Score: 1

      By that definition there is no such thing as a deadline anywhere for anything ever. I mean its not like the universe ends if we fail to meet any date ever.

      If there's a date that a feature/product is expected by, that you/your team are judged by finishing by a certain date, its a deadline. How you react to missing that deadline may differ from losing money/contracts to slipping release to dropping the feature. That doesn't make it not a deadline.

      --
      I still have more fans than freaks. WTF is wrong with you people?
    49. Re: YMMV by reanjr · · Score: 1

      If it takes more than a sprint to write an XML library, then merge/rebase master after the first week, ensure all test are passing, then continue working on it.

    50. Re: YMMV by reanjr · · Score: 1

      Agile does not teach devs how to do their job. If your devs can't do architecture, you should immediately stop all development until you can find ones that can. Bad devs are worse than no devs, because they make the job of good devs way harder.

    51. Re: YMMV by angel'o'sphere · · Score: 1

      If there's a date that a feature/product is expected by, that you/your team are judged by finishing by a certain date, its a deadline.
      Yes. And such a deadline is usually never met/reached. That is why you switch to agile, and accept that it takes the time it takes instead of failing a deadline and start complaining.

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

      Initial planning is best done before the sprints start. Except you want to explore possible architectures and/or solutions. I mean: you should somehow already have an idea about the scope of the project, reasonable timeframes, how many people do you have ... do you definitely need to make a new team, hire more people etc.

      You basically need to be at a point where some one decides: yes it is worth, to pursuit it further. At that point you should have a rough back log. However there is nothing wrong with a "planning sprint" ... if you somehow can quantify what the result of the sprint will be.

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

      But I've said in other comments, not everything can be broken down into units where you can show that it works without causing additional effort.
      You seem to mix up tasks with subtasks.
      If you break something down into subtasks, then you don't demo the subtasks, but the finally finished task, that should be a no brainer. Even if the original task then needs 3 sprints.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    54. Re: YMMV by AuMatar · · Score: 1

      So because you failed at product management you're going to throw the baby out with the bathwater, rather than get better. Yup, that's a method for amazing success right there.

      Agile fails miserably except on a small subset of projects where rapid feedback by customers is actually possible and makes sense. It works fine if you're doing a simple front end code. Its a complete failure if you're doing anything involving actual research, or large enough to not just be thrown together by the seat of your pants. But if all you want to do is remake trivial websites for the rest of your life have at it.

      --
      I still have more fans than freaks. WTF is wrong with you people?
    55. Re: YMMV by angel'o'sphere · · Score: 1

      . Its a complete failure if you're doing anything involving actual research,
      Whay would that be the case?

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    56. Re:YMMV by halivar · · Score: 1

      Your team would be being dogmatic about areas where the methodology itself is accommodating. You should use whichever of the two approaches that you think works.

    57. Re:YMMV by DarthVain · · Score: 1

      Two points:

      Number one, which I was going to mention elsewhere but it bares mentioning, is that while we have Agile projects, and I've been required to take Agile training, and have participated in some Agile projects, typical my project tend to be more Waterfall. Now I saw "more" as for years now, my waterfall isn't pure, and takes elements of Agile before I even knew what Agile was. So there is much more back and forth with developers, and yes sometimes requirements get dropped in favor of higher priority ones.

      Number two, now as to your biggest problem, yes I know what you mean. I've been involved with several projects in the 2-3 year range that a lot of work and money got poured into, only to end up a death march to failure. That said, it wasn't because of what Agile is supposed to fix (basically requirements documentation), but rather typically a combination of two things, A) No money, or they want to spend less money somehow so lets re-analyse everything again, or B) Management change causing priority to change and the project getting "put on hold" or just killed. Agile solves neither of those problems, which are fundamentally management and strategic issues. You could argue that at least with Agile over that same time period at least you would have something to show for it, while that might be the case, probably not. At BEST you might have a semi-functional system that meets some requirements. At worst you just have a hot mess of code and requirements that are not good enough to put into any sort of reasonable production environment. With Waterfall, at least you have some fairly well thought out requirements documentation that could potentially be used to build a solid system... provided you don't wait so long so that much of the business rules you captured are now out of date...

      Anyway I'm not a huge fan of Agile as a lot of it seems like BS to me, however it does have useful elements, and I can see for certain applications it being perhaps more flexible and successful than a straight up waterfall. But then again, as I first mentioned, you'd probably just not use straight up waterfall anyway...

  4. Handy cross-reference for job seekers by 93+Escort+Wagon · · Score: 4, Funny

    “We are an Agile shop”: Your expected standard work week will be 80 hours

    “We are a Post-Agile shop”: Your expected standard work week will be 95 hours

    “We believe in work-life balance”: You’ll be required to wear a beeper whenever you’re not in the office

    --
    #DeleteChrome
    1. Re:Handy cross-reference for job seekers by halivar · · Score: 3, Insightful

      My old scrum team of 10 years had a policy of only considering half the available work hours when placing hours on tasks. More often than not, it was spot on. After 6 months our velocity projections were spot on, every sprint. After that I worked on a "scrum" team that packed everyone's sprint board with 40 hours/week of work.... but sprint "planning" ate one of those days.

      Underestimating work availability and overestimating needed work was pejoratively called "sandbagging" on that team, and yet the former delivered project on the estimated date, and the latter never did, even once.

    2. Re:Handy cross-reference for job seekers by devslash0 · · Score: 1

      I always only do what's in my contract. Most of the time - 9 to 5. Sharp.

    3. Re:Handy cross-reference for job seekers by Darinbob · · Score: 1

      I often felt that putting points on stories would be the same as committing myself to a promise. Thus if I was behind, I felt that I had to work longer to keep my promise. So Agile was making me work longer. Over time I learned to do more sandbagging so that I was never over-committing.

      After all the goal is NOT to do Agile, the goal is always to build the product. So if Agile is getting in the way, then be dextrous and sidestep it.

    4. Re:Handy cross-reference for job seekers by HornWumpus · · Score: 1

      Double the number and switch to the next larger unit.

      1 week = 2 months. etc.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    5. Re:Handy cross-reference for job seekers by Darinbob · · Score: 1

      We never do full day sprint planning. But we do have project planning. There's already enough meeting overload with with everyone on five projects and three sprints (yes, we're doing it wrong but we can't hire more). So with the project plan we know what upcoming stories need to get done for several months out, and we get a lot of "I'm continuing my ongoing task so I'll add a new story for the next sprint" stuff.

    6. Re:Handy cross-reference for job seekers by Goat+of+Death · · Score: 1

      This, so much this. Half time was just about right when I worked on a team that management required we still plan in hours (which I always thought was stupid). Even then we still tended to overestimate what we'd get done. Many tasks would end up with two hours remaining for like a week. Which I always blamed the hours formula for. If we just did a total tasks per sprint team limit or something like that I think we would have fared better.

      With my most recent team I was able to set the standard and dump hours and only track in story points. Also dumped sprints and we do kanban. It has been the smoothest running project I've been on. No one is stressed about their projected hours being off and what we get done in a sprint because we don't have an artificial timebox. We keep the tasks small enough nothing can linger too long and that's good enough to keep us small, focused and not taking on too much at once. And for a two year project it's looking like we'll deliver about three months early, so that's a good thing as well.

    7. Re:Handy cross-reference for job seekers by sodul · · Score: 1

      I call it the Scotty Principle, explained in Star Trek 3:
      https://www.youtube.com/watch?...

    8. Re:Handy cross-reference for job seekers by angel'o'sphere · · Score: 1

      So if Agile is getting in the way, then be dextrous and sidestep it.
      I often felt that putting points on stories would be the same as committing myself to a promise.
      So you did not have the guts, to estimate in future more accurately and put more SPs on the stories?
      Or you did not have the guts to finally accept that you can not make x SP but only 70% and plan your sprint with 30% less points?

      You fail. Prime example for not grasping what agile is about. Cheating yourself is not agile.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    9. Re:Handy cross-reference for job seekers by laird · · Score: 1

      Of course, that's not about "agile" or "scrum" it's about having a culture of trust vs a culture of manipulation. When people use the term "sandbagging" that's a bad sign. Everywhere I've managed, we had developers own estimation, and nobody who wasn't actually writing the code gets to have any opinion about how long something should take to implement. And if a team never takes actual team historical deliverables into account in their planning process is doomed.

      This discussion is why I'm a fan of using "points". When you estimate in "hours" people tend to equate "estimated hours" to "real hours" and get emotional - if the team is only doing 4.7 hours a day of work per person, what are they doing the rest of the time? With points, you've abstracted away that issue, and saying that the team does 16 points per sprint, so it's just a measurement of observed velocity to use for planning future sprints, without the emotional baggage.

    10. Re:Handy cross-reference for job seekers by laird · · Score: 1

      Ouch - five projects in parallel for one team? I'm starting to manage a team in that situation, and we're thinking that the right thing to do is to turn it all into one big project, with one backlog, so the team is working on one workstream, and it's up to the product owner to juggle the competing projects' priorities, sequencing, etc.

    11. Re:Handy cross-reference for job seekers by laird · · Score: 1

      If you're an optimist and under-estimate work, that should just come out in the numbers, Work normal hours, see how many points you deliver, then that's what you should commit to next time. Since you take commitments very seriously, you need to be more conservative about how many points you can commit to, so that you can deliver on your commitments in a sustainable number of hours! If you push yourself to work unsustainable hours, you're not doing anyone any favors - you can't produce 80 hours of work every week - you burn out and productivity drops below what you'd be doing at a sustainable number of hours, hurting the team.

      The goal of agile is to measure and maximize productivity by minimizing waste. If "doing agile" is increasing wasted effort and reducing productivity, you're doing it wrong.

    12. Re:Handy cross-reference for job seekers by Darinbob · · Score: 1

      Problem is, I can never work on only one thing. It makes it hard to judge if I even get a chance to work on the story at all during the sprint.

    13. Re:Handy cross-reference for job seekers by Darinbob · · Score: 1

      Short of people, short of people who know the ins and outs of how things were done, and product managers who always think they're project is the most important. So big all hands meeting where the executive VP says "don't work on lower priority projects" and then in the afternoon a product manager shows up with a new pet project, bypassing the managers who say no and going straight to the developer. Oh well...

    14. Re:Handy cross-reference for job seekers by DNS-and-BIND · · Score: 1

      Grandpa, what's a beeper?

      --
      Shutting down free speech with violence isn't fighting fascism. It IS fascism!
    15. Re:Handy cross-reference for job seekers by 93+Escort+Wagon · · Score: 1

      Grandpa, what's a beeper?

      In 2018, they come in suppository form.

      --
      #DeleteChrome
    16. Re:Handy cross-reference for job seekers by halivar · · Score: 1

      Of course, that's not about "agile" or "scrum" it's about having a culture of trust vs a culture of manipulation.

      Yes! This is why I hate holy wars about methodology. If you have a solid team, a competent manager, and that manager trusts his team, than any methodology can work. I prefer scrum. But I'd rather have a trusting manager without scrum, than a micro-manager who distrusts me with scrum (been there, done that, got the heart attack to prove it).

  5. The method of managing isn't the problem by Anonymous Coward · · Score: 1

    I'd like to share some conclusions I've made over 30 years in the industry. The method of managing developers to a large extent doesn't make that much difference. Developers are going to be as productive as they want to be. The crux of the problem is this: managers would like to treat developers as an interchangeable resource, like ditch diggers or production line workers. They can do this because there's no real professional accreditation within the industry, other than having already worked with something, or for someone. It keeps wages low and the worker pool high, after all you can just hire random fresh faces and they'll do just as well as each other once they're brought up to speed, right? Well, no.

    What I've seen is that although developers gain knowledge over time, what doesn't seem to vary that much is their skill level. A bad developer is always going to be a bad developer. Sure, they can be taught some tricks to reign in their worst excesses, but they're never going to be on a par with someone with natural talent, they're always going to be slow to understand, or never understand a concept at all. Meanwhile the few who are good at what they do won't just understand what they're doing, they'll invent new ways of doing things. All for the same wage, because managers really don't notice or care about these things.

    And here is the crux of the problem. Programming is skill based, and with all the will in the world only a few people have a talent for programming. As long as no attempt is made to recognise this difference, and as long as managers continue to treat "programming" as just something that gets done, then no method of management is going to help you. I'd say currently about 90% of the industry has no right working in the field, and their talents would be best employed at some other kind of job.

    1. Re:The method of managing isn't the problem by turbidostato · · Score: 1

      "I'd say currently about 90% of the industry has no right working in the field"

      And I bet you belong to the blessed 10%, am I right?

  6. Re:The trouble with Agile... by arth1 · · Score: 2

    *Solution: Write the plan on True Scotsman brand paper.

    Yeah, the "you're not doing agile right" mantra as the explanation for failure, and repeated in every agile "state of the union address" is becoming tiresome. You'd think that if there were a right way that made the companies and customers more happy, we'd all be drifting that way and things would get better and better, simply because those doing it right would outcompete the others. This is not what we observe happening.

  7. Re:Agile by halivar · · Score: 2

    Is "agile" the reason why paying customers are now unpaid beta testers for the vast majority of crapware foisted on us by software houses?

    If they won't pay for proper QA under agile, what makes you think they'll do it under waterfall?

  8. The only thing wrong with Agile is... by Assmasher · · Score: 3, Funny

    ...its pervasiveness.

    It's a valuable tool IN A TOOLBOX.

    If you're NOT an ISV, and you make software solutions for individual customers (which is what the vast majority of software developers find themselves doing) - then Agile is probably the right way for your company to go.

    If you ARE an ISV (and Independent Software Vendor makes products, unlike the folks above who work on PROJECTS) then use Agile at your peril.

    ISVs that use agile are those that tend to have "Product Managers" who are not actually Product Managers, but are instead "Project Managers" with a penchant for making products up out of virtually thin air ("Oh, a customer wants this, so this must be part of the 'product.')

    ISVs that know what they are doing start with Product Managers - because a Product Manager has DOMAIN EXPERTISE that means they actually know what the market wants - not just a single customer. The problem for wanna-be ISVs is that real Product Managers are expensive and difficult to find (but they're out there) due to the Product Management market being swamped with Project Managers calling themselves Product Managers.

    If your company has a technology or product related vision - you should not use Agile.
    If your company has a market dominance or growth related vision, and you make software tailored to a specific customer's needs - you should probably use Agile.

    --
    Loading...
    1. Re:The only thing wrong with Agile is... by turbidostato · · Score: 1

      "If your company has a technology or product related vision - you should not use Agile."

      So which part exactly should this kind of company ditch out?

      "Our highest priority is to satisfy the customer
      through early and continuous delivery
      of valuable software."

      This one? "Minimally Viable Product" is not a fit concept for a product or technology related company? Really?

      "Welcome changing requirements, even late in
      development. Agile processes harness change for
      the customer's competitive advantage."

      Do you really think your Product Manager is really infallible? That he won't take advantage of knowing the resulting product/technology as it's going on to perfect his own mind and vision? Really?

      "Deliver working software frequently, from a
      couple of weeks to a couple of months, with a
      preference to the shorter timescale."

      See MVP. And then, if you can't produce a working piece within two months, rethink very carefully, since you probably don't understand it well enough as to put your time/money on it. If after deep thinking, you really think a given piece of your solution really takes that long, go ahead, on your own peril. These, after all, are just "principles", not Law from God carved in stone.

      "Business people and developers must work
      together daily throughout the project."

      Do you think your great Product Manager should communicate his wonderful vision to the development minions and then disappear for a year? Really?

      "Build projects around motivated individuals.
      Give them the environment and support they need,
      and trust them to get the job done."

      I have problems even finding a viable alternative to the above one, so go figure!

      "The most efficient and effective method of
      conveying information to and within a development
      team is face-to-face conversation."

      Have you *ever* really find other more efficient method? That even the best written down specs doesn't benefit from a face-to-face with their authors to clarify the most obscure/difficult points? And then, "most efficient" doesn't mean "only one".

      "Working software is the primary measure of progress."

      Talked from the developer's perspective. Can there really be any other measure of progress?

      "Agile processes promote sustainable development.
      The sponsors, developers, and users should be able
      to maintain a constant pace indefinitely."

      Unless death march is your hobby, of course!

      "Continuous attention to technical excellence
      and good design enhances agility."

      Really? who would figured that!

      "Simplicity--the art of maximizing the amount
      of work not done--is essential."

      Ockham's razor in action. Valid for any complex project, isn't it?

      "The best architectures, requirements, and designs
      emerge from self-organizing teams."

      Humm... one that can be argued... at least! But, now, think of the chances of your great Product Owner to achieve any goal if he doesn't manage to be recognized as an trust-worthy figure to follow. That's also self-organization.

      "At regular intervals, the team reflects on how
      to become more effective, then tunes and adjusts
      its behavior accordingly."

      Continous improvement anyone?

      Now, really, you can tell that this is too general to be put in practice as-is but are you really arguing these are not (mutanda mutandi) desireable principles for basically *any* human endevour?

    2. Re:The only thing wrong with Agile is... by Assmasher · · Score: 1

      Let's create a fictional company by which we can answer your questions.

      CoolSoft has a vision to create a revolutionary product that crushes the 3D content creation pipeline market (think 3DSMAX/MAYA market.) They're going to call this product Cool3D (ugh...) and their primary target are AAA game development teams.

      "Our highest priority is to satisfy the customer
      through early and continuous delivery
      of valuable software."

      DUMP - Christ almighty, yes, dump this hideously inappropriate idea. Instead, find world class technical directors that have been living/breathing/eating 3D content pipelines for at least 10 years and who want to create something great - in other words pay for DOMAIN EXPERTISE so you can build the bedrock of your product by relying on their expertise augmented by your own and your teams' synergies.

      This one? "Minimally Viable Product" is not a fit concept for a product or technology related company? Really?

      NOT AGILE - Classic Agile zealot straw man - as if coming to market as soon as you think you will benefit is something new, LULZ. Of course you build to MVP, people have been doing that for 40 years - this is not an 'agile' thing, only the ubiquity of the term MVP is. It's not a question of keep, it's something you always do, whatever your methodology is (never heard of one that said to over develop for your market...)

      "Welcome changing requirements, even late in
      development. Agile processes harness change for
      the customer's competitive advantage."

      DUMP - Late significant changes should require a drastic evaluation of how you came to your, and require a change control process that includes identifying why your highly paid team of domain experts totally messed up. It's possible the reason is legitimate, and if the opportunity cost balances out the loss of market - go ahead and make the changes. PMs shouldn't count on getting bonuses though.

      Do you really think your Product Manager is really infallible? That he won't take advantage of knowing the resulting product/technology as it's going on to perfect his own mind and vision? Really?

      DUMP - Cool3D only hires PMs who were designers and/or implementors of AAA art content pipelines for 10 years or more. Nobody knows more than they do, that's why you hired them. They can, of course, make mistakes - but it's incredibly unlikely they'll make mistakes that damage your software in the marketplace.

      "Deliver working software frequently, from a
      couple of weeks to a couple of months, with a
      preference to the shorter timescale."

      DUMP - Cool3D thinks this is criminally stupid. It's going to take them 12 months minimum to get to better, and that's not counting the suite of tools necessary for multi-platform integration and their SDKs (ios/android/ps4/xbox/pc.)

      See MVP. And then, if you can't produce a working piece within two months, rethink very carefully, since you probably don't understand it well enough as to put your time/money on it. If after deep thinking, you really think a given piece of your solution really takes that long, go ahead, on your own peril. These, after all, are just "principles", not Law from God carved in stone.

      DUMP - You clearly have only worked with limited types of software and software companies (maybe not even software companies) because you seem to be unable to imagine scenarios that totally invalidate that type of thinking...

      "Business people and developers must work
      together daily throughout the project."

      DUMP - Holy f*** no - this is the single biggest problem with Agile - and it's almost always wanna-be bullshit PMs (who are really poorly trained project managers) who love to use this crap - because they then have ZERO RESPONSIBILITY for the result. They don't need to know shit, just ask the customer. Cool3D wo

      --
      Loading...
    3. Re:The only thing wrong with Agile is... by laird · · Score: 1

      I agree that hiring good product owners is very hard - almost everywhere I've managed agile teams, the limiting factor was the lack of product owners who could write stories and make decisions. Most companies are more willing to hire developers and product owners, and I've several times had to beg CEOs to hire more product people, and even shift headcount from development to product management, because they were the bottleneck - you can't implement what isn't defined and prioritized.

    4. Re: The only thing wrong with Agile is... by Ukab+the+Great · · Score: 1

      Truth. There is nothing more destructive to a project than an indecisive product person.

      Ironically itâ(TM)s the most indecisive PMâ(TM)s who tend build cubicle shrines to Steve Jobs, the most decisive PM ever. Iâ(TM)ve stopped trying to understand it.

    5. Re:The only thing wrong with Agile is... by turbidostato · · Score: 1

      "If you are dealing with contractual or cross-divisional politics, relying on face-to-face is incredibly naive."

      So naive that this is basically the first thing the board of directors will do for anything that seems important, or one board of directors to another as soon as big money is involved.

      Again, I'll repeat myself:

      "The most efficient and effective method of
      conveying information to and within a development
      team is face-to-face conversation."

      Have you *ever* really find other more efficient method? That even the best written down specs doesn't benefit from a face-to-face with their authors to clarify the most obscure/difficult points? And then, "most efficient" doesn't mean "only one".

    6. Re:The only thing wrong with Agile is... by turbidostato · · Score: 1

      Wow! it seems you have an axe to grind, don't you?

      "CoolSoft has a vision to create a revolutionary product that crushes the 3D content creation pipeline marke"

      So first things first: who came to the development team asking "...to create a revolutionary product..."? Because *that's* the development team's customer.

      "find world class technical directors that have been living/breathing/eating 3D content pipelines for at least 10 years and who want to create something great - in other words pay for DOMAIN EXPERTISE so you can build the bedrock of your product by relying on their expertise augmented by your own and your teams' synergies."

      Two things:
      1. "Build projects around motivated individuals.
      Give them the environment and support they need,
      and trust them to get the job done."

      So bringing on board a "world class technical directors that have been living/breathing/eating 3D content pipelines for at least 10 years and who want to create something great" is as agile as it can get.

      2. Yeah, well, let your super-expert look at his belly button, or work out of his gut feelings instead of relying on gathering quantitative info from his customers because he has been living/breathing/eating the technology for decades:
      - I've been managing commercial airlines for 40 years and you are *not* going to tell me what customers expect: they expect a luxury experience and they are willing to pay more for the feeling. Flying is not just "taking a bus on wings", I tell you, I know! And then came Virgin, and Ryanair...

      "NOT AGILE - Again, another bullshit Agile zealot straw man. Oh, before Agile, nobody built projects around motivated people."

      Where did the people after the Agile Manifesto tell their twelve points were the most novel thing since warm water and sliced bread? The fact that you can take any of those points apart and tell it's no novelty doesn't make it not part of the agile manifesto. Heck, I could tell the same about the twelve together! "Where's the fuss, aren't they obvious to anybody?"

      "Wait - Agile invented the post-mortem? The dev cycle review? Feedback meetings? Progress reviews?"

      Again, where's the claim that they invented them? Nowhere right?

      "how did we do all that before Agile came around and told us it had value?"

      Badly. That's why they felt the need to re-state what should have been obvious from the beginning. I can be generous and tell that was because, for those in command, the daily routines made the trees obscure the forest for them, or I can be cynic and tell management found a way of self-promotion in that even something as obvious as the agile manifesto was/is beyond their capabilities. One way or the other, it's good somebody have the inclination and clarity to put them black on white. That even after *that*, people don't see the obvious, and understand "agile" as being stand-ups or sprints, or unknowledgeable mid managers micromanaging the hell out of them, or wandering around in chaos without clear goals, or hiring a bunch of freshmans that barely know what 'git clone' means because they are cheaper and easy to cheat, or using Jira instead of Remedy is beyond my comprehension abilities.

  9. The real problem is... by QuietLagoon · · Score: 2

    ... Our challenge at the moment isn't making agile a thing that people want to do, it's dealing with what I call faux-agile ...

    ... focusing far too much on what to call the process, and focusing not enough upon what problems the client needs to solve. Perhaps the move to "faux-agile" (as you call it) is really more of a move towards actually solving the problems the customers have, and less of a desire to make sure the process to achieve those solutions has the correct name.

  10. Re:Agile is like communism... by ShanghaiBill · · Score: 2

    ...Sounds good on paper, disastrous in practice.

    Another similarity is that when it fails, the proponents will say that is only because you weren't doing it right.

    My opinion:
    Good agile practices: TDD, FBF
    Ok in moderation: Standups, sprints, stories
    Bad: Everything else

    TDD = Test Driven Development
    FBF = Fix Bugs First

  11. Re:The trouble with Agile... by Anonymous Coward · · Score: 1

    Agile (as conceived originally) only works for small teams of competent people.
    The problem is that it's cheaper to hire cheap people who need a simple set of procedures to complete a task.
    So of course companies boil it down to a simple tick the boxes style procedure regardless of the intent.
    Whether this is a failure of agile to take into account human nature, or companies doing it wrong is irrelevant.

  12. Re:The trouble with Agile... by angel'o'sphere · · Score: 1

    we'd all be drifting that way and things would get better and better, simply because those doing it right would outcompete the others.
    This is actually what is happening :D

    This is not what we observe happening.
    You don't observe it. I do. Change job to place where it works ...

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

    Also having an issue tracker, a decent source code control, continuous integration, working build system, everything automated that takes time or can fail due to human interaction, there are probably a dozen more.

    FBF is probably the most important.

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  14. Here's a better tip... by gosand · · Score: 1

    “We believe in work-life balance”: You’ll be required to wear a beeper whenever you’re not in the office

    If anyone ever asks you to wear a beeper, find Doc Brown immediately. And it is critical that no matter how hot she is, under no circumstances should you make out with your teenage mom.

    --

    My beliefs do not require that you agree with them.

  15. Re:Agile is like communism... by ilguido · · Score: 2

    My opinion: Good agile practices: TDD, FBF Ok in moderation: Standups, sprints, stories Bad: Everything else

    TDD = Test Driven Development FBF = Fix Bugs First

    The fact is you don't need agile to do TDD and FBF. Every _good_ software developer would do that. On the other hand, if you have bad developers, no matter the method, you're going to get mediocre software.

  16. How customers and managers see "agile" by ffkom · · Score: 4, Interesting

    If I learned one thing from experience with "agile development", it is how totally different from the IT-perspective it is seen from non-IT people, especially customers and managers:

    Customers: "Agile is great, because now we can change requirements whenever we like, and don't even need to think of what we really need in the beginning. Ah, and by the way: We don't have time to sit in your sprint-planning meetings. We just expect you to deliver."

    Managers: "Agile is great, because now none of those IT wisenheimers can obstruct our great vision by telling us how time and effort consuming our projects will be before implementation starts. Once it becomes too obvious how much more work it will take to turn the software into something useful, it's too late to cancel the project as a whole, and we'll just demand long hours from the programmers."

    1. Re:How customers and managers see "agile" by hudsucker · · Score: 1

      Customers: "Agile is great, because now we can change requirements whenever we like, and don't even need to think of what we really need in the beginning.

      Exactly. From what I've experienced, Agile is just an excuse to not think about requirements until it is too late.

      Customer: I want a house...

      Development team designs and builds a house.

      Customer: ...that I can drive to the lake.

    2. Re:How customers and managers see "agile" by ffkom · · Score: 1

      Agile is supposed to provide the customer with something EVERY TWO WEEKS.

      One problem with that I already mentioned: Customers _not_ participating in sprint planning every two weeks is more the sad norm than the exception.

      The other problem is that not quite every software development is about fancy GUIs (or houses) that a customer can take a quick look at and immediately understand.

      If your goal is, for example, to implement some software enhancements that make a billing system compliant with some trove of new tax regulations, then after the first, second and third sprint there is likely not much to show other than some different numbers turning up in boring reporting tables. Customers are not likely to check such for correctness. Instead, they will find out they named the wrong set of regulations in their initial requirements only after the project was assumed to be "done".

      "Agile" was made with colorful web pages in mind, where it is more or less just the left to the taste of the customer if he likes intermediate results or not. If "wrong" or "right" is not a matter of taste/preference, then "agile" is likely to not detect "going into the wrong direction" early on.

    3. Re:How customers and managers see "agile" by laird · · Score: 1

      Even 'boring reporting tables' have interested stakeholders. Who's asking for the compliance, and has to sign off that the tech team does exactly what's legally required? The stakeholder can be the finance team or an audit/compliance officer, and you bet those guys care a lot about 'boring reports'.

      If there's no stakeholder that cares enough to review the team's output and confirm or correct their work product, then I (as CTO) cancel the project because it's clearly not a business priority. Sometimes it turns out not to be as important as they made it sound, in which case I saved my team's time, and sometimes they started showing up at the sprint demo's. Either is fine with me - our job is to work on whatever the business values most. Not showing up for meetings tells me the business doesn't value it.

  17. Too many prerequisites by Tablizer · · Score: 1

    Any management system that depends on each part running nearly perfect is probably either bullshit or doomed or both.

    Sure, you can have tons of auditors to make sure everything works according to the mantra, but auditors and their interaction cost money.

  18. Jebus HB Crickey - What a load of bollocks! by Qbertino · · Score: 1

    [Disclaimer: Early signer of the Manifesto for Agile Software Development and Scrum Master speaking]

    "Agile Software"?! What crack have these guys been smoking?

    A software development process can be agile in a way that it provides flexible and frequent kinda-sorta "on-demand" interaction with the customer. Usually customers who don't know what they want until they see it but somehow know exactly what it may cost and when it has to be finished. Classic corporate and web software stuff that is.
    The aim of such a development process is agility in software development. The actual process itself often is very rigid (Scrum being one of those),

    "Agile" as a nown is a huge part of the "agile" bullshit we've been hearing in the last 10 years. And there is no such thing as Agile Software.
    Morons writing about some other moron bullshit that "didn't pan out". ... Well, no shit, buster.

    I wish we could wrap all these douchebags into barbed wire and shoot them into the sun. That would be progress on the front of agile software development.

    Bottom line:
    Idiots babbling non-sense. Nothing to see here, please move along.

    --
    We suffer more in our imagination than in reality. - Seneca
    1. Re:Jebus HB Crickey - What a load of bollocks! by isj · · Score: 1

      I would like a clarification on your opinion on

      The aim of such a development process is agility in software development. The actual process itself often is very rigid (Scrum being one of those),

      It is not clear if you think rigid processes are good or bad.

    2. Re:Jebus HB Crickey - What a load of bollocks! by angel'o'sphere · · Score: 1

      A rigid process is good. (But it should be as lightweight as possible - so it does not get into your way and causes overhead)
      But it does not mean you can not adapt and change it.
      Worst case: you change it every sprint. AFTER the sprint retrospective.
      Obviously: if you change it every sprint, you never really can measure if your changes have any effect.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  19. Agile can't fix broken companies.... by gosand · · Score: 1

    The hardest thing about Agile is trying to fit it into your busted company. "Oh, we don't do requirements, we're Agile". Uh-huh. How about SOME direction on what we are trying to build here then? How about not having insane product owners who over-simplify everything, don't listen to actual development teams, and aren't actively engaged in the process? How about the CEO who hires a high-priced CTO who picks some oddball technology stack, then has an international contract team do the work because they are cheap, and after missing every promise of delivery over a year and a half period, moves on to another projet and leaves the onshore team with the bag of garbage.

    Agile has always be bastardized. But when it works, even if it is not perfect, it is beautiful. I am old enough to remember the waterfall days and at that time it was the only thing around until iterative (the true original method), XP, and Agile came around. Agile is simply a tool to get the job done, and it will not solve all of your problems. But you absolutely do need to do it right, and maintain that process, to really make it work.

    --

    My beliefs do not require that you agree with them.

  20. Is can be overused by owlaf · · Score: 1

    I did some work on porting custom server OS to different. We were add no new features, we were only addressing any issues found. Agile was shoved on us and I constantly wondered how it was useful. Later when I had a bit of time to read up, I saw how useless it was for us. The most useful is web programming were the user is forced to use the latest version, next is software that requires upgrading but ignorant of hardware is the next, last any development the developer is interfacing with specific hardware there is no advantage

    1. Re:Is can be overused by laird · · Score: 1

      If the requirements are fully specified in advance and can't change or be prioritized, then all agile gives you is the ability to measure velocity and thus predict future delivery a bit better. And that's not bad. But agile isn't for everything.

      Now, if you could prioritize the work, and get customer feedback about which capabilities of the old OS they needed or didn't need, or needed improved, then agile would make more sense.

  21. Re: Agile is like communism... by Anonymous Coward · · Score: 1

    TDD is unrealistic in a world driven by surreal deadlines.

    My test coverage is less than 20% because if I spent time writing tests I'd never get anything done on the timeframe demanded of me.

  22. Re:What "agile" means at my company by green1 · · Score: 1

    You must work where I do. We just introduced "agile" to our team, the immediate effects are:
    - no longer allowed to meet with stakeholders as needed, must wait for weekly "demo"
    - daily standup that just takes tons of time to say "no change from yesterday because I'm still not allowed to find out what the stakeholders want because it's not Tuesday yet"
    - our group is cross functional, so that means that the learning project manager can do development work right?
    - my agile group is only 3 hours a day, strictly scheduled, so I'm only allowed to work on that project for those 3 hours, and work on nothing else during that time, nevermind that my projects fluctuate daily in their requirements, and one day I might have 8 hours work for this project, and none for others, but tomorrow it could be the reverse, and with deadlines as tight as they are, I can't afford to twiddle my thumbs because the wrong project has work ready.

    The main thing I'm finding is that "agile" is anything but. It's extremely inflexible, and is stifling the ability to both meet end user needs, and to get any actual work done.

  23. Re:Agile is like communism... by Darinbob · · Score: 1

    Right. And all sprints do is tell the team not to think long term and try to turn everyone into an agile generalist so they can be shuffled more easily onto stories.

  24. Agile is like Communism by DatbeDank · · Score: 1

    It never works at all in practice and when someone criticizes it, you'll undoubtedly have someone chiming in saying, "You're just not doing it right."

    Newsflash: agile SUCKS!

  25. Or.... by SuperKendall · · Score: 1

    Agile means: you realize after 3 sprints, the project is to big, the team is to slow, the team is to bad.

    But what if it's Agile that made the project too big, the team slow and apparently bad?

    I've seen the overhead of Agile make a project last longer than it realistically should have.

    I've seen Agile metrics make a team to be slow when they were working on some part that appeared no different than others but simply required more thought and care to build.

    I've seen great teams that worked well together look "bad" at times under Agile because over time the system was too rigid to allow for needed infrastructure work, which never got prioritized by the system over which the developers had little input.

    Sure some of that is Agile being used badly, but after some time I am kind of wondering if perfect agile is like a working socialist system - any time there's a failure it was not REALLY agile you were practicing, and it seems rather hard to come by working examples that did practice the respective ideology properly that worked...

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
    1. Re:Or.... by angel'o'sphere · · Score: 1

      I do Agile projects since roughly 2004 (and did some before 1998).
      None of them failed.

      If you want answers to your problems, I'm glad to answer. But what you ask here is much to unspecific.

      But what if it's Agile that made the project too big, the team slow and apparently bad?
      What is that supposed to mean? How should doing something agile instead of RUP/Waterfall/Spiral make the project bigger?

      I've seen Agile metrics make a team to be slow when they were working on some part that appeared no different than others but simply required more thought and care to build.
      And? What is wrong with that? If you are running your Ferrari over the highway and hit a construction site you have to slow down. What the funk? Obviously you lose velocity. If you don't know WHY you lost it, what has that to do with agile?

      I've seen great teams that worked well together look "bad" at times under Agile because over time the system was too rigid to allow for needed infrastructure work, which never got prioritized by the system over which the developers had little input.
      This is called "technical debt". What has agile to do with it? If you follow a software process and the result is a pile off mess you can not refactor, what the funk has that to do with the process? You made a mistake. You have wrong priorization. What has that to do with the process?

      any time there's a failure it was not REALLY agile you were practicing
      No, any time you encounter failure, you have to look into the mirror and admit: you/someone made a mistake. And agile says: people over process! The people make the mistake. They should learn from it, and if necessary adjust the process.

      You sound like a school boy who asks: what is better? Kung Fu or Karate. Then he starts learning Kung Fu and wants to fight and loses every fight against a Karateka. Then he is pissed and switches to Karate, and loses every fight against a Kung Fu guy. Problem is: he is bad in fighting. Does not matter what "school" he is following. If he does not learn how to fight, aka learn how to make successful software projects: he will fail. At least sometimes. And agile means: face it! Draw conclusions from it. If you don't face your failures (sprint failed!), don't do a sprint retrospective (why did it run so bad?), don't have a log of suggested improvements, don't track if you actually implement the improvements (CI/reviews, or what ever), then you are not improving, then you are not learning, then: you are not agile!

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    2. Re:Or.... by SuperKendall · · Score: 1

      What is that supposed to mean?

      Maybe you should read the part you deleted from your responses.

      And? What is wrong with that?

      The perception that a good team is slow, just because external people do not understand software development. Agile is more prone to giving that APPEARANCE.

      This is called "technical debt". What has agile to do with it?

      Yes I fucking know it's technical debt you absolute knob. What Agile has to do with it is pushing work on technical debt to the side because it is less easy to quant- and storyfy. Especially larger technical debt gets ignored because if it can't fit into a sprint few are willing to take the time to break out what it will take to fix, and even when you do it seems pointless to work on compared to smaller features that could be added right now.

      The fundamental problem is that it gives the illusion of constant progress when what it generally delivers is a death by a thousand progressive cuts, where at the end you have something that kind of works but is really shoddy. I mean, maybe you enjoy working on shoddy software that doesn't actually meet the goals of the customer, just the specs, but I find it sad.

      --
      "There is more worth loving than we have strength to love." - Brian Jay Stanley
    3. Re:Or.... by angel'o'sphere · · Score: 1

      Well,

      then you simply are doing wrong.

      Extreme Programming e.g. has the mantra "Refactor Mercyless", no idea how you can accumulate technical debt in an agile project and not do everything to avoid it.

      The appearance of "slowness" is completely irrelevant. If you drive with the car a long route, there will be fast parts and slow parts. That is in software development the exact same thing, regardless of process.

      I mean, maybe you enjoy working on shoddy software that doesn't actually meet the goals of the customer, just the specs, but I find it sad.
      Most of my software were I was involved was delivered without any bug in production. The last 15 years nearly all projects were agile projects. The only bugs in production are those that were introduced before me and could not be fixed during my time in the project. That new bugs escaped QA was and is extremely rare.

      If you accept that you accumulate technical debt, and have bugs and lose track what is done and what not, or if the architecture is sound or not: then you are not doing agile software development but bullshit development Fix it. And don't complain about "agile" if you simply are not agile and can not address your problems. The stuff you quarrel about is your teams problem. Or the problem of your organization, or both!!

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  26. Agile ain't by SpaghettiPattern · · Score: 2
    • A way to make mediocre programmers any better. An excellent programmer can effectively work for 10 mediocre ones. And if the mediocre ones aren't well organized, then the number may be factors higher.
    • A guarantee that any project will succeed and produce viable stuff. The success of any project almost always relies on the best coder. Nothing more than the Pareto distribution.
    • A protection against taking the will for the deed. Bad managers make the organization "feel good" about itself without actually delivering anything near to an acceptable level of functionality and maintainability. Ever witnessed a project being abandoned even if it really "deserved" it?
    • A guarantee that the methodology will be fully embraced. Indeed the failure of doing so will eventually be the crap excuse that nothing in the failure is your fault because the methodology wasn't fyll embraced.
    • A silver bullet. A crap manager that never delivered anything useful will usually maintain that agile working will solve all current problems. Agile will also not make mediocre managers any better.

    It's a waiting game until this fad blows over. Each fad always highlights its own successes and downplays successes achieved with anything else. And then we welcome the successor.

    --

    I hadn't the slightest objection to his spending his time planning massacres for the bourgeoisie... (P.G. Wodehouse)
  27. Re:Sounds a lot like defenders of communism by ClickOnThis · · Score: 1

    "The human rights abuses of the Soviet Union and the People's Republic of China weren't REAL Communism. REAL Communism has never been tried."

    Arguably, real democracy, real capitalism, real anarchy, real socialism, etc., haven't been tried either.

    I don't think any system of governance or economy has ever been practiced in strict adherence to its theoretical definitions. And rightly so.

    --
    If it weren't for deadlines, nothing would be late.
  28. "You're not holding it right."

  29. Re:Agile is like communism... by iMadeGhostzilla · · Score: 1

    By TDD do you mean unit testing or more of a functional testing? I got cooled off from unit tests, in favor of functional ones (spanning multiple classes/modules). The rest has been my experience too.

  30. Re:The trouble with Agile... by Darinbob · · Score: 1

    It also helps of those team members are well trained in all aspects of the project. This way any member can work on any story. In reality though it's obvious that this never works except on the simplest of projects. You want your security expert to design the security stuff, you want your gui expert to work on the gui, you want your network expert to work on the protocols, etc. If you're lucky enough to have multiple members for each specialty then congratulations you are not a typical company.

  31. Re:Agile is like communism... by alvinrod · · Score: 1

    TDD as a general concept is fine, but the textbook definition is crap. Writing one test at a time and then modifying the code to pass that test without regressing is asking for trouble for anything complicated. If you want to sit down and write a full set of unit tests first, though, that's generally a good idea. In trying to think of all the different ways the code could break, it helps a lot when it comes down actually writing it. It also ensures that test cases get written, because everyone knows that shit isn't getting done afterwards.

  32. They should have called it conversational dev by NotSoHeavyD3 · · Score: 1

    Then again if they had gone with that name (one that one of the guys at the original agile conference wanted to go with) people probably would have screwed it up anyway.

    --
    Did you know 80 to 90% of the moderators on slashdot wouldn't recognize a troll even if one dragged them under a bridge.
  33. Teams are voting with their feet by Balial · · Score: 1

    Perhaps people are adopting what works for them, and leaving the garbage to the side?

    If there's a persistent reluctance to adopt the whole thing, it's probably not because the missing pieces are making their lives easier and the projects better.

  34. The big problem will still be agile lawyers by NotSoHeavyD3 · · Score: 1

    I know I've mentioned this before but the problem with agile is like that of law. The whole point of law is to make society fair and just. In a nut shell so you don't get treated differently because you're some schlub than you would if you were rich and well connected.(Don't laugh) Unfortunately law is complex so you need someone to help you navigate it. They're called lawyers and they're hopefully experts in law and can help you navigate the legal system. The problem is that while in theory a scrupulous lawyer will do his best to help his client, as will the lawyer for the other side, and in the end promote a more fair society. However all it takes is for a few dirt bag lawyers to take their knowledge and weaponize it, completely perverting any sense of justice to screw person after person over. You'd hope the legal system would have the person disbarred but some how that doesn't seem to happen enough.

    I see the same problem in agile. In theory agile is all about empowering the developer, make his opinion valued and get him or her engaged in his work. By doing this motivating the developer to do their best work but also valuing his contribution and not turning them into a cog in the machine. However I've seen more than a few agile lawyers. Oh sure, they can quote agile principles at the drop of a hat. However when it comes time to actually empower anybody but themselves? Nope doesn't happen. How about listening to the developer, of course not let's use agile principles to just put the poor schmuck on a never ending treadmill and then wonder "Geez, why don't the developers like agile, guess they must be lazy." Simply put just perverting any sense of agile and then blaming the developer when their fucked up agile doesn't work. Why do they do it? I have no idea, maybe they get off on it or something but the problem is that agile lawyers sound like experts so management falls for it every time. The only thing you can do is move on and hope the next place either doesn't do agile or manages to be one of those rare places that has a clue and does it somewhere near right.

    --
    Did you know 80 to 90% of the moderators on slashdot wouldn't recognize a troll even if one dragged them under a bridge.
  35. Can you say fad? by OneHundredAndTen · · Score: 1

    Agile is the current fad. As usual, it is critique-proof - if it doesn't work for you, you are not doing it right. Give it a few more years and it will essentially disappear, like all other fads that preceded it.

  36. Re:Agile is like communism... by OneHundredAndTen · · Score: 2

    ...Sounds good on paper, disastrous in practice.

    I don't agree - it doesn't sound good on paper. It does sound like a lot of hand-waving, with very little in the way of fact and substance.

  37. What has "programmer" Martin Fowler actually done? by melted · · Score: 1

    What has "programmer" Martin Fowler actually programmed? All I could find is about agile and speaking engagements. Why is he an authority in software engineering if he doesn't have any wildly successful projects to his name? I've worked on some successful projects at FANGs. *Not a single one* used Agile. Half of them used continuous delivery. About one quarter were straight up waterfall (specs, coding, testing, bug fixing, all done in phases).

  38. Re: Agile is like communism... by reanjr · · Score: 1

    Every great software developer does those things, but plenty of "good" software developers are operating in environments that push or even compel them to abandon their own good sense.

  39. That is absolutely Agile by SuperKendall · · Score: 1

    That's not Agile. That's more like waterfall where you go through the entire process and produce the wrong result.

    But they didn't produce the wrong result. The customer started out wanting a house and that is what was built, but were not really clear it should also be able to drive to a lake....

    Although a silly example I totally think it has a kernel of a good point going on here, because Agile greatly amplifies focus on smaller feature work while generally ignoring the larger strategic picture. Agile would in fact be the first methodology I would say is most at risk for missing bigger features that are desired because everyone just starts off.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
    1. Re:That is absolutely Agile by Assmasher · · Score: 1

      To avoid the Agile crowds inevitable "but, again, that's not agile" (even though that's the agile that exists out in the world) - just change the scenario to:

      Customer: I want a house at this location...

      Development team designs and builds a house.

      Every two weeks development checks with customer, customer is happy!

      24 Weeks Later

      Customer: Hey everybody, here's our new house.
      Another Department at the Customer: We need a house we can drive to the lake.

      That's the stuff that happens constantly.

      You can follow Agile perfectly and yet customer satisfaction is vastly more complicated when you let them design your software. They don't know to tell you that you can't encrypt certain things because it breaks the workflows of tools they didn't even know their company uses? Or that you can't change the formatting of something because it breaks another tool. That you can't augment the data in their system because it now violates GDPR because they don't know wtf GDPR is? Et cetera, ad nausem...

      --
      Loading...
    2. Re:That is absolutely Agile by laird · · Score: 1

      For incremental software development to work, it requires both developers and product owners to be strategic as well as tactical. On the product front, if you just bang out 'feature specs' but without any coherent business strategy you fail. On the development front, if you just implement 'features' but without a coherent architecture you fail. What agile advocates is more subtle - that you should use judgement in order to have just enough business strategy and just enough technical architecture - don't spend forever crafting a cathedral in the sky, but don't just do random crap either. That requires a maturity not all companies have.

      Anyone who thinks that agile means not having a strategic plan or architecture is doomed.

  40. Re: Agile is like communism... by reanjr · · Score: 1

    I think coverage is key. Are the important areas of the code covered? Are all branches within those areas covered? Does all this information get generated automatically?

  41. Re:Agile is like communism... by ShanghaiBill · · Score: 1

    The fact is you don't need agile to do TDD and FBF.

    Sure. But I learned to do both in the context of Agile development. Agile is basically a bag of tricks. Some are good, a few are bad, and some are good in some situations but not in others.

    TDD and FBF are always good ideas, and tech-debt accumulates rapidly when they are not done.

    Pair programming is good for training newbies, or for a 2nd set of eyes when wrangling with a gnarly bug like a race condition, but mostly holds back good coders.

    We do standups, but not everyday, and there is no penalty for not attending ... or for bringing a chair. We don't take them seriously.

    Sprints are good for procrastinators and perfectionists, who work better with deadlines.

    Stories are good, but they don't replace good docs. My experience is that you start with stories, then write the docs. During initial development we refer to the stories far more than the docs. But the docs are important for wrapping up the details.

  42. Easy way to tell if you're doing real Agile by Prien715 · · Score: 1

    Have you ever voted with your team on changes to your development procedures, including frequency of meetings, choice of tools or direction of development?

    If you haven't, you're working in a waterfall dictatorship that calls itself Agile much like North Korea is a "Democratic Republic". The whole point of Agile is the developers and the stake holders create a system where their opinions are truly valued (hence voting) and thus get buy-in from all parties. Otherwise it's just a cargo cult.

    --
    -- Political fascism requires a Fuhrer.
    1. Re:Easy way to tell if you're doing real Agile by PPH · · Score: 1

      Have you ever voted with your team on changes

      Yes. And when I'm on the wining side, we're "doing Agile". If I'm on the losing side, its faux-Agile, disregarding values and principles, having process imposed upon me, etc.

      --
      Have gnu, will travel.
  43. Re:Agile is like communism... by ShanghaiBill · · Score: 1

    I got cooled off from unit tests, in favor of functional ones (spanning multiple classes/modules).

    They are not alternatives. You need both. Write the unit tests while you code each class. Write the functional tests while you do integration.

    If you are hardcore Agile, you write all the tests first, but in practice almost nobody does that.

  44. Re:Agile is like communism... by ShanghaiBill · · Score: 1

    ... modifying the code to pass that test without regressing ...

    Who said you don't regress? Regression testing should be a standard part of any dev process. Before you commit code, you should run your full test suite ... with a single command (or 'click', if you use an IDE). In you don't then: "You are doing it wrong."

  45. Agile by c++horde · · Score: 1

    Agile encourages no accountability, over run project costs, and no invented here syndrome. There is a serious disconnect between executive management and technology teams. Agile fosters politically charged environments and and the biggest cry babies climb to the top.

  46. Re:Agile is like communism... by laird · · Score: 1

    It's not magic - it's a collection of practices that work well in the real world. And while you might thing that all good developers do TDD and FBF, for example, that's not the case - both those ideas were obscure and radical before XP/Agile/Scrum pushed them into the mainstream.

  47. Re:Agile is like communism... by laird · · Score: 1

    Sprints are very valuable, if there's good transparency about stories and burn-down (or burn-up) charts, because they let everyone know how the team is doing, continuously, so if there's a problem and the team is going to miss a commitment, it's visible and can be fixed. And having a regular cadence helps teams learn to estimate and hit commitments, which is valuable for all concerned.

    The value of standups is that they give everyone a chance to ask for / offer help, raise challenges, etc., but by doing it at a fixed time every day avoids frequent interruptions during the day, which break concentration and decrease productivity. If standups are boring daily wastes of time, you're doing it wrong - standup should be as short as possible - what tasks did you complete yesterday, what tasks are you working on today, and do you have any blockers. 15 minutes is plenty of time.

    Stories don't replace more detailed documents, they are just a short representation of the work for purposes of managing the work. If a story is complex and needs a detailed writeup, or screen design, to make sure that everyone agrees on the details, that document is critical and the story should link to that. But if the developer can ask the product owner a few questions, and that's sufficient and a big written document would be a waste of time. And for big projects, the specifying alone can take a year, which is a year wasted compared to getting something simple in front of users to find out what they actually want in reality rather than in theory.

  48. Re:Agile is like communism... by laird · · Score: 1

    Exactly. Though I have never heard of TDD being "write one test at a time and then write the code to pass the test" - everywhere I've done TDD (and I've been doing it since the 1990s) we've written a whole suite of tests that defined the expected behavior of the system being built, and then written code until we passed that test suite.

  49. Re:Agile is like communism... by Aighearach · · Score: 1

    I was always taught that tests should be written by a QA developer instead of the application developer, because if you write your own tests you have symmetrical oversights and logical mistakes.

    Also, I was taught to be suspicious of anything that wants to "drive" the development process that isn't the use case! The goal is to match the implementation to the semantics of the problem domain, not to the semantics of the testing framework.

    TDD is great for web apps, since there is unlikely to be enough profit to afford QA, but why do those even need a lot of thrash?

  50. Re: Agile is like communism... by ShanghaiBill · · Score: 2

    if I spent time writing tests I'd never get anything done on the timeframe demanded of me.

    You are doing it wrong. TDD saves time. Even during death marches, I write unit tests. The time spent writing tests is way less than time spent chasing bugs.

  51. Re:Agile is like communism... by angel'o'sphere · · Score: 1

    I simply commit and continue working.
    The CI server is running the tests.

    Why should I waste time running tests on my machine?

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  52. Re:What "agile" means at my company by angel'o'sphere · · Score: 1

    Is that a kind of provocation?

    - no longer allowed to meet with stakeholders as needed, must wait for weekly "demo"
    That is not agile, it is stupid. And all agile methods demand access to the stakeholders. So why are you trolling?

    - daily standup that just takes tons of time to say "no change from yesterday because I'm still not allowed to find out what the stakeholders want because it's not Tuesday yet"
    Trolling again? A standup should not take more than 90 seconds pr person.

    - our group is cross functional, so that means that the learning project manager can do development work right?
    Yes he can. What has that to do with agile, non agile?

    - my agile group is only 3 hours a day, strictly scheduled, so I'm only allowed to work on that project for those 3 hours,
    If that is made clear to every stakeholder, it is fine. What is your problem?

    and work on nothing else during that time,
    EXACTLY. That is called "commitment" and "accountablility"!

    nevermind that my projects fluctuate daily in their requirements,
    it can't ... at least your sprint can't. And if you really have to react daily: then for funk sake don't use sprints but Kanaban

    and one day I might have 8 hours work for this project, and none for others, but tomorrow it could be the reverse, and with deadlines as tight as they are, I can't afford to twiddle my thumbs because the wrong project has work ready.
    Ha ha ha. Troll!

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  53. Re:Agile is like communism... by AuMatar · · Score: 1

    I'd say TDD is highly overrated. Writing tests up front is a huge time sink, and on anything non-trivial you end up spending more time refactoring and fixing the tests as you refactor the interfaces than anything else. You should think about testing when you design something, but writing them first is always a waste of time.

    --
    I still have more fans than freaks. WTF is wrong with you people?
  54. Re:Agile is like communism... by ShanghaiBill · · Score: 2

    I was always taught that tests should be written by a QA developer instead of the application developer

    You are doing it wrong. Unit tests should be written by the developer, and the class/method/function and the unit test should be written simultaneously by the same person. Code test commit code test commit code test commit.

    QA people should focus on high level functionality and usability, not implementation details.

  55. Agile? by zkiwi34 · · Score: 1

    Nah, mostly bitter and twisted and perpetually outraged, not agile in any sense.

    Churn is a much better term than Agile.

    Agile = Let's not know what we are developing or bother to understand the business or system rules, let's just "make product" and jump with joy (or other emotion) when nothing of consequence has been produced.

  56. Re:Agile is like communism... by ShanghaiBill · · Score: 1

    Why should I waste time running tests on my machine?

    So that you don't commit buggy code.

  57. Re:What "agile" means at my company by green1 · · Score: 1

    I assure you everything I say is the truth. I'm not trolling, though my company may be trolling all of us with their braindead implementation of it.

  58. In the eye of the bolder.... by SuperDre · · Score: 1

    This is again an article that's written from a perspective 'in the eye of the beholder'.. What is agile exactly? there are different opinions about it.
    Does agile work? Yes.... but in most cases it doesn't if it's exactly as one has written the 'agile rules' (whatever those exactly may be)..
    There are so many different ways to good development, and Agile is just one of those 'tools'.
    If you've been using 'Agile' for ages, you're propably so accustomed to it, you don't even know if it's really the best way. And in most cases, it's just a name given to a process people have been doing for ages, but never have given it a name..
    You need to find a middleground, and do what's best for your company/team.
    This article was clearly written by someone who sees Agile as his only holy grail... And 'we' IT people tend to stick what we know best and think the rest is just 'not so good'...

  59. Re:Agile is like communism... by iMadeGhostzilla · · Score: 2

    I used to think so about unit tests until I read "Why Most Unit Testing is Waste" by James Coplien (https://rbcs-us.com/documents/Why-Most-Unit-Testing-is-Waste.pdf). It caused quite a stir on Reddit and YC in 2014 when it appeared, and Coplien published a sequel (https://rbcs-us.com/documents/Segue.pdf). From time to time is rediscovered and creates the same controversy.

    I was very opposed to it in my first reading, but on subsequent readings and checking out arguments on the boards I slowly came to be in favor. Then as an experiment I ditched almost all unit tests and started only writing functional tests and I'm sure I'm seeing a better payoff. Just the other day my functional test caught a very nasty bug introduced by a coworker where the results of some key calculations were off by 2-10%. I'm sure no unit tests of mine would have caught that bug of his. So for the moment I am a believer, and Coplien gives some good empirical and logical arguments in favor of it.

    That I still do TDD about a third of the time, making a functional test before I write the code.

  60. Re: Agile is like communism... by iMadeGhostzilla · · Score: 1

    Here's a great example of the value of coverage:

    function myFunc( arg )
            if ( f1(arg) ) call do_A();
            if ( f2(arg) ) call do_B();

    In your tests, you can call myFunc first such that it only calls do_A(), then call it again such as that it only calls do_B(). You will achieve 100% coverage, and yet a call to myfunc in your app in the field that makes the function call both do_A() and do_B() may cause the app to crash.

    This is not to say that coverage is useless, but that often is far less predictive of robustness than it would appear to be, and may lull the developers into thinking they have tested the app enough.

  61. Re:What has "programmer" Martin Fowler actually do by sourcerror · · Score: 1

    He got some cushy job at a big corporation, but I don't see any game changer project.

  62. Who is agile IRL? And how did they get that way? by sbjornda · · Score: 3, Insightful
    Athletes are agile. Ballet dancers are agile. Acrobats are agile. Martial Arts experts are agile.

    How did they get that way? Discipline and practice; practice and discipline, more practice, more discipline.

    Too often, Agile as applied to software development seems to mean the opposite of discipline, and I'm not sure where practice fits in.

    --
    .nosig

  63. Re:What "agile" means at my company by angel'o'sphere · · Score: 1

    Then you are definitely doing it wrong. But in current times it should be easy to find a better job :D

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

    Why should I not commit buggy code?

    It is on my private branch ... it gets merged/pulled into the trunk or sprint branch when everything is fixed.


    --trunk--............---------M
                  \---sprint branch-------------------/
                          \---- my feature branch---/

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  65. Re:Agile is like communism... by Aighearach · · Score: 1

    That's very hand-wavy, not only am I not convinced of your conclusions, I'm not even convinced that you actually offered any logical reason for a person to even start considering what you said. Just pure assertion, and without any concept of which parts are opinion, which parts are purported facts, and which parts are generally accepted truisms.

    In fact, I'm not even convinced that you understood that I was claiming that a different field, called QA, might actually be the field with the expert knowledge, and they might have a different truism than the developers have!

    You don't seem to have even noticed what I was talking about, but you know you disagree. You know I'm doing it wrong, but you don't even know what I'm doing, what the use case is! Perhaps the answer is different depending on the size of the project? Perhaps it is different depending on the consequences of bugs? Perhaps it varies based on those things, and also the product lifecycle? Your insistence that there Must Be One True Answer proves that you're only considering the least-important categories of concerns, like those that web developers have.

  66. Re: What has "programmer" Martin Fowler actually d by melted · · Score: 1

    No, I mean stand ups sprints and all the other methodological bullshit. CD simply means that things get merged into master often, and master is kept well tested and stable, and released to prod at least every week. You donâ(TM)t need a âoemethodologyâ to do that.

  67. Re:Who is agile IRL? And how did they get that way by iggymanz · · Score: 1

    buzzword for cult that focuses on internal metrics too much. ignore it.

  68. Each team has to choose their own process? by Tony+Isaac · · Score: 1

    In the article, the only specific problem stated with "faux-agile" is that teams aren't allowed to decide on their own process. Why is this the deal-breaker?

    As teams scale and multiple, if each one is using it's own unique process, it makes it impossible for the company to see the whole picture.

    Many enterprises have chosen Scrum. It's not perfect, but it's not bad either. It's CERTAINLY better than Waterfall! So why not take the good that comes with moving to Scrum, and run with it, instead of wanking about the loss of pure agile?

  69. Steven Lowe puts it best. by michael5727 · · Score: 2

    The clearly-titled Project Management: A Surefire Way to Kill Your Software Product by Steven Lowe hits the nail on the head. If you've ever found yourself frustrated or overwhelmed by a process—purporting to be agile or otherwise—you'll find this essay is a refreshing read.

  70. Re:Agile by halivar · · Score: 1

    Oh, I get it. So the big yellow box will convince the company to hire more quality testers where the hundreds of little yellow boxes on every single product backlog item did not.

    Don't be naive.