Skip to main content

Tech-Only Agile Goes Commando--And Not in a Good Way

Pop culture aficionados will be familiar with the South Park "Underpants Gnomes," who roam through people's homes stealing underwear in the night. Their business plan is classic and simple:

http://www.queuefull.net/~bensons/2009/01/12/reflection-on-the-underpants-gnomes-master-plan/
Everyone likes a plan with three steps.

I have been thinking a lot about the Underpants Gnomes lately, and here's why.  If you invert the first two phases, you get a pretty good model for tech-only agile:
  • ???
  • Collect underpants Do Agile Technical Practices
  • Profit
It has the reassuring three steps, but something important is missing.

Let's talk about the company which attempts to roll out agile with a primary focus on the technical practices.  That would be...almost the whole world.  Look at the first line of the Agile Manifesto--it says the goal is "working software," not "VALUABLE working software," although the v-word does come in at the top of the list of "principles" which accompany the manifesto itself.

The IT department generally acts first within a company to bring in agile trainers and concepts, and then everyone works together to bring the business people along as well.  But if they can't play ball, then so be it.  Off we go to build a burn-down chart.

In tech-only agile, the business is Tonto to IT's Lone Ranger.  Business is Arthur to IT's "The Tick."  Business is the sidecar to the Agile IT motorcycle.

From http://www.pashnit.com/bikes/sidecar.htm
It makes sense from a job market perspective.  While "agile" is magical on an IT resume, it is not in the top ten skill sets which recruiters expect to see in a successful product manager's vita (see this general job site, chosen at random, as an example).

"It's all good," we like to say, but it really isn't.  All too many tech-side agile team members (and worse--all too many business people) envision the agile project as something that starts when development starts.  "Wait," someone says, "we need a backlog!  Yes!  A backlog!"  And someone quickly puts something together, and off we go!  We're agile!  Faster than a speeding bullet, we've
  • pair-programmed 
  • some unit tests accompanying (and preceding development of) 
  • modules of no more than 100 lines apiece, 
  • which will be refactored along the way and 
  • can be unit, functionally, and scenario tested automatically 
  • at check-in 
  • with a build process that takes less than ten minutes, 
  • pipelined through to some "investigative testing" pre-production environment 
  • for manual exploratory evaluation, 
  • plunged automatically into production, and 
  • later made available through feature toggles.  
Except nobody flips the toggles.  Nobody knows exactly what they do.
Would this happen in a lean start up?  Never.  Would it happen in a giant corporate enterprise attempting an "agile transformation?"  You bet it would.
  • The business didn't want to spring for an in-room "product owner" and the "subject matter experts" were unavailable to the team, so the team had to make a bunch of guesses.  
  • The collocated team seated at state of the art pairing stations arranged in a well-ventilated team room knew from the second hour of discussions that what the sponsors wanted from the software would cost ten times what was budgeted, but management told the team to keep going to avoid people yelling at them.  "We can always cancel it later," they said.
  • These are the same people who complained that the team designed a Cadillac on a Yugo budget.
No-tech agile, of course, is just as scary as tech-only agile.  Perhaps I will need to write a companion piece.  But to me the heart of agile is building the relationship between IT people and business partners to allow mutual exploration of how IT can strategically empower the business.  The most important part of the project isn't the part where the programmers show up--it's the part where the project is actually funded.  It's a more or less sacred goal of the team to make good on that investment.  The sequence is what is important here.  Pay attention to what you're doing and why, THEN embrace the right technical practices to get you there in the best way.

Tech-only agile is the emperor with no clothes.  Or at least no underpants.

Comments

Popular posts from this blog

How Do You Vote Someone Off of Your Agile Team?

One of the conundrums of agile conversion is that although you are ordered by management to "self-organize," you don't get to pick your own team.  You may not have pictured it this way, but your agile team members are going to be the same people you worked with before, when you were all doing waterfall!   I know I wasn't picturing it that way for my first agile team, so I thought I should warn you.  (I thought I was going to get between six and eight original Agile Manifesto signers.  That didn't happen.). Why "warn" you (as opposed to "reassure" you, say)?  Because the agile process is going to reveal every wart, mole, quirk, goiter, and flatulence issue on the team within a few hours.  In the old days, you could all be eccentric or even unpleasant in your own cube, communicating only by document, wiki, email, and, in extreme situations, by phone.  Now you are suddenly forced to interact in real time, perhaps in person, with written messag...

A Corporate Agile 10-point Checklist

I'm pretty sure my few remaining friends in the "small, collocated team agile" community are going to desert me after this, but I actually have a checklist of 10 things to think about if you're a product owner at a big company thinking of trying out some agile today.  Some of these might even apply to you if you're in a smaller place.  So at the risk of inciting an anti-checklist riot (I'm sorry, Pez!), I am putting this out there in case it is helpful to someone else. From http://www.yogawithjohn.com/tag/yoga-class/ Here's what you should think about: 1.        Your staffing pattern.  A full agile project requires that you have the full team engaged for the whole duration of the project at the right ratios.  So as you provision the project, check to see whether you can arrange this staffing pattern.  If not, you will encounter risks because of missing people.  Concretely it means that: a.    ...

Requirements Traceability in Agile Software Development

One of the grim proving grounds for the would-be agile business analyst (henceforth "WBABA")  is the "traceability conversation."  Eventually, you will have to have one.  You may have seen one already.  If you haven't, you may want to half-avert your eyes as you read further.  It gets a little brutal.  But if you close them all the way, you can't read. From:  http://www.highestfive.com/mind/how-to-perform-a-successful-interrogation/ Dialogue: WBABA :   ...so in summary, we complete analysis on each story card, and then we support the developers as they build it that same iteration! Corporate Standards Guy:   but how do you do traceability in agile?  You have to have traceability.  It's broadly recognized as an important factor in building rigorous software systems. These software systems permeate our society and we must entrust them with lives of everyday people on a daily basis. [The last two sentences are an actu...