XP (eXtrem Programming)

XP is an agile development methodology that is more and more considered as the de-facto standard. It is defined by a list of strict rules listed below:

Design

  • Simple
  • Frequent refactoring

Coding

  • Using standards
  • Code unit tests first (test-driven development)
  • Using Pair programming
  • One integration at a time
  • Frequent integrations
  • Use proven technologies
  • Maximum collaboration and communication
  • Open space is a privileged environment
  • Testing and cleaning regularly the code

Testing

  • All code must have unit tests such as CUnit, CppUnit, JUnit or NUnit) (see the tools page)
  • All code must pass the unit tests before releasing
  • A non-regression test suite must be built
  • A user-Acceptance test suite following customer's high-level requirements must be built


The 4 main differences of XP as opposed to heavy-weight methodologies are:
XPRegular Methodology
Individuals/InteractionProcess
Working softwareComprehensive documentation
Customer collaborationContract negociation
Responding to changeFollowing a plan


Links

http://agilemanifesto.org