Skip to content

My First Agile Project Part 13: Reflecting on The Decline of Agile

November 24, 2008 by mattgrommes

Picture courtesy of J.H.C. on flickr

Recently James Shore wrote an article called The Decline and Fall of Agile where he talked about how Agile, and Scrum in particular, is failing many companies. The main reason I started writing this series of articles on our team's experiences was to help myself examine why we'd had such a hard time with Scrum in various ways. In this part of My First Agile Project I'm going to go through Mr. Shore's article and compare it to our experiences.

In the article, Mr. Shore focuses mostly on the engineering aspects of Scrum, or lack thereof. In our experience, Scrum's lack of proscriptive engineering processes is hardly the biggest problem. It could be that we haven't had enough time to run into the walls of difficult-to-manage code that he's seen but thanks to some of the other problems we've had with shifting requirements and the like, we've all revisited chunks of our code during the project and we aren't slowing down because of it. Read on for more on Mr. Shore's essay and how I see it through the lens of our project. It may be that Agile is declining, but if so it isn't for the reasons he's seen.

According to Mr. Shore, our project should be failing due to the fact that we don't do the recommended XP-style engineering practices like Test First, or pair programming. At least, that's what I assume he's talking about since he never mentions which practices we should be doing. But I don't see that at all. I see our project having trouble because of incomplete control of the backlog and other "project management" centric issues that I've talked about many times (see Part 5: Our Top 5 Agile Mistakes).

I won't go so far as to say our code is a paragon of beauty or anything, but even without coding Test First (indeed, without many unit tests at all in some cases) and working mostly by ourselves we have a good code base. I've gone into my coworkers' code and made changes without spending all day on it and we've all taken over things from each other with usually just a minimal knowledge transfer. And since we've been working on this project for a year and a half now, we've gone back to old code multiple times. Despite the essay basically saying Scrum is deficient because it doesn't have XP's engineering practices, this hasn't been a problem for us.

I've always thought one of benefits of Agile was that it wasn't a bunch of rules you "had" to follow but Mr. Shore doesn't seem to feel the same way. He disparages the idea of taking Agile as a "Chinese buffet" where you take what you want and leave what you don't. Unfortunately for our project, we didn't know about some of the important things in Scrum/Agile but we also left behind things that we didn't and haven't needed without looking back. I like that there's wiggle room in Agile. I like that there's no checklist of approved procedures and methods for us to follow. In my experience everyone picks and chooses parts of methodologies that work for them, no matter what. Not every piece is going to fit your puzzle so you can't force it.

If not doing every part of a theoretically perfect "Agile method" means somebody is going to say we aren't doing Agile, fine. We'll still call it Agile, as I've never seen the problem that some people seem to have with the name. We're being agile in the dictionary definition so we'll call it Agile. It works for us, we like it and we're going to keep with it. We're also going to work on making it better for us if we can. And if we want to try out pair programming or writing tests first, we'll do that too and maybe we abandon it. We're being agile.

This brings me to my final point. Maybe he and I are looking at this from different perspectives but I don't like the talk about 'rescuing Scrum' and rehabilitating the Agile brand. The point of Agile is to help teams. If a team is having problems, the point should be to help them, not to make Agile look good. If parts of Agile or Scrum are helping, great. If something isn't going to make a team's life better, it should be left behind. I won't say anything about the certification parts of the essay beyond saying that if somebody thinks they can take a course and apply methods X, Y, and Z to their project and succeed, they're deluded. You have to live with it to determine what works and what doesn't. Then you can keep the parts that work. But if somebody wants to say we're not Agile because we're only doing what works for us, they can keep Agile and we'll keep working.

Thanks for reading. If you have comments on this post, and based on the sea of commentary around the web about it so far I imagine some of you do, please leave them in the comments below. I'm curious what you think. Thanks again and stay tuned next week for more of My First Agile Project.

About the Author:

Comments

You Needed a Coach

November 24, 2008 by Dave Rooney (not verified), 3 years 10 weeks ago
Comment id: 2043

In reading this and the other posts regarding your Scrum/Agile adoption, I see the most common mistake that teams make - they didn't hire an experienced coach to help them avoid the exact pitfalls you described.

A decent coach would have recommended against proceeding with Scrum without your management's buy-in and participation. A coach would have helped you define and continuously manage the backlog. A coach would have recommended that the sprints be made smaller than 4 weeks in order to provide more frequent feedback. A coach would have recommended that someone other than the developers perform the sprint demo.

If you didn't have the ability to hire a coach, then you should have followed the rules to the letter until you understood better not just what they are, but why they exist. This is where Jim Shore talks about the "buffet" approach, taking only what you want and leaving the rest. If you don't know what you need, how can you expect to be successful.

This is Agile's Achilles' Heel - it's still pretty tough to do well unless you go through the learning process by following the rules.

Dave Rooney
Mayford Technologies

About brands and heresy

November 24, 2008 by Improbable (not verified), 3 years 10 weeks ago
Comment id: 2044

I coulnd't agree more, esp. in the topic regarding the brands and 'rescuing scrum'. Noone could seriously pretend that he/she came with a perfect solution that fits every situation and that is not improvable by the comunity.

Who cares if your way of organize your team could be called 'scrum', 'xp' or whatever if you can deliver value to the user and manage change.

Things change and knowledge evolves. And it evolves when you are willing to pick up what works, try new things and see how they perform.

Sometimes some agilist seem unwilling to accept that agile also changes: they talk about that everything change, but they seem to pretend that agile is outside the universe, because it shouldn't change.

(Forgive my poor english)

There's no silver bullet

November 24, 2008 by Hiranya (not verified), 3 years 10 weeks ago
Comment id: 2045

I agree with the comment that there is no one solution that fits all all situations. In my view one mistake done in software projects is to blindly adopt a methodology ( XP, Scrum, or any traditional approach) and its prescribed practices irrespective of the type of project. Scrum won't work in all projects. One should be aware of the strengths and weaknesses of each development methodology and be prepared to adapt the methodology for the current situation.

The book: "Balancing Agility and Discipline" by Boehm and Turner presents an approach that can be used to adapt a software development methodology for each project based on project characteristics. The book discusses the traditional and agile approaches and advantages and disadvantages of each approach in different project scenarios.

Progress?

November 24, 2008 by lonnie.haire, 3 years 10 weeks ago
Comment id: 2046

It's been interesting to review the progression of your team and project. Without having reviewed all parts of your posts or in any detail the ones I have, I think I have a pretty good feel for where you, your "team", and your organization are with respect to your approach and agility. I would also like to mention that it's been encouraging to see your position despite the 'nay-sayers' or WCS'ers (woulda, coulda, shoulda). I look forward seeing how things continue moving forward.

So I digress to comment on the current theme. Mr. Shores article is very insightful into the very nature of the agile paradigm and definition of successful agile, or lack thereof. His passionate presentation also represents only a portion of the those that exist in the community. Mr. Shore points out that "agile is hard", it's more than "Scrum", and that it has, does, and continues to work. Despite agile success in our profession/industry there is still an expectation that being agile means "not being waterfall". Traditional or waterfall, from an agile perspective, only means that there is an unreasonable expectation by the business that it can predict the result of a project. It attempts to do so by managing or eliminating project risks early. Most businesses agree with this if they are open to the idea of agile's approach. Most people agree with this approach in general. I submit that most people tasked with creating a proposal, of any kind, don't start with the final copy. There are typically drafts, reviews, and revisions to get to the final copy. The manuscripts of any best seller, is certainly no where near what the hard back copy contains.

Mr. Shore also notes, from his experience, that teams that practice XP-style engineering practices find them extremely valuable. This is a fact, from my experience, as well as the community at-large. TDD, BDD, CI, and the like... all contribute to the maturity of an oganization. Just as OOD/OOP did nearly half a century ago. Another aspect of agility is continuous feedback via Daily Scrums, Sprints, automated tests, etc... These are just more feedback loops that should move an organization to make value based decisions. These different practices ultimately add value or do not. Those that do not get rid of, those that do keep, in either case it assumes that you've attempted them and understand the reason for them. This, like Scrum, is not the "Silver bullet" (~Hiranya). Many of these practices eliminate waste in the sense that it reduces rework, provides a conduit for refactoring code with confidence, and provides for emerging architecture, documentation, and other creative/design-driven activities. It may be important to note also that Scrum is a management framework and XP is very much engineering centric. They approach the same problem differently, so here is where understanding the method assists with its application and trade-offs (~Hiranya).

In my humble opinion, the approach you've accepted, was a good approach for your organization, at least at the time. Having a coach may have provided or could still provide value through awareness (~Rooney). Alot of the things you have experienced has been experienced by everyone "going" agile. Are you agile? I don't know enough to say either way. I will commit to saying that you are in transition from whatever method you started with. If your attitude is an indication of your capability to succeed in becoming agile, I suspect you'll eventually find your groove and increment another agile success story.

My only dissension is the statement about "one of benefits of Agile was that it wasn't a bunch of rules you 'had' to follow". I agree that there shouldn't be a bunch of rules, but there should be rules and they must be followed. Scrum defines its roles and responsiblities and rules of engagement and interaction. XP defines its rules and practices. Lean promotes 10 simple rules. If you claim some hybrid of agile, then your rules need to be defined, accepted, and followed as well.

To contribute to your exercise in agility I submit the following. Enjoy continued progress...

http://ivarjacobson.wordpress.com/2008/04/30/everyone-wants-to-be-agile/
http://www.infoq.com/interviews/Ivar_Jacobson
http://www.poppendieck.com/lean.htm

Thank you!

December 15, 2008 by Joelle (not verified), 3 years 7 weeks ago
Comment id: 2127

This series has been very helpful as we start down the agile road. I'm hoping we can avoid some pitfalls based on your experiences.

The Decline and Fall of Agilists

February 8, 2009 by Jurgen Appelo (not verified), 2 years 51 weeks ago
Comment id: 2223

I wrote my own reply to all agilists who are preaching that certain agile practices are required to be called 'agile':

The Decline and Fall of Agilists
http://www.noop.nl/2009/02/the-decline-and-fall-of-agilists.html

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <b> <i> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img> <br> <blockquote>
  • Lines and paragraphs break automatically.
  • Web page addresses and e-mail addresses turn into links automatically.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>. Beside the tag style "<foo>" it is also possible to use "[foo]".

More information about formatting options

By submitting this form, you accept the Mollom privacy policy.

Best of AgileSoftwareDevelopment.com