extreme_programming
Obsah
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
