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í, Janov, Určitá míra, Mezinárodní konference, Agilní vývoj, Jednotlivý člen, Malý tým, Apod, X Series, New Orleans, Extrém, Značný zájem, Aspekt, Nejkritičtější bod, Typický zástupce, Podobná funkcionalita, Projekt, Agile, Mentor, Internetový projekt


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

Odposlouchávali jsme děravou domácnost: Katka z Brightonu právě sedí doma, zatímco její manžel hraje asi golf

Odposlouchávali jsme děravou domácnost: Katka z Brightonu právě sedí doma, zatímco její manžel hraje asi golf

** Na internetu jsou tisíce nezabezpečených chytrých domácností ** Podívali jsme se na jednu z britského Brightonu ** Útočník sestaví kompletní socioekonomický profil rodiny

Jakub Čížek | 31

Nový iPhone a další novinky Applu: sledujte, na co se zase budou stát fronty

Nový iPhone a další novinky Applu: sledujte, na co se zase budou stát fronty

** Apple dnes představuje nové produkty v čele s novými iPhony ** Nemusí zůstat jen u telefonů, čekají se i další novinky ** Úvodní přednáška začíná v 19:00 našeho času

David Polesný | 57

Tohle tak jednou zažít: Nová vzducholoď Airlander 10 s prosklenou podlahou

Tohle tak jednou zažít: Nová vzducholoď Airlander 10 s prosklenou podlahou

** Airlander 10 nabídne plavby vzduchem v interiéru s prosklenou podlahou ** Luxusní vzducholoď byla původně vyvíjena pro vojenské účely ** Počítá se s třídenními „kochacími“ výlety za poznáním

Karel Kilián | 7


Aktuální číslo časopisu Computer

Megatest: 13 grafických karet

Srovnání 7 dokovacích stanic s USB-C

Jak na perfektní noční fotografie

Kvalitní zdroje informací pro sebevzdělávání