Jeremy D. Miller -- The Shade Tree Developer

Sponsors

The Lounge

News

Advertisement

Images in this post missing? We recently lost them in a site migration. We're working to restore these as you read this. Should you need an image in an emergency, please contact us at imagehelp@codebetter.com
Thoughts on the Decline and Fall of Agile

If you haven't already, go give this post from Jim Shore a read.

I've seen a lot of commenters on this post so far, and their thoughts generally mirror my own.  You can't take the "desserts" of Agile practices like working incrementally or the all important adaptive planning and scheduling without quite a bit of engineering practice vegetables.  You wanna work adaptively instead of the ol' fashioned plan driven method?  Fine, but you've got to make that adaptability safe.  You need rapid feedback cycles to know when you're getting off the rails (customer demos, TDD, Continuous Integration, automated acceptance tests, static code analysis or some sort of equivalent).  You need to take steps that make continuous design methods safe and effective (simple design, a constant attention to design fundamentals like the SOLID principles, and an intolerance for technical debt).  And your team needs to be retrospective about its work to make adaptions as they become necessary.

In the early days, XP was roundly criticized because every practice only seemed to be safe due to the existence of the other practices.  Take one out, and the others weren't that great by themselves.  I think that's more or less a fair criticism, but my response is simply to adopt, and effectively apply, everything you need to make Agile development successful.  You can't just pick and choose the easy things.  If you take something off the old XP practice recipe, you probably need to find an analogue solution to add something else back into your practices.  Regardless of which practices and how you do those practices, there are project needs that have to be filled (planning, quality assurance of some sort, feedback cycles, etc.).

Of course, it's always going to be easier to get it wrong than right, but that's why we're paid the big bucks.


Posted 11-16-2008 5:32 PM by Jeremy D. Miller

[Advertisement]

Comments

Neil wrote re: Thoughts on the Decline and Fall of Agile
on 11-16-2008 8:26 PM

I agree with what you've written, for me it comes back to the twelve agile principles. If we as a development team lack the discipline to ensure that each of these twelve principles are adhered to then we invite issues of the sort that Scrum's (and Agile's) accusers make reference. For me, Scrum provides a framework that makes the introduction of Agile into an organisation easier. But it is only ever a starting point, a way to get the first four S's of the 5-S model established, before the fifth S, Shitsuke, can be applied.

I have written a full post on my blog about this as a reaction to your post, James's and the recent post on the Uncle Bob blog, which I hope you won't mind my linking to: neildoesdotnet.blogspot.com/.../defending-scrum.html

FreePress Blog » GR Shared Link - Thoughts on the Decline and Fall of Agile wrote FreePress Blog » GR Shared Link - Thoughts on the Decline and Fall of Agile
on 11-17-2008 12:50 AM

Pingback from  FreePress Blog » GR Shared Link - Thoughts on the Decline and Fall of Agile

Rasmus Kromann-Larsen wrote re: Thoughts on the Decline and Fall of Agile
on 11-17-2008 2:42 AM

Thanks for the heads-up - good read.

Glenn wrote re: Thoughts on the Decline and Fall of Agile
on 11-17-2008 3:25 AM

I recently reviewed a great IEEE article (see www.dynamicalsoftware.com/.../ViewBlogEntry.pl) that was originally written in 2001 but looks to be just as relevant today as it always has been. It's too bad that some rally around the Agile banner because they see it as a justification for abandoning sound software engineering practices which, by the way, it does not.

Colin Jack wrote re: Thoughts on the Decline and Fall of Agile
on 11-17-2008 6:49 AM

Couldn't agree more. I've certainly seen what happens when only half of your development team buy into the agile principles, I've seen what happens when management don't hold up their end, I've seen what happens when principles are treated as a pick and mix.  None worked.

More importantly where are these big bucks?

Oh and you might be interested in Robert Martins response:

blog.objectmentor.com/.../dirty-rotten-scrumdrels

Dew Drop - November 17, 2008 | Alvin Ashcraft's Morning Dew wrote Dew Drop - November 17, 2008 | Alvin Ashcraft's Morning Dew
on 11-17-2008 7:59 AM

Pingback from  Dew Drop - November 17, 2008 | Alvin Ashcraft's Morning Dew

Mike Moore wrote re: Thoughts on the Decline and Fall of Agile
on 11-17-2008 12:52 PM

This isn't surprising to me at all. I have long thought that Agile was fundamentally misunderstood. So I fully expect that many of those teams that think they are Agile but aren't to fail.

Also, I love Uncle Bob's response as well.

blog.objectmentor.com/.../dirty-rotten-scrumdrels

Brad Mead wrote re: Thoughts on the Decline and Fall of Agile
on 11-17-2008 1:28 PM

Colin said:

"Couldn't agree more. I've certainly seen what happens when only half of your development team buy into the agile principles, I've seen what happens when management don't hold up their end, I've seen what happens when principles are treated as a pick and mix.  None worked."

Colin you took the words out my mouth. I was lured to my latest job with the promise of XP style dev but when the owner marched in a declared everything HAD to be done by X date, it just fell apart -- Devs who were lukewarm to TDD easily revert  to comfortable "I will do it my way" cocoons.

So now I embark on journeys in defense of "irrelevant" tests (which in cases be true - but at least there ARE tests).

Tests in assemblies already created but now being worked on by other devs. Tests that saved my butt on more than one ocassion.

Jeremy... it seems like agile (even TDD) must have support from the top or all the middle manager types revert to command and control tactics. What's more I'm in an org than doesn't even have faith in key working groups understanding and coordinating domain concepts. Had to pull teeth just to get some notion of observable "contract" points established between different groups of the respective value chain. Historically, these have occurred as ad-hoc, rushed and debt heavy integration points.

Suffice it to say that I now realize the the value I represent as someone committed to better ways. Somewhere out there Agile/TDD will win and those wins will slowly compound until a critical mass of jobs are out there for committed agilists... Hope to see some of you there.

Colin Jack wrote re: Thoughts on the Decline and Fall of Agile
on 11-17-2008 2:52 PM

@Brad

"Jeremy... it seems like agile (even TDD) must have support from the top or all the middle manager types revert to command and control tactic"

Agree completely, the problem is even if an upper manager does "buy into" agile they don't necessarily think that it affects them and their role in the process.  Some managers love going out and making promises, the thought of going back and discussing things with the developers just doesn't appeal.

#.think.in wrote #.think.in infoDose #8 (17th Nov - 22nd Nov)
on 11-23-2008 5:37 PM

#.think.in infoDose #8 (17th Nov - 22nd Nov)

Agile/Lean: All or Nothing? at Mark Needham wrote Agile/Lean: All or Nothing? at Mark Needham
on 11-25-2008 3:33 PM

Pingback from  Agile/Lean: All or Nothing? at Mark Needham

Agile Stumbling? | Bob on Medical Device Software wrote Agile Stumbling? | Bob on Medical Device Software
on 11-25-2008 11:47 PM

Pingback from  Agile Stumbling? | Bob on Medical Device Software

Jeff Anderson wrote re: Thoughts on the Decline and Fall of Agile
on 12-07-2008 3:32 PM

Jeremy,

While I agree that the value of agile grows exponentially with the adoption of each additional practice, I find it really hard to get my clients to digest and transform using all of the practices in one go.

I find it better to start with the easy stuff, and evolve to the harder stuff. I usually start with iterative development, because the business usually sees incredible value at being involved in the process at the beginning and end of every iteration. I also start with daily standups, because it's another easy one and the value is immediate.

Of course, iterative development tends to go off the rails without all of the other good stuff like TDD, continuous integration, good code standards, etc., the velocity starts becoming slower and slower. I'm usually okay with things going off the rails a little bit, this allows me to start introducing some of the other practices depending on the situation.

I think I read in one of Scott ambler's articles that iterative development forces teams into a mode that makes it necessary to start adapting the other best practices just to survive...

it seems to be working out that way in my experiences anyway...

Jeremy D. Miller wrote re: Thoughts on the Decline and Fall of Agile
on 12-07-2008 6:36 PM

@Jeff

"iterative development forces teams into a mode that makes it necessary to start adapting the other best practices just to survive..."

Sure, but how do they even know that they need these things?  It's just my bias I suppose, but I'd rather start with the engineering practices first.

Faculty of The Mind wrote The Importance of Strong Technical Practices
on 01-30-2009 3:07 AM

The Importance of Strong Technical Practices

Jurgen Appelo wrote re: Thoughts on the Decline and Fall of Agile
on 02-08-2009 5:52 AM

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

www.noop.nl/.../the-decline-and-fall-of-agilists.html

Jeremy D. Miller wrote re: Thoughts on the Decline and Fall of Agile
on 02-08-2009 10:20 AM

@Jurgen,

My advice to you would be to stop worrying about whether someone else thinks your "Agile" and maybe start thinking about what type of software engineering practices will make your little Scrum project management work better.

Jeff Anderson wrote re: Thoughts on the Decline and Fall of Agile
on 02-16-2009 7:06 PM

"it's just my bias I suppose,..."

I think we are trying to get to the same end goal here. This just more than one route, I typically start with the project management practices because the first conversation I have with my client is typically with a VP or some CxO type.

trying to explain the value of TDD at this level is like trying to explain the value of air to a rock, at least IMHO

To lot easier for me to start with talking about things like iterating, multiple levels of planning, and getting everyone together for daily standups.

I'm pretty happy if I can get even these things adopt, but of course never being satisfied, once they are, I immediately start shifting the conversation to the technical practices, because at that point I've actually had sufficient exposure to the people who are actually responsible for getting stuff done.

Add a Comment

(required)  
(optional)
(required)  
Remember Me?