Welcome to the WikiWiki entry point for ExtremeProgramming (XP). '''Note''': This page assumes you have some familiarity with ExtremeProgramming and also WikiWiki. If you are brand new to XP and want to start with the basics, see the XpFaq. If you are brand new to WikiWiki and want to learn more, try Wiki's NewUserPages. This site has captured several years of Extreme Programming discussion and evolution. Use this roadmap to find your way to the most important pages in a logical order. You can always download a snapshot of these pages: http://xp.c2.com/html.zip Begin with some of the contextual overview pages: * WhosWritingAboutXp * ExtremeBenefits * ExtremeProgrammingInContext * ExtremeProgrammingSystem * ExtremeProcess * ExtremeRoles * ExtremeProgrammingSummary * ExtremeProgrammingCorePractices * ExtremeProgrammingArticles The glossary entry, or a ShortDefinitionOfXp. And this could be a candidate for the ExtremeProgrammingAnthem. 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; (mailing list: PairProgramming); * 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? * XpSimplicityRules * OnceAndOnlyOnce * ExtremeDocuments - we do documentation, sometimes differently * SupportCrisis - what to do until the doctor comes * IncrementalDelivery * LazyOptimization and EarlyProfiling * OpenWorkspace * UserStory - like use cases, but different * EngineeringTask - a UserStory gets broken down into these 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 * FewerWorkHours [important] Who's Who: * TheThreeExtremos Significant discussion and reference: * HistoryOfExtremeProgramming * MinimalMethodologies * JustInTimeProgramming * EconomicsOfXp * AnalyzingXpWithOptionsPricing * ExtremeArticle * StoryCards * http://sms.bucuo.net * CategoryAdoptingXp * XpGlossary * ExtremeContract Thoughtful inquiry and response: * XpConceptsInAcceptedMethodologies * IsExtremeProgrammingWacko * EdgeOfChaos * ThoughtfulReactionsToXp * DoesXpDoDesign * XpDoesDesign * DesignToolsForXp * DesignInXp * ExtremeProgrammingResearch * InterviewWithKent * CategoryXpCritique * ExtremeDeployment Applicability of ExtremeProgramming: * AdoptVsAdapt -- What is the right metaphor for moving to XP? * WhyIsXpSoHard -- Is XP hard? * ExtremeProgrammingBoundaryConditions * LargeExtremeProgramming * ExtremeProgrammingMayScaleUp * HundredPersonProject * XpAsTroubleDetector * ExtremeProgrammingChallenge -- Explores how extreme programming might work out of its native habitat * ExtremeProgrammingForOne * ExtremeAdaExperiment -- a lone programmer applies XP to Ada * AtsGoesExtreme -- Running diary of a small team's experience with ExtremeProgramming * ExtremeProgrammingWithVbClassic * ExtremeProgrammingWithPowerBuilder * TestDrivenProgramming -- using XP with C++ * ExtremeUnifiedProcess -- XP + RationalUnifiedProcess * ExtremeProgrammingWithAtgDynamo * LargeScaleIndividualSoftwareDevelopment -- Thoughts on applying the concepts of XP as the lone programmer on a large project * ExtremeProgrammingVariants * ExtremeProgrammingImplementationIssues * ExtremeProgrammingLimits * eXtremeProgrammingPeopleSoft -- a journal of applying XP to a new PeopleSoft project Get Trained in XP: * ExtremeHour -- In at the deep end with the world's shortest development project * HowYouWentExtreme -- & how to get over the initial shock * XpTrainingClasses -- A place for notices about XP Training * IronGeek -- Think you're extreme? Want a bet? Explore the limits of XP: * BeyondExtremeProgramming * ExtremeManagement * ExtremeProgrammingBoundaryConditions * WhenXpIsUnpopular * WhyXpIsPopular * ImprovingExtremeProgramming -- when and how elements are added to XP * MegaExtremeProgramming * TestsCantProveTheAbsenceOfBugs * ProofsCantProveTheAbsenceOfBugs * NameXp -- let's call it something else * ExtremeConversion -- successful conversion of a running 9-gig XP database * XpEvangelism * XpForManagers * ExtremeProgrammingVariants * XpCritique * Software Development Rhythms -- talk about how to combine agile software practices Misconceptions: * ExtremeProgrammingMisconceptions * PairProgrammingMisconceptions Curiosa: * ExtremeWay * ExtremeProgrammingMaster * ToAyoungExtremist -- A must-read for all visionaries * ExtremeNormalForm * MirandaPrize * ExtremeProgrammingTwelveStepProgram * ExtremeProgrammingAsJustaWayToStayBusy Themes: * YouArentGonnaNeedIt * TheSourceCodeIsTheDesign * ExtremeValues -- Simplicity, Feedback, Communication, Courage - everything we do comes from these * FourVariables -- Resources, Scope, Quality, Time - describe project status Examples: * Now take a look at ExtremeProgrammingProjects, or read about WhosWritingAboutXp * Also, see SuccessfulXpProjects XpConferences and talks: * OpenDayForManagersOnExtremeProgrammingAndAgileMethods 27 Sep 2004, Milan, Italy * BeneluxXpDay 21 Nov 2003, Breda, The Netherlands * LondonXpDay 28-29 Nov 2006, UK * XpTwoThousand, held in Cagliari, Italy * XpTwoThousandAndOne, held in Villasimius, Sardinia, Italy * XpTwoThousandAndTwo, held in Alghero, Sardinia, Italy, 26-29 May, 2002 * XpTwoThousandAndFour, held in Garmisch-Partenkirchen, Germany, 6-10 June, 2004 * XpTwoThousandAndFive, held in Sheffield, UK, 18-23 June, 2005 * XpTwoThousandAndSix, held in Oulu, Finland, June 17 - 22, 2006, * XpDaysBenuluxTwoThousandAndFive, held in Rotterdam, Netherlands 17-18 November, 2005 * XpDaysGermany, held in Karlsruhle, Germany 21-22 November, 2005 * XpUniverseTwoThousandOne, held in Raleigh, NC, 23-25 July, 2001 * XpUniverseTwoThousandTwo, held in Chicago, IL, 4-7 August, 2002 * XpAgileUniverseTwoThousandThree, held in New Orleans, LA, 10-13 August, 2003 * AgileDevelopmentConferenceTwoThousandFour, held in Salt Lake City, UT, June, 2004 * XpAgileUniverseOhFour, held in Calgary, CA, 15-18 August, 2004 * XpLundSweden, held in LundSweden * AgileDevelopersConference - September 9-10, 2002: Wellington, NZ. Some XP topics * AgileDevelopmentConferenceTwoThousandThree, Salt Lake City, UT, June, 2003 * AgileDevelopmentConferenceTwoThousandFour, Salt Lake City, UT, June, 2004 WikiWeb''''''s on XP: * http://www.xpsd.org - XP in Southern California * http://www.xpwdc.org - XP in Washington DC Other XP sites: * http://www.xprogramming.com hosted by RonJeffries * http://www.extremeprogramming.org hosted by DonWells * http://www.industrialxp.org -- A site about IndustrialExtremeProgramming (IXP), created by JoshuaKerievsky * http://www.xpdeveloper.net/ (for ExtremeTuesdayClub) hosted by TimMackinnon, PaulSimmons and OliBye * XpForumAtEgroupsDotCom started by FrankWestphal for the GermanXpCommunity * http://www.objectmentor.com Information about XpTrainingClasses * XpMailingList -- The mailing list that gave news:comp.object a much-needed break from all the XP threads * http://www.extremeprogramming.dk -- Danish XP site hosted by JorgenLarsen * http://www.frankwestphal.de (german) hosted by FrankWestphal * http://www.xp-france.net (french language) * http://oops.se/cgi-bin/wiki?ExtremProgrammering (in Swedish) hosted by SvanteAdermark, UrbanNilsson, MalteTancred, PeterLindberg, et al * http://www.xpexchange.net hosted by ManfredLange, Information on XP in English and German * http://www.hxp.it XP in Italian (Hacking eXtreme Programming) * http://www.tatvasoft.com Information on XP and programming in C++ and .net * http://www.ChaosEngineers.co.nz papers and presentations on XP in New Zealand * http://www.xplabs.com labs, papers, experiences, education, services and projects at XpLabs * http://www.extremeprogramming.it Extreme Programming in Italian * http://www.xprogramming.com.ua Extreme Programming in Ukraine * http://www.ime.usp.br/~xp Extreme Programming Laboratory Course at the University of São Paulo * http://agilcoop.incubadora.fapesp.br Agile Software Development Cooperative * http://www.bettersoftwaredevelopment.org - companion site for the Will Stott and James Newkirk book about using XP with Visual Studio Team System Extreme Programming in the News: XpInTheNews * http://www.methodsandtools.com Free newsletter with articles on Extreme Programming Communities and User Groups: * CategoryXpUsersGroup XP user groups in the US and around the world * XpCommunity in different countries * http://groups.yahoo.com/group/ExtremeProgrammingIndia Probably India's first Extreme Programming group * http://timestream.net/learningxp/ A small side-project in Portland, Oregon doing XP in VB/VBA and MS Access * http://groups.yahoo.com/group/XPTurkiye/ Turkey Extreme Programming Group Companies and People * PeopleDoingXp * CompaniesDoingXp ---- Specific practices that are '''*NOT*''' part of XP (some of which are not necessarily bad things): * ExtremeReviews * LiterateProgramming * ExtremeCatalysis * BigDesignUpFront * BigBangTesting * ArmCl * ExtremeProgrammingMyths * CuteProgramming ----- Site title search: [Search] ---- CategoryExtremeProgramming CategoryRoadMap