37
OREA Hotel Voroněž I Brno 5. – 6. 3. 2012 Twitter hashtag: #cztechda

Twitter hashtag: #cztechdays

  • Upload
    zasha

  • View
    70

  • Download
    0

Embed Size (px)

DESCRIPTION

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: - PowerPoint PPT Presentation

Citation preview

Page 1: Twitter hashtag: #cztechdays

OREA Hotel Voroněž IBrno

5. – 6. 3. 2012

Twitter hashtag: #cztechdays

Page 2: Twitter hashtag: #cztechdays

Top Hotel Praha

7. – 8. 3. 2012

Twitter hashtag: #cztechdays

Page 3: Twitter hashtag: #cztechdays

Michael Juřek Software ArchitectMicrosoft s.r.o.

VS 11 – novinky pro správuživotního cyklu aplikací

Twitter hashtag: #cztechdays

Page 4: 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

Page 5: Twitter hashtag: #cztechdays

Netlačíme vás do žádné konkrétní metodikyNaš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

Page 6: Twitter hashtag: #cztechdays

Dodaná verze

PožadavkyProductBacklog

OperationsBacklog

MonitorováníIterace

Dezorientace

Konflikt zájmůa priorit

Nepochopenípožadavků

Nelze zjistitpříčinu

Nelze reprodukovatproblém

Chybí zpětná vazba

Vývoj Provoz

Kvalita kódu

Page 7: Twitter hashtag: #cztechdays

• 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

Page 8: Twitter hashtag: #cztechdays

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

Page 9: Twitter hashtag: #cztechdays

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í vzhleduVlastní knihovny tvarů specifických pro vývojIntegrace s TFS pro zapojení do životního cyklu

… PowerPoint. Cože??? Proč ne???

Page 10: Twitter hashtag: #cztechdays

DEMO

Storyboarding

Page 11: Twitter hashtag: #cztechdays

• 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

Page 12: Twitter hashtag: #cztechdays

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

Page 13: Twitter hashtag: #cztechdays

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/doMož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í

Page 14: Twitter hashtag: #cztechdays

5

3

8

3

Product Backlog

1

8

Pri

ori

ta

5

Plánování produktu

Page 15: Twitter hashtag: #cztechdays

Product Backlog

Sprint Backlog

Rozdělení do iterací

5

8

5

Page 16: Twitter hashtag: #cztechdays

Product Backlog

Sprint Backlog

Plánování iterace

Page 17: Twitter hashtag: #cztechdays

Product Backlog

Sprint Backlog

Řízení iterace

Page 18: Twitter hashtag: #cztechdays

DEMO

Plánování produktu a iteraceTask board pro sledování postupu

Page 19: Twitter hashtag: #cztechdays

• 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

Page 20: Twitter hashtag: #cztechdays

Typický postup:1. Zapnu analýzu kódu – všechna pravidla2. Analyzuji svoje 10 let vyvíjené řešení3. Vypadne 20.000 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…

Page 21: Twitter hashtag: #cztechdays

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ýsledkyNenechte 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á

Page 22: Twitter hashtag: #cztechdays

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óduPřirozené předávání řízení procesu a komunikaceFlexibilní 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

Page 23: Twitter hashtag: #cztechdays

DEMO

Analýza kódu, revize kódu

Page 24: Twitter hashtag: #cztechdays

• 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

Page 25: Twitter hashtag: #cztechdays

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í

Page 26: Twitter hashtag: #cztechdays

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í

Page 27: Twitter hashtag: #cztechdays

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í

Page 28: Twitter hashtag: #cztechdays

DEMO

Neformální testování

Page 29: Twitter hashtag: #cztechdays

• 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

Page 30: Twitter hashtag: #cztechdays

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žadavkyZpětná vazba často zcela chybí nebo je nahodiláNad poskytnutou zpětnou vazbou není efektivní proces

Vytváříme správnou věc?

Page 31: Twitter hashtag: #cztechdays

Okamžitá a přehledná zpětná vazbaRychlé odhalení funkčních problémů aplikaceMinimá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

Nástroj pro zpětnou vazbu

Page 32: Twitter hashtag: #cztechdays

DEMO

Nástroj pro zpětnou vazbu

Page 33: Twitter hashtag: #cztechdays

• 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

Page 34: Twitter hashtag: #cztechdays

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 vymizetDiagnostiku není možné spustit v okamžiku objevení problému

Problém

Page 35: Twitter hashtag: #cztechdays

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 aplikaceAnalý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

Page 36: Twitter hashtag: #cztechdays

DEMO

IntelliTrace v produkčním prostředí

Page 37: Twitter hashtag: #cztechdays

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