Team Foundation Server Overview

Preview:

Citation preview

TeamFoundationServer

Hans-PetterHalvorsen,M.Sc.

VisualStudioTeamServices

RequirementsAnalysis

Design

Implementation

Testing

MaintenancePlanningTheSoftware

DevelopmentLifecycle(SDLC)

Deployment

TeamFoundationServer

TeamFoundationServer(TFS)isanApplicationLifecycleManagement(ALM)system

SourceCodeControl(SCC)

BugTracking

ProjectManagement

CollaborationPlatformScrum

Agile

VisualStudio

SDLCManagement

MSExcelMSProject

VisualStudioOnline

TeamFoundationServer(TFS)

TFS

Visual Studio

LabVIEWServer Clients

FileExplorer

Repository

Services

TeamExplorer

MSSCCIProvider

PowerTools

MS Excel

MS Project

Others

Web Access

SQLServer(TFVC)

TeamFoundationServer(TFS)isanApplicationLifecycleManagement(ALM)system

Git

Eclipse

4

ThediagramdemonstratesthatteammembersondifferentplatformscancollaboratebyusingTeamFoundationServer

• TeamFoundationServer(TFS)isanApplicationLifecycleManagement(ALM)system,– i.e.,thesystemtakescareofallaspectsinsoftwaredevelopment– fromplanning,requirements,coding,testing,deploymentand

maintenance.• TFSisaSourceCodeControl(SCC),BugTracking,Project

Management,andTeamCollaborationplatform• TightlyintegratedwithVisualStudioasMicrosoftisthevendor

ofbothVisualStudioandTFS• Cloudbasededition(HostingService):“VisualStudioOnline”

(former:“TeamFoundationService”)

5

WhatisTFS?

ApplicationLifecycleManagement,ALM

• ALMTools:Toolsthatfacilitateandintegrate:– RequirementsManagement,– Architecture,– Coding,– Testing,– (Bug)Tracking,– AndReleaseManagement(->SoftwareDevelopment!)

• Thereexistalotofsuchtools(TFS,Jita,etc…)• WewilluseTeamFoundationServer(TFS)fromMicrosoft,sinceitis

tightlyintegratedwithVisualStudiohttp://en.wikipedia.org/wiki/Application_lifecycle_management 6

VisualStudioTeamServices• TFSisaSourceCodeControl(SCC),BugTracking,Project

Management,andTeamCollaborationplatform• IntegratedwithVisualStudio• TFSintheCloud(Thismeansyoudon'tneedtohosttheserver

yourself)• Freeforupto5users www.visualstudio.com

TeamFoundationServer• SDLCManagement(SDLC– SoftwareDevelopmentLifeCycle)• SoftwareTeam Collaboration• SourceCodeManagement• SupportsAgile,Scrum,CMMI• BugTracking• IntegratedTest Tools• AutomatedBuilds• BuiltinTeamFoundationVersionControl(TSVC)+SupportforGit

repositories• Built-insupportforTFSinVisualStudio(TeamExplorer)• Plug-inforEclipse(TeamExplorerEverywhere)• MSSCCIProviderforotherIDEslikeLabVIEW,etc.

8

TFSTechnicalOverview

Itusesa3tier/layerarchitecture• Clienttier(WebServices(usedbyVisualStudio,etc.))

• Applicationtier• WebServices• WebPortal,TeamWebAccess(TWA)• DocumentrepositoryusingSharePointServices

• Datatier(SQLServer)

9

TFSClientTools• TeamExplorer (integratedwithVisualStudio)• MSExcel Add-in(partofTeamExplorerinstallation)• MSProjectAdd-in(partofTeamExplorerinstallation)• WindowsExplorerIntegration(partofPowerTools)

VeryusefulwhenworkingwithTeamFoundationServeroutsideofVisualStudioorEclipse

• TFSMSSCCIProvider (makesitpossibletouseTFSwithintoolsthatdonotsupportTFS,suchase.g.,LabVIEW,SQLServer,etc.)

• TeamExplorerEverywhere• 3.partysoftwarethatintegrateswithTFS(usingavailablewebservices)

10

SourceCodeControl/RevisionControl

WithTFSyoumayusedifferentsourcecoderepositories:• TFVC

– TeamFoundationVersionControl(TFVC)usesasingle,centralizedserverrepositorytotrackandversionfiles.Localchangesarealwayscheckedintothecentralserverwhereotherdeveloperscangetthelatestchanges.

• Git (“opensource”alternative)– GitisaDistributedVersionControlSystem(DVCS)thatusesalocal

repositorytotrackandversionfiles.Changesaresharedwithotherdevelopersbypushingandpullingchangesthrougharemote,sharedrepository.

11

VisualStudioTeamServices(VSTS)

Hans-PetterHalvorsen,M.Sc.

VisualStudioTeamServices• TFSintheCloud(Thismeansyoudon'tneedtohosttheserveryourself)

• Freeforupto5users• www.visualstudio.com

Wewilllearnto• CreateanVisualStudioTeamServicesAccount• CreateProjectsandAddTeamMembers• CreateagoodFolderstructure• CreateAreas andIterations• CreateWorkItems(Bug,Task,...)• CreateQueries• UseTFSinsideVisualStudio

VSTS- GettingStarted

15

1. CreateanAccount2. CreateaNewTeamProject3. Youarereadytostart

1. ConnecttoVisualStudioTeamServicesfromVisualStudio(similarasconnectiontoaTeamFoundationServer)

2. OrusetheWeb-basedinterfaceprovided(exceptforSCC)4. AssignTeamMembers5. AddAreas,Iterations,etc.6. AddyourSourceCode7. Check-in/Check-out

CreateNewTeamProject

16

SelectTFVC orGitRepository

Selectwhatkindofdevelopmentprocessyouwanttofollow(Agile,Scrum,...)

!!!

TheProjectStartPage

17

Exercise– VisualStudioTeamServices• SignupforVisualStudioTeamServiceswww.visualstudio.com

• YouneedaWindowsLiveID• CreateaproperURL• CreateaNewProject• AddTeamMembers• GiveAccess totheSupervisor

TeamProjects• Differenttemplatesexists– Agile– Scrum– etc.

19

SourceCodeControl• Selectbetween– TeamFoundationVersionControl(TFVC)– Git

• VisualStudio:TeamExplorer• FromTeamExplorer:SourceControlExplorer

20

Createagoodstructure• OpentheSourceCodeExplorerinVisualStudio

• Defineproperfoldersinsideyourproject

21

AreasThedifferentsoftwaremodulescouldbedividedintodifferentAreas

22

IterationsCreateIterationsforthedifferentreleases,milestones(internalandexternal);e.g.,Alpha,Beta,RC,RTM

23

Exercise– TFSCreatethefollowingforyourProject:• TeamProject• AssignTeamMembers• Areas• Iterations• CreateagoodfolderstructureforyourDocumentsandSourceCode

WorkItemsInTFSyoucancreatedifferentWorkItems,suchas:• Task• Bug• Feature• Scenario• Issue• UserStory• TestCase• etc.TheseWorkItemswillbeusedatdifferentlevelinyourdevelopmentcycle.WhentheTestersreportsbugs,theywillusethe“Bug”WorkItem,etc.

25

WorkItems– NewBug

26

Queries• UsedtofindexistingWorkItems• YoumaycreatedifferentQueriestomakeiteasytofindtheWork

Itemsyouneed• Queriesmaybepersonalorvisibleforeverybodyintheproject

(TeamQueries)

27

Exercise– TFSWorkItems

• CreatedifferentkindofWorkItemsforyourProject(Task,Bug,Feature)

• CreatedifferentQueries tomakeiteasytofindyourWorkItemsofinterestatanygiventime.

TaskBoard

29

BurndownChart

30

TeamFoundationServer

Hans-PetterHalvorsen,M.Sc.

ClientTools

TeamFoundationServer(TFS)

TFS

Visual Studio

LabVIEWServer Clients

FileExplorer

Repository

Services

TeamExplorer

MSSCCIProvider

PowerTools

MS Excel

MS Project

Others

Web Access

SQLServer(TFVC)

TeamFoundation Server(TFS)isanApplicationLifecycleManagement(ALM)system

Git

Eclipse

TFSClientTools• TeamExplorer (integratedwithVisualStudio)• MSExcel Add-in(partofTeamExplorerinstallation)• MSProjectAdd-in(partofTeamExplorerinstallation)• WindowsExplorerIntegration(partofPowerTools)

VeryusefulwhenworkingwithTeamFoundationServeroutsideofVisualStudioorEclipse

• TFSMSSCCIProvider (makesitpossibletouseTFSwithintoolsthatdonotsupportTFS,suchase.g.,LabVIEW,SQLServer,etc.)

• TeamExplorerEverywhere• 3.partysoftwarethatintegrateswithTFS(usingavailablewebservices)

TeamExplorer• ThemaintoolforcommunicationwithTFS• IntegratedwithVisualStudio• AddSourceCode• AddAreas andIterations• AddWorkItems(Bugs,Tasks,UserStories,etc)• Add,EditandUseQueries

34

MSExcelAdd-in• ExportaworkItems(Tasks,Bugs,etc.)toExcel• PublishWorkItemsfromExceltoTFS

35

MSProjectAdd-in• CombineGanttChartsandTFS• TheTasksintheGanttChartwillbecreated/updatedinTFSaswell

36

WindowsExplorerIntegration• Partofthe“TFSPowerTools”package

• VeryusefulwhenworkingwithTeamFoundationServeroutsideofVisualStudioorEclipse(usingtoolswithnoTFSintegration)

37

TFSMSSCCIProvider• UseTFSine.g.LabVIEW,SQLServer,etc.thatdonthavebuilt-insupportforTFS

38

TFSinLabVIEW- Configuration

39

TFSinLabVIEW– CheckIn/Out

40

YouneedtousetheProjectExplorer

TeamFoundationServer

Hans-PetterHalvorsen,M.Sc.

VisualStudioHow-TouseTFS/VisualStudioOnlineFeaturesinsideVisualStudio

UsingTFSwithVisualStudio• ConnecttoTFS• AddSourceCodetoTFS• CheckIn/CheckOut• TeamExplorer• SourceControlExplorer

42

TFSinVisualStudio

43

44

AddSourceCode

CheckIn

Hans-PetterHalvorsen,M.Sc.

ScruminTFSProductBacklog,SprintBacklog,Task

board,BurndownChart

UsingTFStocreatetheBacklog

46http://msdn.microsoft.com/en-us/library/ee518933.aspx

SprintBackloginTFS

47

BreakitemsdownintoTasks

48

Inthesprintbacklog,addatask:

Givethetaskaname,andestimatetheworkitwilltake:

49

FinalResults:

UsetheTaskbordtoupdateTasks

50

Thetaskboardisattheheartofdailystandups.Movetasksonthetaskboardtoreflecttheircurrentstate.

UsetheTaskbordtoupdateTasks

51

Youcanassignatasktoaspecificperson:

UsetheTaskbordtoupdateTasks

52

Updatetheremainingworkbyeitherusing thedrop-down listortypingaspecificvalue:

BurndownChart

53

Reviewoverallprogressbyopeningtheburndownchartforthesprint:

Summary• WehavelotsofdifferentSCC systems• WehavelotsofdifferentALM systems• IfyouareusingVisualStudio,TeamFoundationServerisagoodchoice

• TeamFoundationServeristightlyintegratedintoVisualStudio

• TFScanbeusedwithotherIDEsaswell,e.g.Eclipse(TeamExploreradd-in),LabVIEW(MSSCCIProvider),etc.

54SCC– SourceCodeControlALM– ApplicationLifecycleManagement

References• E.Blankenship,M.Woodward,G.Holliday,andB.Keller,Professional

TeamFoundationServer2012:Wiley,2013.• M.Gousset,B.Keller,andM.Woodward,ProfessionalApplication

LifecycleManagementwithVisualStudio2012:Wiley,2013.• I.Sommerville,SoftwareEngineering:Pearson,2010.• S.Adams.Dilbert.Available:http://dilbert.com• O.Widder.(2013).geek&poke.Available:http://geek-and-poke.com• B.Lund.(2013).Lunch.Available:http://www.lunchstriper.no,

http://www.dagbladet.no/tegneserie/lunch/

55

Hans-PetterHalvorsen,M.Sc.

UniversityCollegeofSoutheastNorwaywww.usn.no

E-mail:hans.p.halvorsen@hit.noBlog:http://home.hit.no/~hansha/