Before you get to the programming, you should do some ExtremePlanning. But don't get carried away with the concept. It isn't the right solution for everything. Also, KentBeck has sort of a checklist to help you know, AreYouDoingXp? The DrivingMetaphor and OneHandOnTheYoke set out the paradigm. Specific ExtremeProgramming practices: * DoTheSimplestThingThatCouldPossiblyWork encourages us not to over (or under)-engineer; * AskTheCode because it knows; CodeSmell''''''s if it has a problem; ListenToTheCode; * UnitTest''''''s ensure that we don't break one another's code; * AcceptanceTest''''''s tell us how we're progressing against user needs; * An OnsiteCustomer to make sure we build business value; * ContinuousIntegration helps avoid IntegrationHell; * ContinuousIntegrationRelentlessTesting ditto; * RefactorMercilessly keeps the code clean and speeds progress; * and see also WikiPagesAboutRefactoring; * PairProgramming gives higher quality, great cross-training, and higher speed; * SpikeSolution helps explore the area we're working on; * ModelFirst plus SpartanUserInterface helps us concentrate on real customer value. * ExtremePlanning suggests quickly building a map of the whole imagined system and incrementally refining it * The PlanningGame formalizes the rituals and roles of planning * CountDownToRelease discusses how to use the ExtremePlanning practices when you're getting close to release. * ExtremeReuse - adopting third party software and making it XP-compatible by building tests * TossIt - making projects trim and keeping projects trim. * SystemMetaphor - how we communicate the system to ourselves and others. * XpDesign - who does the design in an XP project, and when? * ExtremeDocuments - we do documentation, sometimes differently. * SupportCrisis - what to do until the doctor comes. * IncrementalDelivery * LazyOptimization Results in... * IterativeDevelopment - tends to be a natural result of ContinuousIntegration and ContinuousIntegrationRelentlessTesting and DoTheSimplestThingThatCouldPossiblyWork at each iteration. * DynamicDesign - from RefactorMercilessly and short Code-Compile-Debug cycle. [ Note: DontRefactorMe -> This was duplicated here from the overview page. I think this text serves a purpose there, but I really want a page I can point people to that has only this austere and simple description of XP with entry points for each practice. In particular, I wanted to point my manager to just this text, before he had to face the rather large roadmap page. -- JeffBay ]