extreme programming (xp)
TRANSCRIPT
Extreme Programming (XP)
Dr. Davut Çulha
XP Life Cycle
• Planning
• Design
• Coding
• Testing
XP Planning
• User stories are created.
• Story points are given to the user stories.
• Important user stories are selected for a release.
• The release is planned.
• A commitment is made on delivery date.
• Project velocity is determined. The end of the project is predicted using the velocity.
XP Design
• Usage of CRC cards are encouraged.
• Spike solutions can be applied.
– Spike solution: a design prototype
• Refactoring is used.
• Simplicity is essential. Simple design is applied.
XP Coding
• Unit tests should be coded.
• Pair programming is encouraged.
• Collective ownership is applied.
• Refactoring is used.
XP Testing
• Continuous integration is realized.
• Unit tests are executed frequently.
• Acceptance tests are done by customer.
XP Practices
• The Planning Game• Small Releases• System Metaphor• Simple Design• Refactoring• Testing• Pair Programming• Collective Ownership• Continuous Integration• 40-hour week• On-site-Customer• Coding Standards
Values and Principles
• The philosophy of XP should be understood clearly for the success of the project.
• Important values and principles are:
– Communication
– Simplicity
– Feedback
– Courage
– Quality work
Contributions of XP
• Adaptation
• Teamwork and collaboration
• Communication among all stakeholders, especially between customers and developers
• A set of 12 practices
• Values and principles