Back when I was a lad, good things were Ace. Later they came to be described as Wicked instead. Then Bad, then Sick, then (apparently to differentiate from merely sick) Fully Sick. I stopped tracking the phenomenon at that point, so I have no idea what the kids use now, though I suspect it’s constructed completely of consonants in capital letters.  It’s as if each new teen wave felt the need to re-imagine language again, and there are I’m sure reams of literature in the psychology press about tribal identities and group-inclusion.

The same is true of software development.  Following a tweet stream on physical architecture (you know, buildings and stuff) suddenly illustrated to me what software development most likely looks like from the outside: it’s a terrain of impenetrable jargon, presided over by tribal units with their own dialects.  No wonder your 10 o’clock product review meeting with the sales team went off the rails; they probably had a hard time understanding what you were talking about.

There’s no doubt to me that this is how some of the tribes like it, and it is definitely what makes Agile more difficult to adopt than it should be for business people.  Imagine you have been posted to a foreign country as their ambassador, just got to grips with their language, and then all of a sudden they change the dictionary on you.  Having mastered terms like project phases and use cases, you’re suddenly dealing with sprints and stories.  Add to this the various flavours of Agile (XP? Scrum? Kanban? Huh?) and it can feel like you’re back to square one, so you have to really want to do it to make it successful. This is also not helped by contingents who use Agile as a cover for another methodology: JFDI. Agile and cowboy programming are poles apart, but under the cover of the jargon the latter has passed for the former on more occasions than are healthy for the former’s reputation.

My first reaction to Agile was, “why have they made new names for things?”, and it felt like when I realised that “Ace” wasn’t cool anymore (dammit).  The reason for the new vocabulary is to avoid bringing in a set of old assumptions from Waterfall and other places – it’s an attempt at a clean slate with no preconceptions. But it also means there’s a steeper learning curve because it purposely veers away from the possibility of homely similarity to what you knew before.  I’m not about to suggest a new set of names for parts of the Agile process… people that are tempted to do that should first bask in the impromptu wisdom of XKCD’s view on standards, but I am saying we need to recognise the workload we impose on newcomers.

In the end, it’s in all our interests to bring everyone along on the journey and put some distance between Agile and JFDI. But the next time you’re explaining to Customer Support about their request needing to be estimated using fibonacci-based points poker to work out velocity for the backlog, just take a deep breath and maybe go over it again.