team foundation server overview
TRANSCRIPT
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:[email protected]:http://home.hit.no/~hansha/