It is sometimes heard that Extreme Programming (XP) is too extreme or, rather, too rigid... Some people have understood the message as being: "If you aren't doing it all, you're stupid."

What might be another problem with the perception of the name of XP is that I think that the extreme is often extremely expensive. It often happens that there is a pretty low return on investment on the last few percent (ouch, now when I talk about ROI people will think I'm heading for a career in management - not!).

I do like XP, but I actually don't see it as anything very extreme... it's pretty much common sense. Anyway, I thought that perhaps a better name might be in order. After all, names are extremely, hmm, important. At the workshop in Cortina earlier this year I tried out a new name. What do you think about 'Lagom Programming'? Lagom is a Swedish word for balance, not too much and not too little, just right, harmony. It's often said that this word only exists in Swedish, but I don't know that for sure.

In fact, lagom is also considered pretty boring by a lot of people in Sweden. Saying that, it was catchy enough for Charles Simonyi to remember the term and repeat it a few hours later at the workshop.

:-)

As I write, I'm at Expo-C and I'm hearing interesting stuff from interesting guys, some of it closely related to 'lagom'. Here are a few examples:

  • Dan North: "I play my 'enough' card." And "Somewhere in between is probably very good..."
  • Erik Meijer: "The answer is often somewhere in the middle."
  • Michael Stal: "Simple, but not too simple."

I guess the start of this post was a bit too focused on XP. What I should probably talk about is something like the Lagom Process (tm). It's probably influenced by Agile, but it's built up of the pieces that together form a mix that is lagom for the team and project at hand. That's it.