370 likes | 505 Views
Twitter hashtag: #cztechdays. Twitter hashtag: #cztechdays. VS 11 – novinky pro spr ávu životního cyklu aplikací. Michael Juřek Software Architect Microsoft s.r.o. Twitter hashtag: #cztechdays. Vize pro ALM. Vytvořit moderní ALM prostředí, na principech:
E N D
VS 11 – novinky pro správuživotního cyklu aplikací Michael JuřekSoftware ArchitectMicrosoft s.r.o. Twitter hashtag: #cztechdays
Vize pro ALM • Vytvořit moderní ALM prostředí, na principech: • Spolupráce pomocí integrace zahrnující všechny role během celého životního cyklu • Rychlá, jasná a užitečná zpětná vazba, která minimalizuje plýtvání časem lidí • Přirozený nástroj pro každou roli (IDE, Office, prohlížeč, speciální nástroje) • Transparentní agilní procesy a techniky • Vysvětlivky: • ALM = Application Lifecycle Management
Agilní vývoj a VS/TFS • Netlačíme vás do žádné konkrétní metodiky • Naše nástroje se řídí jednoduchými principy • Přirozený nástroj pro každého člena týmu (Visual Studio, Excel, Project) • Minimálizace ne-pracovních aktivit (režie) • Nástroje pro osvědčené agilní techniky (např. kontinuální integrace) • Inovace v oblastech způsobujících největší ztrátu produktivity
Vývoj Provoz Product Backlog Požadavky Chybí zpětná vazba Nepochopenípožadavků Konflikt zájmůa priorit Nelze zjistitpříčinu Nelze reprodukovatproblém Iterace Monitorování Dezorientace Kvalita kódu Dodaná verze Operations Backlog
Agenda • Storyboarding • Agilní plánování a týmy • Zlepšení kvality kódu • Agilní testování • Získání zpětné vazby • Diagnostika v produkčním prostředí
Rychlá a agilní analýza • Dosavadní používané prostředky: • Popis ve Wordu – málo čitelný, neposiluje představivost, obtížná zpětná vazba • Modelování, UML – proprietární nástroje; precizní, ale těžko srozumitelné • „A picture says a thousand words“ • Hledáme přirozený nástroj pro: • Prototypování – rychlé, agilní,věrné, vizuální • Umožňující snadnou a okamžitou zpětnou vazbu • Bez nutnosti učit se něco úplně nového • … a ten nástroj je …
… PowerPoint. Cože??? Proč ne??? • Vše potřebné víceméně umí • Grafika, seskupování, kreslení, revize, kontrola pravopisu, screenshoty, animace, prezentace, anotace, vložení libovolného obsahu • Je dostupný – otevře ho každý, zná ho každý • Tisk, odeslání mailem, integrace se SharePointem, zobrazení v prohlížeči, paralelní editace, verzování, … • Master slidy pro znovupoužití vzhledu • Vlastní knihovny tvarů specifických pro vývoj • Integrace s TFS pro zapojení do životního cyklu
DEMO Storyboarding
Agenda • Storyboarding • Agilní plánování a týmy • Zlepšení kvality kódu • Agilní testování • Získání zpětné vazby • Diagnostika v produkčním prostředí
Problém • Tradiční plánování v softwarových projektech často selhává • Reakcí je velký nástup agilních přístupů • TFS má kvalitní úložiště, ale chybí mu moderní nástroje pro agilní plánování • Excelové sešity nejsou ideální • Existují řešení od třetích stran
Agilní plánování a řízení • Nové webové rozhraní pro TFS • Moderní, rychlé, přístupné z libovolného zařízení • Excel/Project stále preferován pro hromadnou editaci • Explicitní definice iterace – datum od/do • Možnost definice týmů • Tým je definován oblastmi týmového projektu • Ve velkých projektech více týmů • Podpora plánování nezávislá na použité metodice • Plánování produktu – rozdělení práce do iterací • Plánování iterace – rozdělení práce lidem • Řízení iterace – sledování postupu, dynamické změny • Vizualizace aktuálního stavu pomocí task boardu
Plánování produktu Product Backlog 3 8 5 3 Priorita 5 8 1
Rozdělení do iterací Product Backlog Sprint Backlog 5 8 5
Plánování iterace Sprint Backlog Product Backlog
Řízení iterace Sprint Backlog Product Backlog
DEMO Plánování produktu a iterace Task board pro sledování postupu
Agenda • Storyboarding • Agilní plánování a týmy • Zlepšení kvality kódu • Agilní testování • Získání zpětné vazby • Diagnostika v produkčním prostředí
Slyšeli jsme… • Typický postup: • Zapnu analýzu kódu – všechna pravidla • Analyzuji svoje 10 let vyvíjené řešení • Vypadne 20.000 porušení • Vypnu analýzu kódu • Statická analýza kódu (managed i C++) vypadá dobře, ale nepoužíváme ji • Není snadné ji nastavit a udržet centrálně • Výsledků je příliš mnoho • Výsledky nejsou pochopitelné a nevedou k akci
Analýza kódu je užitečná • Systematicky hledá problémy v kódu již při kompilaci, doplňuje tradiční testování • Vylepšení ve VS 11: • Hromadné nastavení pro celé řešení • Nové okno pro analýzu, rychlý náhled, akce • Prioritizace pomocí filtrování a textové hledání • Rozšířená pravidla, přesnější výsledky • Nenechte se zahltit !!! • Začněte s malou sadou pravidel, postupně přidávejte další pravidla • Udělejte analýzu kódu součástí vašich automatických buildů
Revize kódu • Plná integrace do prostředí a procesu • Bez nutnosti vlastních nástrojů anebo řešení třetích stran • Možnost použití ad hoc anebo jako systematický prostředek pro vyšší kvalitu kódu • Přirozené předávání řízení procesu a komunikace • Flexibilní náhled na kód integrovaný do prostředí: • Více možných pohledů • Syntax highlighting • Podpora pro komentáře ke konkrétním řádkům • …
DEMO Analýza kódu, revize kódu
Agenda • Storyboarding • Agilní plánování a týmy • Zlepšení kvality kódu • Agilní testování • Získání zpětné vazby • Diagnostika v produkčním prostředí
Agilní testování • Akceptační testování provádí nějakou formou prakticky všechny týmy • TFS 2010 podporuje formální strukturované testování • Agilnější neformální testování (exploratory testing) není v TFS 2010 dobře podporováno
Akceptační testy s menší režií • Podpora pro oba styly testování v TFS 11 • Strukturovaný – s formálně definovanými testovacími případy, plány, konfiguracemi • Nestrukturovaný – procházení hotové funkčnosti a hledání slabých míst (exploratory testing) • Výhody pro oba styly testování: • Sdílení kontextu chyby mezi vývojářem a testerem • Automatizace rutinní činnosti testera • Měřitelnost kvality a testovacího úsilí
Testovací prostředí s menší režií • Standard environment – snadnost použití: • Fyzické počítače anebo virtuály • Žádná konfigurace TFS, žádné prerekvizity • Schopnosti: • Automatická instalace agenta do prostředí • Možnost spuštění libovolného skriptu • Možnost spuštění automatizovaných testů • SCVMM environment – maximální možnosti: • HyperV virtuály řízené Virtual Machine Managerem (SCVMM) • Schopnosti navíc: • Spuštění, zastavení • Klonování, současný běh více instancí (network isolation) • Snapshoty
DEMO Neformální testování
Agenda • Storyboarding • Agilní plánování a týmy • Zlepšení kvality kódu • Agilní testování • Získání zpětné vazby • Diagnostika v produkčním prostředí
Vytváříme správnou věc? • Velmi často vytváříme věci, které si myslíme, že zadavatel chce • Ne ty, které skutečně chce • Příčinou jsou špatně komunikované požadavky • Zpětná vazba často zcela chybí nebo je nahodilá • Nad poskytnutou zpětnou vazbou není efektivní proces
Nástroj pro zpětnou vazbu • Okamžitá a přehledná zpětná vazba • Rychlé odhalení funkčních problémů aplikace • Minimální režie: • Textové komentáře • Snímky částí obrazovky • Videozáznam • Audio komentář • Řízené workflow nad zpětnou vazbou • Jsou to pracovní položky • Email pro komunikaci
DEMO Nástroj pro zpětnou vazbu
Agenda • Storyboarding • Agilní plánování a týmy • Zlepšení kvality kódu • Agilní testování • Získání zpětné vazby • Diagnostika v produkčním prostředí
Problém • Vývojáři nemají přístup do produkčního prostředí • Simulace produkčního prostředí je prakticky nemožná • Diagnostika pomocí logování vyžaduje odstávku nebo nasazení nové verze • V každém případě to znamená restart aplikace, čímž může problém vymizet • Diagnostiku není možné spustit v okamžiku objevení problému
Historické ladění v produkci • Nevyžaduje žádnou instalaci na produkční server (stačí „přinést USB klíč“) • Potřebné binární soubory pro IntelliTrace • Nastavení sbíraných událostí ve formě XML souboru • PowerShell pro skriptování sběru, dávkové soubory, … • Nevyžaduje restart procesu aplikace • Analýza ve Visual Studiu: • Vyžaduje Source Server a Symbol Server, obojí je součástí TFS, je triviální na nastavení a je užitečné i v dalších scénářích • Status kódy HTTP požadavků, výjimky, zvolené události (ADO.NET, ASP.NET, …), zásobník, hodnoty proměnných • Do budoucna – integrace s Operations Managerem (SCOM)
DEMO IntelliTrace v produkčním prostředí
Závěrem Zajistěte si nové Visual Studio formou existující MSDN subskripce: • Storyboarding • Agilní plánování a týmy • Zlepšení kvality kódu • Agilní testování • Získání zpětné vazby • Diagnostika v produkčním prostředí