ŘEŠENÍ PRO TÝMOVOU INFRASTRUKTURU Visual Studio Team Foundation Server a Vy
TÝMOVÉ PROJEKTY
AGENDA
AGENDA
ÚKOLY V PROJEKTU
ÚKOLY V PROJEKTU Mnoho seznamů Nekonzistence Nepropojeno s ostatními nástroji
ŘEŠENÍ – WORK ITEMS
ŘEŠENÍ – WORK ITEMS
DEMO Zadávání práce pomocí work items Možnosti práce s work items
PŘÍSTUP K WORK ITEMS Uloženo v relační databázi Autorizace a oprávnění Dáno členstvím ve skupině Integrace s Active Directory Možní klienti Visual Studio 2005 MS Excel 2003 MS Project 2003 WebService (SOAP) Možnost tvorby vlastních klientů
SESTAVY NAD WORK ITEMS
AGENDA
KONFIGURAČNÍ MANAGEMENT Úplně nový produkt! Založeno na MS SQL 2005 Optimalizováno pro vzdálený přístup Podpora velkých souborů Žádné skutečné mazání Integrace s unit testy a work items Správa verzí a konfigurační management Podpora standardních operací (Check-in, Check-out, Branch, Merge) Klíčové vlastnosti Atomický check-in (changeset) Integrovaný check-in Paralelní vývoj Psaní do šuplíku (shelving)
WORKSPACE Úložiště souborů na klientovi Mapování adresářů Obsahuje pracovní kopie vybraných souborů z TFS Přísluší jednomu vývojáři Vývojář provádí změny do Workspace Mapování adresářů Mapování lokální adresářů na repository Umožňuje práci offline Bez připojení k TFS (pouze práce se zdrojovými kódy) Synchronizace s TFS Workspace udržuje seznam změněných souborů Pomocí okna Pending Changes lze provést Check-In
UKLÁDÁNÍ SOUBORŮ
UKLÁDÁNÍ SOUBORŮ
UKLÁDÁNÍ SOUBORŮ Komprese + uložení změn ≈ 70% úspora místa!
CHANGESET „Transakce“ ve stromu zdrojového kódu Proti úložišti je uplatněna nedělitelně „Všechno nebo nic“ Množinu souborů, které tvoří transakci, určuje vývojář: Výchozí stav = všechny lokálně změněné Pohodlná správa změn Obsahuje metadata (komentáře apod.) Může mít vazbu na položky ze seznamů (work items) Changeset lze využít k návratu zpět
INTEGROVANÝ CHECK-IN Vizuální podpora pro přidání (případně vynucení) následujících ingrediencí ke každému changesetu Položky Work Items Komentář Check-in Notes (definovaná metadata) Kdo provedl revizi apod. Politiky: Provedení skupiny unit testů Provedení analýzy kódu Povinná asociace s Work Items položkou Možnost vytvoření vlastní politiky (rozšiřitelnost)...
INTEGROVANÝ CHECK-IN II
PARALELNÍ VÝVOJ Současný vývoj více verzí softwaru, např.: Branching Úpravy stávající verze a zároveň vývoj nové verze vývoj hotfixu na stávající verzi Branching Vytvoření logického klonu větve stromu kódu Nezměněné soubory existují v úložišti pouze jednou Merging Sloučení změn provedených od okamžiku oddělení větví Přidání, smazání, přejmenování, modifikace apod. Je možné provést kompletní sloučení anebo pouze sloučit změny z vybraného changesetu
PSANÍ DO ŠUPLÍKU Pojmenované uložení změn na server Formálně nejde o check-in Volitelně je možné se vrátit k původním verzím Soubory lze ze „šuplíku“ vyjmout a případně sloučit s existujícími změnami Některé scénáře: Nutnost přerušení práce Uložení aktuálního stavu („checkpoint“) Přesun nedokončené práce na jiného člena týmu Revize kódu jiným členem týmu před provedením check-inu
DEMO Integrovaný check-in Branch and merge Source Control Explorer
AGENDA
DENNÍ BUILD ”Denní build je srdce projektu. Pokud srdce netepe, projekt má velký problém.“ Měl by být plně automatický Neexistuje omluva, pokud chybí – čím složitější projekt, tím více ho potřebuje Stav projektu je daleko více transparentní: Omezení možnosti nepříjemných překvapení V každou chvíli je k dispozici produkt s nějakou funkčností Projekt je pomocí buildu průběžně měřen
DŮLEŽITÉ VLASTNOSTI Klíčové metriky: Rozšiřitelnost Výsledky testů a jejich pokrytí kódu (code coverage) Statická analýza kódu Změny v kódu (code churn) Udržování vazeb na changesety a položky Work Items Uložení v SQL databázi umožňuje sledování historie a trendů Rozšiřitelnost Možnost vytváření vlastních úloh (build task) Možnost definice posloupnosti a parametrů úloh (.targets) Možnost integrovat buildy aplikací pro starší technologie .NET 1.1 VB6
TYPICKÝ PRŮBĚH BUILDU
DEMO Základní operace s buildem Integrace s ostatními komponentami Vytvoření Spuštění Zobrazení výsledku Integrace s ostatními komponentami Unit testing Work items
AGENDA
DEMO Projektový portál
REPORTY Historické i aktuální sumární informace z podsystémů TFS jsou udržovány v datovém skladu Detailní informace lze získat z operačních databází jednotlivých podsystémů Předdefinované reporty jsou součástí šablony Metodologie Možnost modifikace přímo v šabloně anebo pro konkrétní týmový projekt Používá SQL Server Reporting Services Možnosti – definice RDL ve Visual Studiu, export do různých formátů, Report Builder, předplatné reportů, web party pro reporty apod.
REPORT - CHYBY
REPORT – CHYBY DLE PRIORITY
REPORT – REAKTIVACE WI
REPORT – KVALITA SW
REPORT – NEPLÁNOVANÁ PRÁCE
REPORT – ZBÝVAJÍCÍ PRÁCE
AGENDA
ARCHITEKTURA ZDÁLKY
ARCHITEKTURA ZBLÍZKA
TÝMOVÉ PROJEKTY
VYTVOŘENÍ TÝMOVÉHO PROJEKTU Na základě šablony procesu: MSF for Agile Software Development MSF for CMMI Process Improvement Vlastní anebo upravená cizí šablona Šablona obsahuje: Typy udržovaných seznamů (work items) Položky v těchto seznamech Skupiny a jejich oprávnění Reporty Úvodní obsah projektového portálu (šablony dokumentů apod.) Politiku pro check-in Integrovanou nápovědu metodologie Iterace projektu
PŘÍKLADY ÚPRAV ŠABLONY Metodologie Modifikace existující Vytvoření vlastní Typy seznamů Modifikace existujících Vytvoření vlastních Programová úprava pomocí objektového modelu WIOM Správa zdrojového kódu Které politiky musí být splněny Reporting Úprava existujících reportů Přidání vlastních reportů Použití jiného reportovacího nástroje (Excel, OWC,...) Projektový portál Úprava počátečního obsahu Vlastní knihovny dokumentů, seznamy, webparty,...
Q&A