OREA Hotel Voroněž I Brno 5. – Twitter hashtag: #cztechdays
Top Hotel Praha 7. – Twitter hashtag: #cztechdays
Michael Juřek Software Architect Microsoft s.r.o. VS 11 – novinky pro správu životního cyklu aplikací Twitter hashtag: #cztechdays
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 Vize pro ALM
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 Agilní vývoj a VS/TFS
Monitorování Iterace Dezorientace Konflikt zájmů a priorit Nepochopení požadavků Nelze zjistit příčinu Nelze reprodukovat problém Chybí zpětná vazba Vývoj Provoz Kvalita kódu
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í Agenda
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 … Rychlá a agilní analýza
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 … PowerPoint. Cože??? Proč ne???
DEMO 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í Agenda
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 Problém
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 Agilní plánování a řízení
Product Backlog 1 8 Priorit a 5 Plánování produktu
Product Backlog Sprint Backlog Rozdělení do iterací 5 8 5
Product Backlog Sprint Backlog Plánování iterace
Product Backlog Sprint Backlog Řízení iterace
DEMO Plánování produktu a iterace Task board pro sledování postupu
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í Agenda
Typický postup: 1. Zapnu analýzu kódu – všechna pravidla 2. Analyzuji svoje 10 let vyvíjené řešení 3. Vypadne porušení 4. 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 Slyšeli jsme…
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ů Analýza kódu je užitečná
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 … Revize kódu
DEMO Analýza kódu, revize kódu
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í Agenda
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 Agilní testování
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í Akceptační testy 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 Testovací prostředí s menší režií
DEMO Neformální testování
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í Agenda
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 Vytváříme správnou věc?
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 pro komunikaci Nástroj pro zpětnou vazbu
DEMO Nástroj pro zpětnou vazbu
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í Agenda
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 Problém
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) Historické ladění v produkci
DEMO IntelliTrace v produkčním prostředí
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í Závěrem