Týmový vývoj v heterogenním prostředí

Historie rozdělení

Historicky byla při vývoji velká provázanost mezi nástroji, které se používají pro vývoj, platformou na které se aplikace vyvíjí a pro kterou se aplikace vyvíjí. Organizace si vybírali nástroje podle technologií, na kterých byla budoucí aplikace založena. Pokud chtěl například někdo vyvíjet pro platformu Windows, velmi pravděpodobně si vybral Visual C++ běžící rovněž na platformě Windows.

Vývojáři na platformě Java měli větší možnost výběru. Mohli použít integrované vývojové prostředí (IDE) od společnosti Sun, IBM nebo nástroj ze světa open source. Často vyvíjeli své Java aplikace na platformě Windows, ale nasazovali je na variace Unix / Linux systémy. Došlo tedy k oddělení platformy pro vývoj a pro nasazení. Pokud ale chtěla organizace vyvíjet pro více platforem, znamenalo to nezbytně používání dalších nástrojů pro každou další platformu. Častým důsledkem byl zmatek a neefektivita.

Pragmatickou reakcí na tuto situaci bylo rozdělení organizace na týmy. Každý tým vyvíjel pro určitou platformu, používal určité nástroje a postupně se více a více izoloval od ostatních týmu ve firmě. Tato situace rovněž nebyla žádoucí, neboť do značné míry ztěžovala přesun lidí mezi týmy, neboť by se při přechodu museli učit nové nástroje, nové procesy, a to ještě nebereme v úvahu aspekty mezilidských vztahů v takto rozdělené firmě.

To byl přirozený řád věcí. Firmy se vytvořili specializované týmy odborníků pro každou platformu. Týmy se vedle sebe naučili koexistovat, ale jenom velmi zřídka je spojoval společný zájem. Vytvořili si svá vlastní pravidla a pracovní postupy, nastavili si svoje vlastní procesy pro návrh, vytváření, testování i nasazení software. K tomu přirozeně využívali též odlišné nástroje – podle svých technologických i osobních preferencí.

Nová doba a nové postupy

Microsoft se svým produktem Team Foundation Server 2005 zcela změnil koncepci podpory životního cyklu vývoje (ALM, Application Lifecycle Management) na platformě Windows. Oproti dosavadnímu konceptu roztříštěných a oddělených nástrojů pro různé fáze životního cyklu vývoje přinesl jeden integrovaný nástroj pro všechny fáze vývoj, navíc zapojený do vývojového prostředí IDE tak, aby znamenal pro vývojáře co nejmenší překážku a režii. Sjednocením procesu se sjednotil též proces sběru dat o průběhu prací do jednotného datového skladu s netušenými možnostmi reportování o stavu projektu z mnoha různých úhlů pohledu.

Nyní Visual Studio 2010 přináší tyto výhody i vývojářům na ostatních platformách. Zcela tak zpochybňuje současný předsudek, že každá platforma musí mít svoje vlastní nástroje a procesy. Team Foundation Server Plug-in pro Eclipse (viz obr. 1) nyní spojuje dosud izolované týmy odborníků dohromady. Umožňuje tak sjednotit firemní procesy a sledovat důležité nákladové, časové i kvalitativní metriky napříč všemi týmy ve firmě.

 

Obrázek 1. Editace kódu v prostředí Eclipse s využitím add-inu pro Team Foundation Server

Team Foundation Server plug-in pro Eclipse přináší naprostou většinu funkcí a možností ALM, které byly dosud pouze ve Visual Studiu, též do prostředí Eclipse. Toto prostředí ale zdaleka není jenom pro vývoj Java aplikací. Za dobu své existence pro něj vznikly též nástroje pro vývoj v řadě dalších jazyků a technologií. Podpora pro vývoj v jazycích Java/J2EE, C + +, Python, Perl a řadě dalších v Eclipse prostředí je samozřejmostí.

Vývoj pomocí Eclipse nyní nabízí možnost řízení procesů pomocí nástroje Visual Studio Team Foundation Server 2010. Kromě změnového řízení zdrojových kódu v jim důvěrně známém prostředí mají uživatelé Eclipse též přístup k trasovatelným pracovním položkám (požadavky, úlohy, chyby, testovací případy aj.), k šablonám procesů, ke stejnému projektovému portálu, dokumentům, reportům o postupu i kvalitě apod. Mají zkrátka stejný komfort, který dosud mohli jenom závidět .NET vývojářům, ale ve svém oblíbeném prostředí. Máte-li například ve svém technologickém portfoliu namíchaný. NET, PHP, Java/JSP, Python, Perl, Django, či jiné technologie, vše může být řízeno a udržováno jedinou sadou nástrojů ALM. Vývojáři mohou nadále používat své známé nástroje, a zároveň se mohou připojit a spolupracovat prostřednictvím společné ALM infrastruktury. Týmy pracující na různých technologiích mohou nyní být společně řízeny a měřeny, mohou efektivně spolupracovat na stejných vizích a cílech za pomoci společných nástrojů.

Pokud v současné době pracujete převážně v Eclipse a neznáte Visual Studio, může být pro vás propojení vlastního vývoje s obklopujícím prostředím novinkou. V závislosti na nástrojích, které používáte, můžete více či méně zápasit o získání spolehlivých metrik anebo bezproblémovou komunikaci a spolupráci. Téměř jistě jste se snažili integrovat různé oddělené nástroje ve snaze získat jednotný obraz celku. Mapování změn v kódu na požadavky, chyby a testy bylo buď krajně obtížné, nebo vyžadovalo drahé licence. S nástrojem Team Foundation Server 2010 jsou komfortní a přitom cenově dosažitelné nástroje dostupné přímo v prostředí Eclipse.

 

Obrázek 2. Team Foundation Server Plug-in pro Eclipse nabizí komfortní možnosti spolupráce

ALM všude a pro každého

Visual Studio Team Foundation Server 2010 je srdcem pro životní cyklus všech vašich projektů. Umožňuje získávat informace a metriky o projektech napříč jednotlivými platformami v organizacích s heterogenním vývojem. Veškeré informace o vývoji jsou ukládány ve společném datovém skladu, je nad nimi vystavěn jednotný analytický model a můžete využívat řadu připravených profesionálních reportů anebo si vytvořit svoje vlastní reporty odrážející vaše procesy a priority.

Sníží se počet používaných nástrojů, které se musíte učit, udržovat je, spravovat a integrovat. Je možné pracovat s jednotným repositářem zdrojových kódů jdoucím napříč všemi technologiemi. Jednotné metriky vám pak umožní vidět věci v plné šířce všech souvislostí. Jednotná platforma a procesy snižují náklady na vzdělávání, denní administraci i dlouhodobý rozvoj projektů.

Team Foundation Server Plug-in pro Eclipse odstraňuje nežádoucí pohled "my versus oni". Týmová spolupráce je usnadněna a rozdělení na izolované týmy se může stát minulostí. Společný postup, sdílení informací, jedna sada nástrojů a úložiště kódu, to vše odstraňuje překážky v práci a zvyšuje efektivitu. Transparentnost a spolupráce nejsou jen módní slova. Nová sada produktů sdružených pod deštníkem Visual Studio přináší nové způsoby, jak překročit staré hranice spolupráce a produktivity.