0% found this document useful (0 votes)
26 views14 pages

XP Framework

Uploaded by

rrlovey19pandey
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
26 views14 pages

XP Framework

Uploaded by

rrlovey19pandey
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 14

Agile Software Development

Topic: XP Framework

Dr. Nikhil Govil


Associate Professor, Program Coordinator – B.Tech. (CSE), Dept. of CEA
Extreme Programming (XP)
• Extreme Programming (XP) is an Agile software development
framework that aims to produce higher quality software.

• XP is a lightweight, efficient, low-risk, flexible, predictable,


scientific, & fun way to develop a software.

• XP was developed by Kent Beck in 1990s to address the specific


needs of software development by small teams in the face of vague
& changing requirements.

• It advocates frequent "releases" in short development cycles.


Values of Extreme Programming
XP has simple rules that are based on 5 values:

• Communication

• Simplicity

• Feedback

• Respect &

• Courage
Principles of Extreme Programming
XP is based on following 5 principles:

• Rapid feedback

• Assumed simplicity

• Incremental changes

• Embracing change &

• Quality work
Extreme Programming Practices
Extreme programming has been described as having 12 practices,
grouped into four areas:

Fine-scale feedback
• Pair programming
• Planning game
• Test-driven development
• Whole team

Programmer welfare
• Sustainable pace
Extreme Programming Practices
Continuous process
• Continuous integration
• Refactoring or design improvement
• Small releases

Shared understanding
• Coding standards
• Collective code ownership
• Simple design
XP Practices: Fine Scale Feedback
Pair programming
This practice requires two programmers to work jointly on the same code. While
the first developer focuses on writing, the other one reviews code, suggests
improvements, and fixes mistakes along the way.
Planning game
This is a meeting that occurs at the beginning of an iteration cycle. The
development team and the customer get together to discuss and approve a product’s
features.
Test-driven development
XP teams practice test-driven development technique (TTD) that entails writing an
automated unit test before the code itself.
Whole team/On-site Customer
In XP, the end customer should fully participate in development.
XP Practices: Programmer Welfare /
Working Conditions
Sustainable Pace / Programmer’s work conditions

XP projects require developers to work fast, be efficient, and sustain the


product’s quality. In XP, the optimal number of work hours must not
exceed 45 hours a week.
XP Practices: Continuous Process
Continuous Integration
XP practitioners understand the importance of communication. Programmers
discuss which parts of the code can be re-used or shared.

Refactoring or design improvement / Code Refactoring


The goal of this technique is to continuously improve code. Refactoring is about
removing redundancy, eliminating unnecessary functions, increasing code
coherency, and at the same time decoupling elements.

Small Releases
This practice suggests releasing the first version quickly and further developing the
product by making small and incremental updates.
XP Practices: Shared Understanding

Coding Standards
A team must have common sets of coding practices, using the same formats and
styles for code writing.
Collective Code Ownership
This practice declares a whole team’s responsibility for the design of a system.
Each team member can review and update code.
Simple Design
The best design for software is the simplest one that works. If any complexity is
found, it should be removed.
Extreme Programming Framework
When to use XP
XP framework can be applied in following cases:

• Highly adaptive development,

• Risky projects,

• Small teams,

• Automated testing,

• Active customer participation, etc.


References

• Ken Schawber & Mike Beedle, Agile Software Development


with Scrum, Pearson, 2008.
• Robert C. Martin, Agile Software Development, Principles,
Patterns and Practices, Prentice Hall,2002.
• Lisa Crispin & Janet Gregory, Agile Testing: A Practical Guide
for Testers and Agile Teams, Addison Wesley, 2008.
• Alistair Cockburn, Agile Software Development: The
Cooperative Game, Addison Wesley, 2006.

You might also like