Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News As Agile Memes Spread, Does Software Development Improve?

As Agile Memes Spread, Does Software Development Improve?

Philippe Kruchten, in Voyage in the Agile Memeplex: in the world of agile development, context is key (html, pdf) reflected upon the culture of Agility.  He used the concept of a meme, a replicating chunk of culture, to describe different Agile ideas/practices and suggested that the culture of Agility is a collection of memes – a memeplex.  Kruchten claimed the Agility culture is very adept at spreading regardless of whether it helps an organization or not.  

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?

Rate this Article