Search code examples
agileextreme-programming

What is extreme programming and when it is using?


I am new to programming and I try to research as much as possible in this field. And once I came across to this expression: "Extreme and pair programming". Pair programming is an easy term, and I found quite clear documentation about this. But extreme programming... I found some articles about it, but explanation wasn't so well. All I understood that extreme programming is an Agile development framework. But why I must use that, what is difference between this and another types of programming styles?

Can anyone explain me what is extreme programming language very clearly?


Solution

  • Extreme programming (often called XP) is an agile framework that was developed by Kent Beck in the 1990's.

    There aren't too many people that use the whole XP framework these days, but a lot of the engineering practices it popularised are very common.

    Examples include:

    • Pair programming
    • Test driven development
    • Continuous integration
    • Frequent releases
    • Constant refactoring

    XP favours an approach of writing the minimum amount of code to solve the problem at hand. Things like optimisation and forward planning are generally a low priority. This is the 'extreme' part of extreme programming.

    The idea is that you write code to solve the current requirement. If you then find you need the code to be faster, or scaleable, etc. then you refactor it.