Win a copy of The Java Performance Companion this week in the Performance forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

What is XP?

 
Marilyn de Queiroz
Sheriff
Posts: 9065
12
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
How is XP different from main stream programming? Why did they name it XP?
Marilyn
 
Michael Finney
Ranch Hand
Posts: 508
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I thought this explained it well.
Extreme Programming Explained
Kent Beck http://www.awl.com/cseng/titles/0-201-61641-6

The " two programmers at one screen " part is interesting.
------------------
Michael Finney
Sun Certified Programmer for the Java 2 Platform
 
Marilyn de Queiroz
Sheriff
Posts: 9065
12
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
OK, so basically the group starts with a very small and restricted program, puts it out to see how people want to use it and then makes additions as the market calls for them? I know a building modified that way. It's not very unified.
It's nice that all the programmers are involved in all aspects of the architecture tho.
Marilyn
 
Frank Carver
Sheriff
Posts: 6920
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The key to XP is that it is not just any one of the key ingredients (unit testing, pair-programming, refactoring, planning game and so on.) or even any subset. XP is a combination of all these practices, and the evangelists claim that the result is greater than the sum of the parts.
In the example you give about the building, the stage which was missed was that of refactoring. If, before and after every alteration to the building, it had somehow been reorganized into its "best" form for its purposes, it would be a quite different building. Refactoring is hard to do in non-software projects, which is why "Big Design Up Front" engineering has evolved as the dominant form. Software is not like that, though. It's infinitaly changeable, at any time, so a mature software development process should be very different from a development process for physical things.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic