Extreme Programming (XP)

Source: http://en.wikipedia.org/wiki/Extreme_Programming#Practices

Extreme Programming (or XP) is a software engineering methodology (and a form of agile software development)[1][2][3] prescribing a set of daily stakeholder practices that embody and encourage particular XP values (below). Proponents believe that exercising these practices—traditional software engineering practices taken to so-called "extreme" levels—leads to a development process that is more responsive to customer needs ("agile") than traditional methods, while creating software of better quality.[2][3][4]

Proponents of Extreme Programming and agile methodologies in general regard ongoing changes to requirements as a natural, inescapable and desirable aspect of software development projects; they believe that adaptability to changing requirements at any point during the project life is a more realistic and better approach than attempting to define all requirements at the beginning of a project and then expending effort to control changes to the requirements.

Fine scale feedback

Pair programming
Planning game
Test driven development
Whole team

Continuous process

Continuous integration
Refactoring or design improvement
Small releases

Shared understanding

Coding standards
Collective code ownership
Simple design
System metaphor

Programmer welfare

Sustainable pace

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License