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.

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

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

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

  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.

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