As Agile Memes Spread, Does Software Development Improve?
Kruchten claimed that Agility is a collection of ideas that replicate easily:
The 50 or so memes that constitute the core of agility are interconnected and support each other, something that the creators of XP had noted and emphasized for their small subset of the agile memeplex. Agile teams (and agile user groups and consultancies) have proven to be an effective means of replicating, evolving, and spreading agility memes in the agile memeplex.Unfortunately, these Agile memes have been taken out of context. This means that many of these ideas have been taken to be universal – applicable in any context. This led to project failures and Agile adoption being harmful to organizations:
Sometimes we see an explicit dismissal of the context as not relevant, and the vehicle makes claims—explicitly or implicitly—of some form of universality of the idea. For example, a short meme such as “iteration must be three weeks long” is meaningless without an explicit context (what if my project is only three weeks long and has three people?). Other favorites are “no BUFD” (big upfront design) or “YAGNI” (you aren’t going to need it). They all had some value in a given context, but far too often have lost this context on their way through multiple replications. I have seen this attitude lead to massive agile project failures when some focus of software architecture, not producing anything immediately of value for end users, was systematically dismissed by the local agilistas until they hit a wall (i.e., a point beyond which they could not progress without some rather massive refactoring that would not fit inside a sprint or two).Kruchten called this form of Agile adoption – using Agile practices out of context – Agilitis. The cure for Agilitis is context and getting away from the belief that every practice and every idea is beneficial for every project. Are you and your team possibly suffering from Agilitis?
Context is king.
Context is another way of saying "it depends." For instance, "Should I use technology A or B?" "It depends."
My point is that any meme, agile or otherwise, when taken out of context is useless and potentially detrimental.
Context of PK
just ran for the dictionary..
If you say any ordinary word enough times it becomes meaningless...go ahead, try it with "context". Try it with "door": "door" "door" "door" "door"...how many times does it take?
"iterate" "iterate" "iterate" "iterate"... "lunch" "lunch" "lunch"
"we're late" "late" "late" "late" "behind schedule" "schedule" "schedule" "schedule"
RUPitis and agilitis
For any rule, there are exceptions
The people who taught Agile mentioned the best practices, but they focused more on how Agile drives success through fostering increased transparency and visibility and the tracking of data. To me, the main point of Agile is to increase communication within the development team and increase communication between the development team and other project stakeholders. This is accomplished through principles like frequent short meetings (standups), frequent ritualized evaluation of work effort and project status (iterations/sprints/burndown charts/etc), and frequent priority checks with the business stakeholders (product owners prioritizing backlogs/focusing on producing tangible artifacts early).
And I don't really think those concepts need a context.
Re: For any rule, there are exceptions
Agile drives success through fostering increased transparency and visibility and the tracking of data... And I don't really think those concepts need a context.I beg to differ. From experience, I know how threatening this kind of shift can seem... and since what people perceive IS their reality, the more information (context) we can wrap around what we do, the better!
Craig Motlin Sep 01, 2014