Skip to content

Extreme Programming

September 13, 2007 by Artem Marchenko

This page is not static. Links are added to it whenever a referenced topic is published

Extreme Programming often referred to as XP is probably the most known agile software development method. It is often considered being just a catalog of good practices exploited to the "extreme" level. However, extreme programming adepts often define the method not in terms of concrete practices, but rather in terms of permanent change guided by five values, fourteen principles and a number of practices known to be good in implementing these values and principles.

XP Values: Communication, Simplicity, Feedback, Courage, Respect.

XP Principles: Humanity, Economics, Mutual benefit, Self-similarity, Improvement, Diversity, Reflection, Flow, Opportunity, Redundancy, Failure, Quality, Baby steps, Accepted responsibility.

XP Primary Practices: Sit Together, Whole Team, Informative Workspace, Energized Work, Pair Programming, Stories, Weekly Cycle, Quarterly Cycle, Slack, Ten-Minute Build, Continuous Integration, Test-First Programming, Incremental Design

XP Corollary Practices: Real Customer Involvement, Incremental Deployment, Team Continuity, Shrinking Teams, Root Cause Analysis, Shared Code, Code and Tests, Single Code Base, Daily Deployment, Negotiated Scope Contract, Pay-per-use

It is indeed so that in many software development teams the change guided by these values and principles are effectively translated into getting into use more XP traditional practices such as Pair programming, Test driven development, Continuous integration or Small releases. Still it would be against the principle of Incremental change and value of Simplicity to try adopting many practices by the team new to agile methods - the team would be overwhelmed and practices would have little chance to become useful.

Further Links


Your experience

Which other "general" starting points would you recommend for learning about XP?

About the Author: As the Editor-in-Chief for AgileSoftwareDevelopment.com, Artem is charged with overseeing the direction for content, advertising, and the overall management of the site. Nowadays in his day life, Artem is a product manager in a global telecommunication company where he leads the development of a product developed in extremely distributed environment. Artem has been applying Agile and researching Agile since 2005. Contact Artem

Comments

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <b> <i> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img> <br> <blockquote>
  • Lines and paragraphs break automatically.
  • Web page addresses and e-mail addresses turn into links automatically.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>. Beside the tag style "<foo>" it is also possible to use "[foo]".

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters (without spaces) shown in the image.

Best of AgileSoftwareDevelopment.com