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


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

15 věcí, které umí Windows 10, ale možná o nich vůbec nevíte

15 věcí, které umí Windows 10, ale možná o nich vůbec nevíte

** Systém Windows 10 umí spoustu užitečných drobností ** O mnoha praktických funkcích pravděpodobně ani nevíte ** Poznejte užitečné tipy, které se vám mohou hodit každý den

Vladislav Kluska | 33

Našli jsme 22 schopných internetových prohlížečů: Vyberte si, který vám nejvíc sedne

Našli jsme 22 schopných internetových prohlížečů: Vyberte si, který vám nejvíc sedne

** Není jen Chrome, Firefox, Edge či Opera. Na výběr máte mnohem více! ** Internetové prohlížeče se liší funkcemi, zaměřením i designem. Našli jsme 22 použitelných prohlížečů pro Windows ** Vyberte si prohlížeč, který vám bude nejvíce vyhovovat

Karel Kilián | 30

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 | 28

WALL-E vyfotil Zemi ze vzdálenosti 1 milionů km

WALL-E vyfotil Zemi ze vzdálenosti 1 milionů km

** Malá sonda s přezdívkou WALL-E pořídila fotografii Země a Měsíce ze vzdálenosti 1 milionů km ** CubeSat letí se sondou InSight k Marsu ** InSight přistane na Marsu 26. listopadu

Petr Kubala | 4

Jak dopadl velký den Applu s náloží novinek: Sledujte, co letos připravil

Jak dopadl velký den Applu s náloží novinek: Sledujte, co letos připravil

** Apple večer představil novinky ** Ukáže nové operační systémy, ale čekala se i nová zařízení ** Začíná vývojářská konference Applu WWDC 2018

Karel Javůrek | 87

Alan Turing: Genius, který matematicky stvořil počítač

Alan Turing: Genius, který matematicky stvořil počítač

Řešením matematického problému se dostal k modelu teoretického stroje, který nese jeho jméno a je základem logiky univerzálních počítačů.

Pavel Tronner | 56


Aktuální číslo časopisu Computer

Kdy necháme řídit chytrá auta?

6 Wi-Fi Mesh systémů ve velkém testu

Srovnali jsme 7 sportovních kamer

Znáte pravidla pro létání s drony?