(fr)Agile* Development, or Fragile for short, is the art of convincing management that you are doing Agile development, whilst ignoring most of the primary tenets of the art.

So, how can you tell?  Well, there are probably a set of questions you can pose.  If it appears that you might be going “cross-cultural” with your insistent questioning, ask in a very subtle manner (ie sneak up on them).  And thats one of the problems with Fragile development, it can only exist in a culture that allows it to.  You have been warned.

So, what should you ask?  As a release and configuration manager, probably the easy-pickings I would look for are:

  1. Asking your “Agile” team about their Continuous Integration process.  If they look at you sideways and ask you what you mean, odds on they are Fragile.
  2. Ask about the last time they released into test, and how long it took to get working.  And the time before that.  If you are looking at intervals of over a month, and it took a week or more to get working….Fragile.
  3. Ask if you can check out their software from source control and build it.  If you cant get this working without their grand-high obfuscation wizard visiting your desk and waving his wand over your path statement and installed software?  Fragile.  Either that or you really should take up gardening for a living, your not cut out for computing.  Or maybe a paper run.  Just a suggestion (remember, its not you, its them!).
  4. Definitely look out for the word “Hybrid”.  As in “Oh, we used to be Agile, now we are Hybrid”.  No, now your royally screwed.  Hybrid generally means the worst of the Waterfall with the worst of Agile.  And oh what an ugly love child it is.

The thing about Fragile software development as a methodology though, is that its addictive.  I mean, no documentation?  Cool!  No nagging CI server?  Cool!  You can really get addicted to the joy of just coding without worrying how to release or deploy (and in some cases, build) your software.  Its just more fun!  I mean, some people may get a kick out of releasing software, but why bother with all the hassle when you can just commit your code safe in the knowledge that its perfect, and leave the trivial stuff to someone else?

But what if you actually have to work with a (fr)Agile development team?  What then?  No, really, its a question….what then?  I might have to turn comments on so you, dear reader (singular, there is probably only one of you) can help me on this one. (sigh)

* The (fr) standing for “Fuck.  Release????”….generally you hear this a lot when a Fragile development team actually have to ship the steaming pile of methodology-light software they have regurgitated.