Agile Software Development For No Apparent Reason

April 23rd, 2009 by lorne cooper Leave a reply »

The always informative Brad Appleton has a post on Software Agility which defines some fascinating terminology right out of Yogi Maharishi’s mantra.

How can you not love a process that includes:

  • Sense the Problem/Opportunity
  • See the Problem in the Context of the “Whole”
  • Socialize the Goals and Constraints
  • Swarm the Solution
  • Show the Results
  • Share the Knowledge Learned
  • Life Goes on Within You and Without You

[Ok, I admit I added the last one from The Beatles, not Brad Appleton.]

I don’t really know what “Swarm the Solution” means, or “See the Problem in the Context of the Whole”, and I’m the poor dumb bastard that actually read the post.

The biggest challenge with “Agility” or “Agile” is one you can learn from the taxi business: if you don’t know where they want to go, it’s hard to get the passengers to pay you for taking them there.

Having run an Agile (Scrum) process here for almost two years, and having almost 100 Agile customers, there’re three things you need to know about Agile development before you can get it right:

1. Figuring out what to do next is the hardest part.  Kudos to those organizations who have a single customer they need to satisfy, but most of us have to make sense of often contradictory feedback coming from many sources.  Agile doesn’t make this easier.  It may, however, make your mistakes more like scratching a parked car than bouncing off a road grader.  Beware the process that can’t trace it’s stories back to actual customer statements!  Beware!

2. Time boxing means you have to spend the energy testing that you always told your mother you were going to do, but never quite go around to it.  If you start getting all soft on those developers and letting them make excuses for why it can’t be verified in the time box, you’re going to be in Faux Agile land, an evil place where developers run amok, dates come and go without meaningful results, and customers wander off for lack of adult supervision. Joel Spolsky wrote about Netscape entering this land many years ago.  I read it in my Chrome browser.

3. Self-Managed Teams can save you a lot of money by increasing your management branching-factor.  But don’t let the inmates run the asylum: people still go through bad marriages, get mad at their co-workers, and generally screw up, just like they did before.  The larger the team, the more likely your average team member is to be no smarter than the beer drinking, C+ grading, problem set copying, frat brother who peed on your car last night.  Management still has to provide the whack on the head needed to keep the good ones motivated and the bad ones headed to someone else’s frat party.

“Agility” is about getting somewhere faster.  If your process doesn’t get you going the right way, your doing Agile for No Apparent Reason.

Lorne Cooper

Advertisement

2 comments

  1. A common trap for people moving to Agile methodologies is that “Self Organizing” means that no management involvement.

    I think that for most Agilistas Self Organizing doesn’t excuse leadership from guiding/leading the team. That is the team doesn’t define what needs to be accomplished but rather how they will accomplish it.

  2. Hi Lorne! You wrote “I don’t really know what ‘Swarm the Solution’ means, or ‘See the Problem in the Context of the Whole’, and I’m the poor dumb bastard that actually read the post.”

    Sorry if those were unclear. I described them later in the post (using the “tell ‘em what you’re gonna tell ‘em, tell ‘em, then tell ‘em what you told ‘em” approach”)

    Seeing the problem in the context of the whole is exactly about knowing where your supposed to be going, from a “systems thinking” perspective, as in seeing the forest for the trees. Look at the problem in the context of the whole business-value stream, otherwise we risk responding to “local” events in a way that might appear to optimize the local issue, but suboptimizes the end-goal of delivering business value (where we are going).

    If we don’t “see the problem” from the perspective of the whole systems and its goal, then you are far less likely to respond in a way that moves you in the right direction to where you need to be going.

    “Swarm the solution” uses the term “swarm” in the sense of “swarm behavior” or “swarm intelligence”. It is a particular style of close collaboration based on so called “self-organization”

    The rest of your posting that talks about self-organization and how it can be taken too far is actually the subject of one of my next blog-entries for my “What is Agility?” series and also touches an important difference between Agile values (as stated in the Manifesto) versus Lean Thinking.

Leave a Reply

Anti-Spam Protection by WP-SpamFree