InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

As Agile Memes Spread, Does Software Development Improve?

Posted by Amr Elssamadisy on Sep 11, 2007

Sections
Process & Practices
Topics
Adopting Agile ,
Agile
Tags
commentary
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?
  • This article is part of a featured topic series on Agile

Related Sponsor

In today’s hyper-competitive world, later may be too late to adopt Agile development and this Roadmap for Success will help you get started. Download "Agile Development: A Manager's Roadmap for Success" now!

Context is king. by David Chia Posted
Context of PK by mikhail franco Posted
just ran for the dictionary.. by Remember Objective Posted
RUPitis and agilitis by Steven Devijver Posted
For any rule, there are exceptions by Al Tenhundfeld Posted
Re: For any rule, there are exceptions by Deborah Hartmann Posted
  1. Back to top

    Context is king.

    by David Chia

    I've heard "Good job, genius" a few times in my life. On the surface, that sounds like a very flattering comment. Unfortunately, it was always said in sarcasm :-( Context is key.

    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.

  2. Back to top

    Context of PK

    by mikhail franco

    The real context is mentioned at the end of the article: Kruchten is the inventor of RUP, and as he says "some would claim RUP to be anti-agile". So at least "some" people know where he is coming from: the MDAMOFRUPUMLOMG memeplex of ir-Rational-ly over-priced IBM tools for BUFD and TDM (top-down management), even his '4+1 Architectural Views' model appears to have an overrun of 25% above the original estimate, and that's before any code is written.

    Mik

  3. Back to top

    just ran for the dictionary..

    by Remember Objective

    what is "context" now? meme? why don't you just say what you mean?

    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"

    tanstaafl

  4. Back to top

    RUPitis and agilitis

    by Steven Devijver

    I think there's both RUPitis and agilitis. The symptons are different but the causes the same: unsufficient understanding of the original propositions combined with talking-then-thinking.

  5. Back to top

    For any rule, there are exceptions

    by Al Tenhundfeld

    Yeah, context is important, but best practices are also very useful when learning a new methodology/technology. To evaluate whether a rule is appropriate to your context, you must understand the reasoning behind the rule.

    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.

  6. Back to top

    Re: For any rule, there are exceptions

    by Deborah Hartmann

    You wrote:

    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!

Educational Content

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.

Beauty Is in the Eye of the Beholder

Alex Papadimoulis discusses ugly code, where it comes from, how to avoid it, and how to get rid of it.

Architecting Visa for Massive Scale and Continuous Innovation

John Davies examines Visa’s architecture and shows how enterprises have architected complex integrations incorporating Hadoop, memcached, Ruby on Rails, and others to deliver innovative solutions.

Max Protect: Scalability and Caching at ESPN.com

Sean Comerford unveils ESPN.com’s architecture, what components are used and why, and the current changes the website goes through.

The Seven Deadly Sins of Enterprise Agile Adoption

Are there repeated patterns of failure on Enterprise Agile Enablement efforts? Sanjiv and Arlen discuss Seven Deadly Sins to avoid when adopting Agile in an enterprise.

Questions for an Enterprise Architect

Erik Dörnenburg answers: What is Enterprise and Evolutionary Architecture?, discussing 4 issues: Turning strategy into execution, Ensuring conformance, Where do the architects sit? Buying or building?

Wrap Your SQL Head Around Riak MapReduce

Sean Cribbs explains what Map-Reduce and Riak are, why and how to use Map-Reduce with Riak, and how to convert SQL queries into their Map-Reduce equivalents.