Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I like XP (extreme programming) especially the part where there are 2 programmers at the same screen since often a problem's solution gets closer if only you explain what you're doing and pair programming forces you to explain what your doing.

Last 10 years or so, the XP style of working seems to have gone out of date in favor of the working methodologies Agile and/or Kanban. Why? Since XP to me seems a veru good way to work and is a lot about the programming where Agile and Kanban are more about processes.

share|improve this question
XP is an agile approach. So "Agile" can't really replace XP. – Joachim Sauer Oct 9 '12 at 6:44
I was about to post an answer, when I noticed Volker's is saying pretty much the same. Agile processes are by nature adaptive, there's no such thing as "perfect/pure" Kanban, Scrum, XP, it's more of a mix and match thing. XP, in that sense, it's still going strong, given that several of the concepts it introduced were adopted by almost all other approaches. – Yannis Oct 9 '12 at 7:08
There's an interesting list of criticisms on XP on Wikipedia, but if you scan through it, most of it applies to Agile in general. – Yannis Oct 9 '12 at 7:08
Thank you for the comments. – Programmer 400 Oct 9 '12 at 7:48
up vote 11 down vote accepted

There's a lot of different styles, methods and mindsets related to the whole field development, and everything has it's own, shiny name.

Agile is just a mindset that moves away from the usual, static programming models (like waterfalls) - it's primary goal is to achieve more flexible development and (at the very end) better software and happy customers. Below agile, there are a lot of different models like Scrum, Kanban, XP.

Especially Kanban doesn't come from software development originally, it originates in building cars (i remind Toyota introduced it for building cars and some software developers adopted and expanded it)

Pair programming, code reviews and such stuff are just tools - you can (and should) always do it during a project, regardless which method you use. It's just that this stuff is more native to agile than to static.

XP more or less introduced these things (or at least gave them a shiny name) and all the following stuff adopted them because it simply worked out good.

share|improve this answer
As @refro too mentioned, Scrum and Kanban don't include pair programming or code reviews (but neither do they exclude these). Both are more of a project management methodology than a software development process. And as such, they are applicable to a wide range of fields outside software development. Whereas XP is specifically a software development approach. These can coexist - you can manage your XP team in the Scrum way. – Péter Török Oct 9 '12 at 7:13
Thanks for the answer. – Programmer 400 Oct 9 '12 at 7:48

In my view XP are programming practices, Scrum and kanban are project management practices. They have a relation by do not replace each other.

In our kanban project we use pair programming (mostly for complex sections and debugging), TDD, CI. So it is still used but management is pushing the project management side harder.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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