Zefektivnění procesu vývoje pomocí prostředí Visual Studio 2010

Většina organizací se nedívá na vývojový proces jako na kompletní celek. Chytne se do pasti, snaží se optimalizovat pouze jedinou jeho část a sáhne po tom, co je nejsnáze dostupné. Ačkoli takovýto přístup může někdy přinést pozitivní výsledky, postrádá zásadní výhody, které lze dosáhnout zaměřením se na kompletní proces, od jeho začátku až do konce.

Visual Studio 2010 a Team Foundation Server 2010 poskytují hluboký vhled do vývojového procesu od jeho začátku až do konce. Toto představuje změnu, která nemá vliv pouze na jediný tým, ale ovlivňuje celou organizaci.

Na této stránce:


Proč by vás to mělo zajímat?

Slovní spojení „pracovat v rámci předepsaného procesu“ se v některých případech může stát synonymem pro nedokončenou práci. Může naznačovat nekonečnou řadu dokumentů a přílišné nároky na preciznost, takže nakonec trávíte více času tím, že jste zaneprázdněni řešením problémů procesu, než produktivní prací. Častým důvodem jsou špatné postupy, které nejsou zaměřeny na řešení problému. Naproti tomu inteligentní postupy, které nabízí odpovídající nástroje, mohou snížit pracovní zatížení, zvýšit výkonnost a kvalitu práce, lépe přiblížit výsledky práce, a tím v konečném důsledku zvýšit spokojenost zákazníka. Visual Studio 2010 nabízí nástroje, které nezdržují, ale naopak napomáhají k odevzdání projektů včas, v mezích rozpočtu a ve vysoké kvalitě. Nabízí půdu pro takové zkvalitnění práce, které pozitivním způsobem ovlivní proces vývoje software jako celek. Ve své podstatě zefektivní proces vývoje tím, že odstraní izolaci týmů a umožní kvalitnější a efektivnější komunikaci.

Integrované řešení

Jednou z oblastí, která může brzdit týmy v práci a zvyšovat režijní náklady, je sféra integrace nástrojů. Týmy používají jeden nástroj pro správu verzí zdrojového kódu, druhý pro sledování chyb, třetí pro řízení projektu, další pro návrh architektury, pro testování, a takto můžeme pokračovat dál. Seznam kombinací nástrojů je nekonečný, což způsobuje, že týmy tráví mnoho času údržbou nesourodých nástrojů a utrácí mnoho finančních prostředků. Navíc není jednoduché přijmout nové vývojáře, protože se musí se všemi těmito nástroji seznámit. V mnoha případech tyto nástroje dobře nespolupracují a je potřeba používat alternativní postupy. Ovšem i když takovéto nástroje žijí vedle sebe celkem dobře, je tu problém se vzájemnou kompatibilitou různých verzí nástrojů. Tento problém je noční můrou pro vedení a může vyústit v nekonečný proud instalací aktualizací. Team Foundation Server a Microsoft Visual Studio 2010 všechny zmíněné problémy odstraňují pomocí sady integrovaných nástrojů.

Team Foundation Server 2010 a Visual Studio 2010, jádro integrovaného řešení

Obrázek 1: Team Foundation Server 2010 a Visual Studio 2010, jádro integrovaného řešení

Team Foundation Server umožňuje sledovat postup prací, sledovat chyby v kódu, řídit zanesení změn do databáze zdrojového kódu, dále umožňuje správu testů a celkové řízení projektu (znázorněno na obrázku 1). Opírá se o SQL Server 2008 a spolupracuje s produkty Visual Studio, Microsoft Office SharePoint Server, Microsoft Test Manager a Microsoft Expression Blend. Pokud přidáme modul pro prostředí Eclipse, mohou i vývojáři v tomto prostředí využívat stejných výhod jako vývojáři v prostředí Visual Studio. A pokud tyto nástroje nestačí, je k dispozici úplné aplikační rozhraní, takže můžete napsat vlastní rozšiřující moduly. Tyto moduly budou bez problémů spolupracovat s prostředím Visual Studio a se serverem Team Foundaton Server.

Integrované sledování průběhu práce

Systém pro sledování vztahů pracovních položek, který je součástí serveru Team Foundation Server, umožňuje týmům řešit velmi častý požadavek, a tím je dohledatelnost. Základní jednotkou pro sledování je pracovní položka, která může reprezentovat požadavek, úkol, záznam o chybě, požadavek na změnu nebo jiný typ prvku důležitý pro danou organizaci. Systém dovoluje přiřadit vývojářům konkrétní práci, a tito mohou přímo k takto přidělené práci připojit výsledný kód.

Mnoho vývojových týmů musí pracovat způsobem, který odpovídá určitému druhu zákonných požadavků (například HIPAA nebo SOX). Tyto požadavky vyžadují prokazatelnost postupu prací, a to z důvodu auditu. Správné provedení práce vyžaduje obvykle mnoho času a energie, ale v serveru Team Foundation Server je tato možnost již vestavěna.

Integrace nabízí i další výhody. Vývojáři a testeři nemusí například pracovat v různých systémech, ale mohou používat jediný. Díky takovéto integraci může Team Foundation Server poskytnout informace o libovolném objektu, a to z mnoha různých pohledů. Týmy se například mohou podívat na požadavky a určit, kolik práce na nich již bylo uděláno, kolik práce ještě zbývá udělat, kolik chyb bylo zaznamenáno pro jednotlivé požadavky nebo kolik testů pro otestování konkrétních požadavků bylo spuštěno. Tyto typy informací jsou k dispozici v předem připraveném přehledu uživatelských scénářů, který je znázorněn na obrázku 2.

Přehled Stories Overview

Obrázek 2: Přehled Stories Overview

Takovýto typ přehledu je k dispozici pouze v plně integrovaném systému.

Odstranění bariér

Týmy jsou o lidech, kteří spolupracují na dosažení společného cíle. Někdy se stává, že organizace při modernizaci některého z procesů zapomene na určitou část týmu, nebo si neuvědomí všechny výhody nového řešení. Vezměme si například architekturu. Existuje mnoho standardů a mnoho způsobů dokumentování architektury, ale kolik z nich je schopno pravdivě vypovídat o aplikaci v průběhu celého jejího života? K čemu je vytváření ohromných architektonických schémat, když budou stát zaprášené na polici a nikdo je nikdy neuvidí? Jeden z klíčových přínosů integrovaného prostředí je ten, že správní lidé mají možnost použít ve správný čas informace, které jsou opravdu aktuální.

Team Foundation Server je ono integrované jádro, které vedoucím, architektům, vývojářům a testerům umožňuje spolupracovat a efektivně komunikovat. Architekti připojí své modely k pracovním položkám, kde jsou k dispozici pro vývojáře, kteří podle nich mohou připravit sestavení. Tímto způsobem je zajištěno, že realita bude mnohem více odpovídat návrhu. Kromě toho se zde nabízí komunikační platforma, pomocí níž si mohou vývojáři a architekti vzájemně vyměňovat informace. Stejnou úroveň integrace s vývojovým týmem mají i testeři. Nová funkce pro správu testů umožňuje testerům vytvořit testovací skripty, ke kterým budou mít přístup rovněž vývojáři. Pokud tester pořídí záznam o chybě, budou k záznamu připojeny všechny informace, které vývojář potřebuje k nalezení příčiny chyby. Není potřeba exportovat data z jednoho systému a importovat je do jiného, ani nutit vývojáře, aby pracovali ve více systémech.

Používání více systémů má negativní důsledky i pro vedoucí, kteří jsou nuceni shromažďovat data ze všech systémů a slučovat je do jediného přehledu o stavu projektu. Toto je nejenom časově náročné, ale často i nepřesné. Díky funkci pro sledování vztahů pracovních položek serveru Team Foundation Server mají vedoucí možnost získat přehled o tom, kdo na čem a kdy pracoval, a to téměř v reálném čase. Vědí, kdo dokončil v určitém dnu, týdnu, nebo měsíci tu kterou práci a vědí i to, na čem se právě pracuje. Již není potřeba posílat emaily s žádostmi o hlášení výsledků práce. Není ani potřeba, aby projektoví manažeři trávili celé hodiny týdně shromažďováním informací a přípravou přehledů o stavu projektu.

Dostupnost informací

V mnoha organizacích se stává, že vývojáři mají potíže komunikovat se zákazníky efektivním způsobem. I když spolu mluví často, podstatné informace se obvykle ztrácejí. Vývojové týmy tráví dlouhou dobu tím, že odpovídají na dotazy zákazníka, ale zákazník by měl mít k těmto odpovědím mnohem snadnější přístup. Team Foundation Server spolupracuje se službou SQL Server Reporting Services a se serverem Microsoft Office SharePoint Server a nabízí způsoby pro zodpovězení dotazů, aniž by bylo potřeba zatěžovat vývojáře. Na obrázku 3 je znázorněna přednastavená nástěnka serveru Microsoft Office SharePoint Server 2007. Podle této nástěnky týmy usoudí, zda je verze způsobilá k odevzdání. Grafy plnění požadavku (Task Burndown) a vývoj požadavku (Task Progress) nabízejí dva pohledy na vývoj situace, podle hodin a podle množství práce, které jsou potřeba. Vývoj uživatelských scénářů (User Story Progress) znázorňuje, kolik požadavků již bylo realizováno (čili kolik jich je připraveno pro dodání zákazníkovi). Sedmidenní trend vývoje (7-Day Issue Trend Rates) znázorňuje práci, kterou tým právě nyní dělá (Active), práci, kterou již tým dokončil, ale která ještě není připravena k odevzdání, (Resolved) a práci dokončenou (Done).

Nástěnky služby SharePoint SharePoint

Obrázek 3: Nástěnky služby SharePoint SharePoint

Náhledy jako tyto poskytují přesné a aktuální informace, které pomáhají zodpovědět dotazy zákazníka týkající se nejrůznějších aspektů vývojového procesu. Není potřeba, aby týmy trávily přípravou těchto přehledů celé hodiny týdně. Sestavy mohou informovat o libovolných údajích zachycených serverem Team Foundation Server a lze je přizpůsobit podle potřeby. Komplexní a podrobné sestavy poskytují rovněž informace o kritických místech celého procesu.

Nalezení a odstranění kritických míst

Dodržíte termíny pro dokončení vývoje? Pokud ne, co je příčinou zdržení? Potřebujete více vývojářů nebo testerů? Takovéto informace se v mnoha situacích získávají jen těžko. Ale Team Foundation Server dovoluje o takovýchto otázkách diskutovat, protože odpovědi leží před vámi. Na obrázku 4 je zobrazen typický přehled plnění úkolů se skutečným a s ideálním trendem.

Přehled plnění úkolů

Obrázek 4: Přehled plnění úkolů

Když se podíváme na tento graf, můžeme určit, jaký je trend týmu od úplného začátku projektu a kdy bude projekt pravděpodobně dokončen. Skutečná linie trendu je zde strmější než ideální linie, což znamená, že tým stihne práci dokončit včas. Toto bylo možné zjistit již několik dní po začátku projektu. Ostatní přehledy znázorňují, v jakém stavu jsou jednotlivé požadavky, takže týmy mohou přidat podle potřeby buď vývojáře, nebo testery. Takováto jasná prezentace informací umožňuje týmům včas podniknout potřebná opatření.

Zapojení testerů

Příliš mnoho organizací odděluje testery a vývojáře do různých organizačních skupin, což je překážkou jejich efektivní spolupráce. Jedním z důvodů je to, že vývojáři často nevědí, co testeři dělají (nevědí, co testeři od jejich kódu očekávají) a testeři zase nevědí, co vývojáři produkují, až dokud to nezačnou testovat. Ovšem nemusí to tak být.

Nové funkce pro správu testů serveru Team Foundation Server a nástroj Microsoft Test Manager (oba jsou součástí Visual Studio Ultimate i Visual Studio Professional) velice přispívají k integraci týmů. Vývojáři mají nyní možnost vidět testy, které testeři vytváří. Záznamy o chybách, které testeři vytvoří, nabízí také záznamy běhu aplikace ve formě připojených dokumentů Toto má v sobě potenciál, který může změnit způsob spolupráce vývojářů a testerů. Díky verzi 2010 mohou vývojáři a testeři spolupracovat jako tým a účinně a efektivně nalézt a odstranit chyby.

Moderní procesy přinášejí užitek všem

Jestliže týmy dobře komunikují a spolupracují, vše je lepší. Plynulost procesu redukuje množství práce, které musí týmy udělat, a zvyšuje produktivitu. Redukování různorodých nástrojů znamená odstranění duplicit a zvýšení účinnosti, protože vše lze nalézt na jednom místě. Modernizace však jde mnohem dál a nezastaví se jen u jednoduché redukce počtu nástrojů. Její skutečná síla tkví v integraci nástrojů. Nástroje by měly být účelné, ale rovněž by měly poskytovat informace všem, kdo je potřebují. Team Foundation Server a Microsoft Visual Studio 2010 plní svůj příslib platformy, která zdokonaluje proces vývoje aplikací.