Uživatelské nástroje

Nástroje pro tento web


extreme_programming

Extreme Programming (XP)

Extreme Programming (zkráceně XP) je agilní metodika vývoje softwaru, která klade důraz na vysokou kvalitu kódu, rychlou odezvu na měnící se požadavky zákazníků a kontinuální spolupráci mezi vývojáři a zákazníkem. XP byla formulována koncem 90. let 20. století jako reakce na neefektivní, příliš byrokratické přístupy k vývoji (např. klasický vodopádový model).

Základní principy XP

XP je založeno na pěti klíčových hodnotách:

  Komunikace – tým komunikuje často a otevřeně, včetně pravidelné interakce se zákazníkem.
  Jednoduchost – řešení by mělo být co nejjednodušší možné a zároveň splňovat aktuální požadavky.
  Zpětná vazba – získává se prostřednictvím testů, kódových revizí a pravidelných demonstrací fungujícího softwaru.
  Odvaha – vývojáři se nebojí provádět refaktoring, odmítnout špatné požadavky nebo komunikovat obtíže.
  Respekt – členové týmu si navzájem váží a spolupracují konstruktivně.

Klíčové praktiky XP

XP definuje řadu konkrétních praktik, které podporují jeho hodnoty:

  Párkové programování (Pair Programming) – dva vývojáři pracují společně na jednom počítači; jeden píše kód, druhý ho okamžitě kontroluje.
  Testování první (Test-Driven Development, TTD) – nejprve se napíší automatizované testy, poté teprve kód, který tyto testy splní.
  Průběžný integrační proces (Continuous Integration) – kód se integruje do hlavní větve několikrát denně a automaticky testuje.
  Refaktoring – průběžné zlepšování struktury kódu bez změny jeho funkcionality.
  Malé vydání (Small Releases) – software se dodává často a v malých, funkčních částech.
  Plánovací hry (Planning Game) – společné plánování s vlastníkem produktu (zákazníkem), který určuje priority funkcí.
  Metaphor (architektonická metafora) – jednoduchý, sdílený model systému, který pomáhá týmu porozumět architektuře.
  40hodinový pracovní týden – XP odmítá vyhoření; doporučuje udržitelný pracovní temp.

Výhody XP

  Vysoká adaptabilita na měnící se požadavky.
  Vysoká kvalita kódu díky testování a refaktoringu.
  Lepší komunikace a vztah se zákazníkem.
  Snížení rizika selhání projektu díky častým dodávkám.

Omezení a kritika

  Náročné na disciplínu a zkušenosti týmu.
  Může být náročné implementovat v rozsáhlých nebo distribuovaných týmech.
  Vyžaduje aktivní a dostupného zákazníka – což není vždy realistické.

Související témata

  [[Agilní metodiky]]
  [[Scrum]]
  [[Test-Driven Development]]
  [[DevOps]]

Literatura

  Kent Beck: Extreme Programming Explained: Embrace Change, 2nd Edition, Addison-Wesley, 2004.
  Ron Jeffries, Ann Anderson, Chet Hendrickson: Extreme Programming Installed, Addison-Wesley, 2001.
extreme_programming.txt · Poslední úprava: autor: admin