32

I read few articles on web to find out how Agile, XP, Scrum, pair programming are different from each other / related to each other and I derived the following line:

  1. Scrum and XP are almost same. XP has shorter period of releases than Scrum
  2. Pair programming is employed in both Agile and XP methodologies

But I was unable to identify how Agile is different from XP.

More than providing a URL, I would be happy to read your experience and thoughts on this.

6 Answers 6

57

You are confusing the issue. Being agile means that you are following a bunch of values and practices from the agile manifesto. Thats it.

XP and Scrum are development processes that follows those values. Both are "just as agile". The big difference between Scrum and XP is that Scrum does not contain practices specifically for programming, whereas XP has lots of them (TDD, continuous integration, pair programming).

2
  • 2
    +1 XP, Scrum extends Agile.
    – Michael K
    Nov 9, 2010 at 14:28
  • 9
    +1 for "scrum does not contain practices specifically for programming"; this is absolutely correct and should be emphasized a lot more. Put another way, Scrum is a project-management methodology, not a software-development methodology. Scrum is often used with an Agile method, but it doesn't have to be. Nov 9, 2010 at 19:03
18

Agile is the generic term for the methodology.

XP and Scrum are the specific names for different implementations of that methodology.

The Wikipedia pages are probably good starting points for further reading- check the "References" and "Further Reading" sections at the bottom of each page, but you should look into each and other implementations further before deciding on the one that works for you, or (as others have pointed out) the bits of each implementation that work for you.

5
  • So Xp is part of Agile with Scrum as it's sibling ? How Xp and Scrum are different? Number of days is the only difference between them?
    – Gopi
    Nov 9, 2010 at 9:46
  • 2
    XP is more prescriptive in what you need to do (e.g. it specifies unit testing, pair programming, etc) than Scrum. Scrum focuses more on what the team as a whole does but doesn't say anything about technical practices (the weak part of scrum when applied to software IMHO). As a result a lot of people see them as complementary methodologies rather than being in conflict.
    – FinnNk
    Nov 9, 2010 at 11:26
  • 1
    +1, a lot of people are very uncomfortable with pair programming. Additionally, if you can't incorporate the intent of a development methodology into what you have existing (without drastic changes that upset people), something is very wrong. I keep seeing people who see directions, but not the intent behind them and I continue to get very frustrated when seeing questions like this.
    – Tim Post
    Nov 9, 2010 at 11:56
  • 1
    +1: this is a pretty good answer. But I have to disagree with the statement about Wikipedia. I think the original poster shows a lot of confusion and relying on googling and Wikipedia is one of the reasons why we have such lack of clarity in the first place. The names of modern Agile experts are well-known; I'd recommend reading their blogs and books instead.
    – azheglov
    Nov 9, 2010 at 12:38
  • @azheglov - I see what you mean. I've clarified what I meant about using the Wikipedia pages. The References and Further reading sections are what you should be looking at.
    – ChrisF
    Nov 9, 2010 at 12:42
7

How do you fry chicken?

That is a serious question. How do you collect the intent of other people's work into something that works for you?

I see so many questions not only here, but on SO that ask "Should I use x, y or Z?" while little attention is actually given to how a drastic change might effect a team, or (worse) the effect of someone trying something without fully understanding how it works. When it comes to development methodology, you don't understand it until you have used it successfully, otherwise you are just following blind advice.

Every time I see "Would scrum work for me?" I ask "I don't know, have you tried it?"

Don't read these things like they come from some sort of spiritual scripture. Take what works for you, try it and if it works implement the parts that worked. This is no different from taking the best of what libfoo and libbar do and making something that fills your need.

At what point did someone say "Follow, to the letter this method or be damned for life" ?

The best method is your best adaptation of published and original wisdom that works for you.

1
  • Well said answer, though it doesn't answer the question. The poster didn't even say he was thinking about using them. Jan 2, 2014 at 10:15
5

Agile is a class of software-development methodology, of which XP is one instance

Scrum is a project-management methodology, not a software-development methodology. While it is common to use an Agile development methodology with Scrum, it is not a requirement. They are not the same thing.

0
0

Practically many organisations do not follow a specific methodology 100% like XP or Scrum as they are laid down. Specially if they have just started to follow Agile principles. They may pick and choose certain aspects of any given methodology like Scrum that falls within the Agile bandwagon. Agile is more abstract and it is easier to say that rather than saying we do XP or Scrum.

0

Both XP and Scrum are software development methodologies under agile software methodology, they are part of the family of agile process models, others includes; Crystal, Feature driven development etc.

Follow the link below for further clarifications on their differences.

http://www.mypmhome.com/scrum-vs-extreme-programming-xp/

Not the answer you're looking for? Browse other questions tagged or ask your own question.