Scrum, XP, Lean … Who Are All These People?

The Agile movement *) has a lot of buzzwords. Keeping track of them, and knowing what is what is not always that simple.


Questions you might ponder may include

  • What is the difference between Scrum and XP?
  • Why are some using Scrum and some XP, and why are some using both?
  • What does XP have that Scrum is missing?
  • And, to add to the confusion, what is Lean?
  • Is Lean agile? Are all agile? What the hey?

Shortest possible explanation

They are all agile, and cover most of the same principles.

A little longer explanation

Scrum is more managerially focused, XP has more technical practices incorporated into it. You need the technical practices to make Scrum work properly, and thus many tend to use both even though they overlap significantly.

Lean seems to be the “next thing”, and it is probably because the Poppendiecks has been more wholistic in their approach to agile than has Scrum or XP. In my opinion their principles and practices covers better all the aspects of true agile software development.

What do we do at Aptoma?

We call it Scrum even though we cover the technical practices of XP as well. However, we will never admit to doing Extreme Programming due to its silly, silly name. (“Extreme” wouuu). There is absolutely nothing extreme or remarkable about agile. It’s just down to earth Common Sense Results Focused Tight Development)  I’ll rather admit to being a Scrum based or Lean software development organization any day.

Lean = The XP + Scrum combination, better explained and without the silly naming.

Even more information

I’m not going to go more into it, but you can read more at Martin Fowler’s blog (one of the agile manifesto signatories). His post on Scrum made me realize that more people should be introduced to the relation between the agile processes, and thus I wrote this post.

Don’t get hung up on whether you want to use Scrum, XP or Lean, but be sure to develop both good managerial and technical practices based on Agile principles. We been studying all these processes, and we seem to have implemented something, and learned a lot from all of them — none of which seems to conflict with each other.

Some links

  • *) Agile manifesto – Agile is a set of software development methodologies (such as XP and Scrum) that put emphasis on having a process with frequent inspection and adaptation in a process where change late in the development process is cheap and expected. This is in opposition to the “old” way of doing (or naïvely believing you could do) deterministic scope and planning in details up front.
  • Lean Software Development — the process with recumbent bikes on the book-covers
  • Extreme Programming — the meaningful process with the silly name.
  • Scrum – our own introduction (bliki format) and Mike Cohn’s mountaingoat resources.

Good luck.

PS. Next week we’ll talk about prioritizing your product backlog, which is a follow up from the recent post on user stories. Hang on to the RSS to be notified upon its release.