Extreme Programming (XP) on agiilne tarkvaraarendusmudel, mille eesmärk on tarnida kõrgekvaliteedilist tarkvara läbi kiire tagasiside, tiheda koostöö ja kohanemisvõime. XP keskendub iteratiivsele arendusele, lihtsusele ja pidevale testimisele. Arendusmeeskond, kliendid ja osapooled teevad koostööd, et tagada tarkvara vastavus muutuvatele nõudmistele.
Klient kirjeldab kasutajalugusid, mille põhjal määratakse prioriteedid ja ajakava.
Disainitakse ainult hetkel vajalikud osad, hoides lahendused lihtsad ja selged.
Kasutatakse paarisprogrammeerimist ja testpõhist arendust (TDD/test-driven development), kus kood ja testid integreeritakse pidevalt.
Pidevad ühik- ja aktsepteerimistestid tagavad tarkvara kvaliteedi ja kliendi nõuete täitmise.
Regulaarsed kliendikohtumised tagasiside kogumiseks ja muudatuste tegemiseks.
| XP arendusmudeli head | XP arendusmudeli vead |
| XP toetab hiliste muudatuste tegemist ja kiiret kohanemist. | Paarisprogrammeerimine ja pidev testimine nõuavad rohkem ressursse võrreldes traditsiooniliste meetoditega. |
| TDD ja pidev integreerimine aitavad vigu varakult leida ja kõrvaldada. | Ei pruugi hästi toimida suurtes või hajutatud meeskondades. |
| Paarisprogrammeerimine ja kliendi kaasatus suurendavad meeskonnatööd ja mõistmist. | Vajab kliendi tihedat kohalolekut, mis ei ole alati võimalik. |
Extreme Programming on efektiivne metoodika projektides, kus nõuded muutuvad sageli ja kvaliteet on prioriteet. Selle tugevused seisnevad paindlikkuses, koostöös ja pidevas kvaliteedikontrollis. Samas võib XP olla ressursimahukas ja sobimatu suurtes organisatsioonides. Tänu iteratiivsele lähenemisele ja lihtsuse rõhutamisele aitab XP tarnida väärtust kliendile kiiresti ja tõhusalt.