Extrémní programování naposledy: vztah k internetovým projektům

Dnešní článek se naposledy vrací ke kontroverznímu Extrémnímu programování. Podíváme se, je-li tato metodika použitelná pro vývoj internetových projektů a rozebereme odlišnosti a modifikace, které tato třída aplikací při XP vyžaduje. V závěru článku najdete výčet dalších informačních zdrojů, na nichž se můžete o XP dozvědět více.
Článek zveřejněný na Živě před týdnem popsal dosud neuvedené rysy Extrémního programování, předvedl obecný příklad jednoho cyklu a pokusil se shrnout výhody i nevýhody této metodologie. V závěru nastolil otázku, zda je XP využitelné i v českých podmínkách: tyto úvahy vyvolaly bouřlivou diskusi, v níž zazněla řada velmi cenných a zajímavých názorů.

Dnešní článek se vrací k extrémnímu programování prozatím naposledy. Protože jednou z velmi rozsáhlých skupin softwarových projektů (především v dnešní době) jsou internetové aplikace, pokusím se shrnout vhodnost a specifika Extrémního programování právě pro vývoj této třídy softwarových produktů.

Vztah Extrémního programování k internetovým projektům

Jak jsme si uvedli v předchozích článcích, XP je primárně (a takřka výhradně) určeno pro malé týmy – přibližně do deseti členů. Pokud je sestaven tým zhruba této velikosti, pak je pro vývoj internetových aplikací XP dobře použitelné a poměrně vhodné. Vzhledem k tomu, že slibuje flexibilní, co možná nejefektivnější a rychlý vývoj verzí softwaru, značně koreluje s požadavky kladenými na internetové projekty.

U malých projektů obecně lze očekávat, že architektura, kterou v úvodu projektu tým zvolí bez hlubokých a dlouhotrvajících analýz, bude správná a použitelná, navíc ani v opačném případě nebudou náklady na změnu, nový návrh, refaktorizaci a případné přepsání klíčových částí projektu příliš vysoké.

U internetových projektů, u nichž víc než kde jinde záleží na včasném dodání, je filozofie okamžitého zahájení implementace v přímém souladu s potřebami týmu a zákazníka.

Jedním z projevů pozornosti, které se XP dostává, je množství knih a dalších informačních zdrojů, které o různých aspektech XP pojednávají. V knize Douga Wallace „Extreme Programming for Web Project“, která vyšla v prestižním bostonském nakladatelství Addison-Wesley v roce 2002, je podrobně analyzován vztah XP a webových projektů. Při vývoji internetových aplikací je nutné provádět trochu jiné činnosti než při práci na klasické aplikaci. Modifikovat složení typického XP vývojového týmu není neřešitelné ani příliš obtížné. Je však nutné přeformulovat jednu ze zásad XP, která praví, že členové týmu nemusí být (neměli by být) příliš specializovaní; u internetových aplikací je určitá míra specializace nevyhnutelná.

V následujícím přehledu jsou uvedeny pouze role, které jsou nové, případně se zásadně liší od klasického XP (viz předchozí článek) :

  • Stratég (Strategist): osoba spolupracující se zákazníky. Vzhledem k tomu, že zákazník typicky nemá žádnou zkušenost s XP (a mnohdy ani s internetovými projekty), je označení tohoto pracovníka opravdu na místě. Ostatně i z nejrůznějších diskusí vyplývá, že jedním z nejkritičtějších bodů XP je právě přesvědčit zákazníka, že to, co vypadá jako nezvládnutelný a zavrženíhodný chaos, je ve skutečnosti poměrně rigorózní postup vývoje, který přímo a rychle směřuje k cíli.
  • Programátor rozhraní: spolupracuje s grafickým návrhářem na uživatelském rozhraní; využívá například CSS, XSLT, JavaScript apod.
  • Grafický návrhář: zodpovídá za vzhled všech stránek, za grafickou konzistenci, za ergonomii a za všechny další atributy, které dobrý grafický návrh nutně musí obsahovat
  • Programátor serverové strany: role podobná typickému XP programátorovi. Zodpovídá za kompletní funkcionalitu serverové části systému, včetně případných databází.
  • Rádce (mentor): role podobná stopařovi v XP, ale protože by měl být schopen poskytovat erudovanou pomoc v mnoha rozdílných činnostech (programování serveru i grafický návrh), je označován jako rádce.
  • Tester: zatímco v XP je většina testování realizována jako testy jednotek, u webových projektů zahrnuje testování i kontrolu uživatelského rozhraní, grafického návrhu, koncepce navigace apod.

Vývoj webových projektů pomocí XP je opět iterativní. Vzhledem ke zvláštnímu charakteru internetových aplikací se doporučuje:

  • jednotlivé iterace rozšířit o proces práce s grafickým návrhem
  • na úvod projektu předřadit několik zvláštních iterací: přípravu na vývoj (základy grafického návrhu, nastavení serveru, konfigurace databáze apod.), získávání obsahu (stanovení a upřesnění dat, které se na stránkách mají objevit) apod. Tyto iterace mohou mít za důsledek jemné zpoždění projektu, nicméně pro úspěch internetové prezentace není vhodné je vypustit.

Grafický návrh webu může být prováděn několika různými metodami (nástěnka nálad, podívat se a cítit, analýza konkurenčních výhod, specifikace designu apod.), případně jejich kombinacemi. V každém případě by však měl probíhat při stálé interakci se zákazníkem.

Z uvedených informací je zřejmé, že extrémní programování je pro internetové projekty dobře využitelné a slibuje efektivně produkovat kvalitní a udržovatelné výsledky.

Další zdroje informací o XP

Protože z diskusí je patrný poměrně značný zájem o XP (ať již o jeho vlastnosti a klady nebo z důvodu snahy jej zavrhnout), dovolím si uvést několik zdrojů informací, na něž se můžete obrátit v případě, že byste se rádi o XP a jeho jednotlivých aspektech dozvěděli více.

XP je novou metodologií a zájem o ni je poměrně značný. Metodologie je široce podporována, komentována a přijímána; na internetu i v knihkupectvích (pohříchu především zahraničních) lze nalézt nevyčerpatelné zdroje informací o jednotlivých aspektech XP. Jen ve zmíněném nakladatelství Addison-Wesley vyšlo (zhruba do poloviny roku 2003) v edici XP Series 11 knih popisujících kromě jiného zavádění XP do týmu, plánování projektů v XP, jejich testování a popis XP ze všemožných úhlů pohledu.

Kromě knih a online zdrojů se XP týká také řada odborných konferencí. V italském Janově se v květnu 2003 konal již 4. ročník mezinárodní konference (viz http://www.xp2003.org/), letos nazvané The Fourth International Conference on eXtreme Programming and Agile Processes, k jejímž tématům patřily i značně specializované oblasti, např. vztah XP a model zralosti softwaru CMM (Capability Maturity Model) apod. Další významná konference je pořádána v New Orleans (viz www.xpuniverse.com) v září 2003 (The XP and Agile Universe).

Zájemcům o XP a o agilní programovací přístupy doporučuji dále následující internetové adresy:

Úplný konec extrémismu

Tímto článkem prozatím končí rozbor Extrémního programování na stránkách Živě. Věřím, že jsme tuto metodologii rozebrali dostatečně podrobně a doufám, že případní zájemci o XP se mohli zveřejněnými informacemi inspirovat k získávání dalších informací o XP.

V žádném případě však nekončí volný seriál zabývající se metodologiemi vývoje softwaru. Dosud jsme se zabývali agilními metodologiemi: nejen jimi však žije vývojářský směr, a proto se v další sérii článků zaměříme pro změnu na konzervativní, tradiční, vyzkoušený přístup k programování. Jaký? Nechte se překvapit...:-)

Diskuze (6) Další článek: TESmedia/Intercable CZ zrychlí internet přes kabel

Témata článku: Software, Programování, Projekt, Typický zástupce, New Orleans, Malý tým, Janov, Nejkritičtější bod, X Series, Aspekt, Internetový projekt, Agilní vývoj, Apod, Značný zájem, Určitá míra, Agile, Podobná funkcionalita, Jednotlivý člen, Extrém, Mentor, Mezinárodní konference


Určitě si přečtěte

Porno insider: Jak virtuální realita vstupuje do filmů pro dospělé

Porno insider: Jak virtuální realita vstupuje do filmů pro dospělé

** Pornografie údajně představuje třetinu internetové obsahu a je technologický tahounem ** Do erotického obsahu postupně zasahuje i virtuální realita ** Kromě vizuálního vjemu se pracuje také na virtuálním uspokojení toho hmatového

Jan Dudek | 32

Nejlepší notebooky do 20 000 Kč: Tipy, co se teď vyplatí koupit

Nejlepší notebooky do 20 000 Kč: Tipy, co se teď vyplatí koupit

** Za dvacet tisíc korun lze pořídit kvalitní pracovní notebook ** Stejně tak může jít o herní notebook s výkonnější grafikou ** Poradíme, jaké notebooky vybrat pro různé druhy použití

Stanislav Janů | 48

Na čem běží Seznam.cz: Běžný standard už nestačí, přechází na vlastní cloud i servery

Na čem běží Seznam.cz: Běžný standard už nestačí, přechází na vlastní cloud i servery

** Seznam nám prozradil detaily k jeho nové platformě SCIF ** V rámci jednoho privátního cloudu sjednocuje většinu služeb ** Vedle softwaru vyvíjí i vlastní hardware

Karel Javůrek | 14

Byli tam! Důkazy o přistání na Měsíci, Lunochody i čínská sonda jsou vidět z vesmíru

Byli tam! Důkazy o přistání na Měsíci, Lunochody i čínská sonda jsou vidět z vesmíru

** Sonda LRO pořídila z oběžné dráhy Měsíce zajímavé snímky ** Jsou na nich vidět artefakty všech misí programu Apolla, které přistály na povrchu Měsíce ** Jde například o části lunárních modulů, rovery a dokonce i vlajky

Petr Kubala | 67

ELONOVINKY: Tesla brzy začne prodávat solární tašky. Budou drahé, ale pěkné

ELONOVINKY: Tesla brzy začne prodávat solární tašky. Budou drahé, ale pěkné

** Tesla začne prodávat solární střešní tašky, které představila před dvěma lety ** Výroba začne v první polovině příštího roku ** Tašky budou odolné, dostanou doživotní záruku a na přání i vyhřívání

Petr Melechin, Karel Dlabač | 24

Samořídicí auto jezdilo po silnicích už v roce 1993. Nemělo radar ani GPS

Samořídicí auto jezdilo po silnicích už v roce 1993. Nemělo radar ani GPS

** Myslíte, že vývoj autonomních vozidel je záležitostí aktuálního století? ** Již před 25 lety Bosch předvedl první autonomní auto ** Historie však sahá ještě o něco hlouběji

Karel Kilián | 14



Aktuální číslo časopisu Computer

Nejlepší programy pro úpravu fotek zdarma

Externí disky pro zálohu dat

Velký test: herní notebooky

Srovnání 12 batohů