neil kidd developer tools technical specialist microsoft uk
DESCRIPTION
Team Foundation Server Source Code Repository Project Portal Work Item Tracking Project Reporting Build Server Visual Studio Client Tools Additional tools that extend Visual Studio for: ArchitectsDevelopers Database Professionals Testers (including load testing)TRANSCRIPT
Visual Studio Team System
Neil Kidd Developer Tools Technical Specialist
Microsoft UK
TesterArchitect
IT / ProjectManagerBusiness
Analyst
Database ProfessionalDesigner
Visual Studio Team SystemSupporting the whole of the Application Life Cycle
Developer
SoftwareQuality
ProjectTransparency
TeamCollaboration
What is Team System?
Team Foundation ServerSource Code Repository Project PortalWork Item TrackingProject ReportingBuild Server
Visual Studio Client ToolsAdditional tools that extend Visual Studio
for:ArchitectsDevelopersDatabase ProfessionalsTesters (including load testing)
Visual Studio Client Tools
Simplify Project ConceptionDesign Project DeploymentDesign Service Oriented Projects
Improve Code QualityIncrease Developer Efficiency
Manage Test CasesLoad TestingImprove Communication
Schema Versioning SQL Refactoring & Unit TestingData Generation
Visual StudioIndustry Partners
XML Web Services
Team Foundation Server
Team Foundation ServerWeb Service InterfaceSQL Server 2005Analysis ServicesReporting ServicesWindows SharePoint Services
Single Server InstallWeb Service InterfaceSQL Server 2005Analysis ServicesReporting ServicesWindows SharePoint Services
Single Server Install supports up to 450 Users
Dual Server Deployment
Dual Server Install supports up to 3600 Users
24 x 7 Availability
Clustered Sql Server
Standby App Server
Separate Build Server
Separate Build server takes load off the TFS machine for Continuous Integration
Clustered Sql Server
Standby App Server
Proxy Server
Proxy Server allows fast connection for distributed development teams
Team Collaboration
Supports your development process
Example Workflow
Business
AnalystProjectManage
r
Dev Team
Test
Operations
ChangeRequests
Use Case
Non FunctionalRequirements
Bugs
Tasks
ProductionErrors
Example Workflow
Tasks
Business
AnalystProjectManage
r
Dev Team
Test
Operations
ChangeRequests
Use Case
Non FunctionalRequirements
Bugs
ProductionErrors
Access TFS from ...
* Requires 3rd party client
*
*
*
*
Work ItemsUse CasesNon Functional RequirementsRisksChange RequestsTasksBugs...
Example Work Item Types
What is in a Work Item?Title Description Current State
Who it is assigned to
Attachments
Links to other Work Items Full Audited historyAnything else you want …
Closed
Active
Resolved
Closed
Active
Resolved
Proposed
Use Case Tasks Bugs
Work Item User Interface
MS Project
SharePoint
Web Access
Multi Platform
Process TemplateConfigures TFS to support your Development ProcessMSF Agile and MSF for CMMISeveral 3rd party templates
Scrum, RUP, EssUP, XP, ThoughtWorks, Avanade …
Create your own or modify an existing oneStored in an XML fileProcess Template Editor tool
Software Quality
Cost of BugsCo
st /
£
Lifecycle stageDevelopment Testing UAT Released
Developers Time80% Debugging 20% Coding
Q: What if we could reduce debugging by 25%?
60% Debugging 40% Coding
A: We double the amount of code we can write
When to test?
Design
Test
Develop
Test
Develop
Test Early & Test Often
Design
TestDevelop
Design
TestDevelop
Design
TestDevelopIteration 1
Iteration 2Iteration 3
Tools for the DeveloperIntegrated Unit Testing
Integrated Static Code analysisSecurity ErrorsLocalisation problemsMemory issues…
Integrated ProfilerPerformance problemsMemory problems
Potential Sql Injection attack
Object not Disposed
Localisation Issue
Testing Tools
Web Test
SQL Unit Tests*
Unit Tests
*Requires Team Editionfor Database Professionals
Testing Tools
Web Test
SQL Unit Tests*
Unit Tests
*Requires Team Editionfor Database Professionals
Distribute TestCoordinate “Attack”Monitor AgentsCollate Results
Source Code RepositoryBuilt new from the ground up
Not based on SourceSafeSQL Server 2005 data storeCheckin Policies
Work Item associationUnit TestingStatic Analysis
ShelvingNot just for Visual Studio 2005/8Remote Proxy ServerMigration tools for code and history
*
Build ProcessScheduled BuildContinuous IntegrationBuild Process
Compile CodeExecute Unit TestsStatic Code Analysis
What went into the build?
Build ProcessExtensible Build Process
Compile CodeExecute Unit TestsStatic Code AnalysisBuild Virtual ServerConfigure Web Site / ServicesInstall ApplicationDeploy DatabaseGenerate Test DataSystem or Load test Entire application
Project Transparency
Measuring Quality%
Uni
t Te
st P
assi
ng
Application Areas
100%
0%
Code CoverageActive BugsCode Churn
Integrated Reporting
*
* *
* *
* * * *
** *
*
ProjectStructure
IterationStructure
WorkItem
Label VersionedItem
LatestVersion Changeset
Build TestResult
Project Velocity
Ad-hoc reports
Sprint Burndown
Development Practices Too Loose
How Effective Is Our (Outsourced) Team?
Inadequate Unit Testing
• Microsoft Developer Division runs on it:
3,187 Users116 million files & 28 million folders
1.5TB when compressed!42 million download per week 299,000 Work Items
SQL Server team use itOffice team moving nowWindows are just starting to move
Does it Work?
DBPro cut dev time in
halfConfigureSoft
ROI: 512%
Payback: 3 months
Social Networking Site
Project Managers can
manage 2-3 times as
many projects
Global Manufacturer
ROI: 286%
Payback: 4 months
EDS
ROI: 225%
Payback: 6 months
Dell
Developers 50% more
productive
KBC
© 2008 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
http://blogs.msdn.com/ukvsts/
Team Clients
Architect Edition
Architect Edition
Architect Edition
Developer EditionIntegrated Unit Testing
Integrated Static Code analysisSecurity ErrorsLocalisation problemsMemory issues…
Integrated ProfilerPerformance problemsMemory problems
Developer Edition
Test EditionRecord Web Tests from Internet Explorer
Test EditionData driven testsValidate returned dataGenerate Code for the test (C#, VB, …)
Test Edition
Multiple Clients
Web Test
SQL Unit Tests*
Unit Tests
*Requires Team Editionfor Database Professionals
The Real World
Web Test
SQL Unit Tests*
Unit Tests
*Requires Team Editionfor Database Professionals
Distribute TestCoordinate “Attack”Monitor AgentsCollate Results
Team Test in Microsoft
Database EditionTake control of database change
Offline, change management of the schemaRefactoring of database objects
Automate database testingUnit testing for Stored ProcsAutomatic generation of meaningful test data
Bring data professionals into the lifecycle
Work Item tracking for database changes
© 2008 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
http://blogs.msdn.com/ukvsts/
The problem with VSS labels
Label: Release 1.0
Start work on 2.0
Check in Released Code
Get Latest from1.0 Label
Fix bug
Where do Iput this?
Bug in 1.0!
Branching &Merging
Branch after release
Start work on 2.0
Fix bug
Bug in 1.0!
V2.0 Dev Branch
V1.0 RTM Branch
V1.0 Hotfixed Branch
Check in Released Code