 
Sharifullah “Durrani”
Software Engineering I
 XP is unique among the agile methods because it is
focused on software development, and it is not
presented as a project methodology.
 XP doesn't scale to teams larger than 10 or so, and it's
not well suited to virtual or dispersed teams.
• XP is presented as a series of principles that agile developers
should follow. These elements include the following:
1. Pair programming
• Pair programming is an agile software development technique in
which two programmers work together at one workstation.
• One, the driver, writes code while the other, the observer or
navigator, reviews each line of code as it is typed in.
• The two programmers switch roles frequently.
2. Testing:
• The vital difference between XP testing practices and traditional
practices is that XP insists that test cases for all features be
developed up front, with the stories.
3. Continuous Integration
4. Refactoring
 Continuous Integration (CI) is a development practice
that requires developers to integrate code into a shared
repository several times a day.
 XP practitioners prefer the continuous build, ensuring
compatibility and functionality continuously as the
product is created.
o Refactoring : is the process of modifying the
structure of your code without modifying its behavior.
o Refactoring is done to increase the cleanness,
flexibility, and extensibility of your code.
o Usually it is related to a specific improvement in your
design.
o You try to name everything as well as you
possibly can and to remove all duplication.
o Refactoring is the optimization of the internal code
and architecture of software, and it's a key element of
XP.

XP (Extreme programming) SE1

  • 1.
  • 2.
     XP isunique among the agile methods because it is focused on software development, and it is not presented as a project methodology.  XP doesn't scale to teams larger than 10 or so, and it's not well suited to virtual or dispersed teams.
  • 3.
    • XP ispresented as a series of principles that agile developers should follow. These elements include the following: 1. Pair programming • Pair programming is an agile software development technique in which two programmers work together at one workstation. • One, the driver, writes code while the other, the observer or navigator, reviews each line of code as it is typed in. • The two programmers switch roles frequently. 2. Testing: • The vital difference between XP testing practices and traditional practices is that XP insists that test cases for all features be developed up front, with the stories. 3. Continuous Integration 4. Refactoring
  • 4.
     Continuous Integration(CI) is a development practice that requires developers to integrate code into a shared repository several times a day.  XP practitioners prefer the continuous build, ensuring compatibility and functionality continuously as the product is created.
  • 5.
    o Refactoring :is the process of modifying the structure of your code without modifying its behavior. o Refactoring is done to increase the cleanness, flexibility, and extensibility of your code. o Usually it is related to a specific improvement in your design. o You try to name everything as well as you possibly can and to remove all duplication. o Refactoring is the optimization of the internal code and architecture of software, and it's a key element of XP.