| WebSeitz/wikilog |
| Extreme Programming |
|
| last edited by BillSeitz on Mar 8, 2008 10:37 pm |
"Software Development with all the dials turned up to 10 (or 11)".
http://www.extremeprogramming.org/
Largely credited to Kent Beck, Ron Jeffries, and Ward Cunningham
WikiWikiWeb:ExtremeProgramming, WikiWikiWeb:ExtremeProgrammingRoadmap
One of the assumptions behind [XP] is that "recent" development technology changes (e.g. OOP) have made the cost of late-changes much lower than they used to be. Therefore there's less reason to have a complete Big Design Up Front. One area where this is a big question is in changing the design of a Relational Data Base.
Some key practices: Planning Game (WikiWikiWeb:PlanningGame), User Stories, Pair Programming (WikiWikiWeb:PairProgramming), Unit Test, Acceptance Test, Onsite Customer...
Scales of activity (it's possible this is semi-incomplete and inaccurate - the [XP] crowd changes terms sometimes, so you're never sure if you have the definitive source)
ReLease: theoretically could happen after every Iteration. But logistics of roll-out might make this impractical.
Iterat Ion: 2-6 calendar weeks of development (it's best to stick to a consistent frequency, that helps build project rhythm), delivering releaseable functionality. Each WikiWikiWeb:ReleasePlan is the outcome of a Planning Game. User Stories are the key input.
User Story: "chunk of functionality", deliverable; 1-3 man-weeks. During the Planning Game, the Business team (Onsite Customer) writes it, the Development team estimates the cost, Business rates the priority.
Engineering Task: 1-3 man-days each. During an [Iteration Planning Game] the programmers write tasks, sign up for them (commit to them), estimate them; the outcome is the [Iteration Plan]. A programmer works on a single task at a time until it is complete - no Multi Tasking.
| User Options Recent Changes Help Page |