Team Foundation Server
the answer to all project management problems?
Richard Fennell
Director
Agenda
• The Need for TFS
• Core Components of TFS
• Add-ins and the API
• The future – Orcas and beyond
Software Projects Need...
• Source Code Control
• Work Item tracking
• Project Management
• Document repositories
• Communications
• Remote Access
Visual Studio Team System
Application Life Cycle Management (ALM) Solution
Excel
Project Team System
Web Access
Operations, QA and
Help Desk Non-Microsoft
Developer
Team System Architecture
Business User Dev Team (Local)
Dev Team (Remote)
Build Server
Win 2003 Server
SQL Server 2005
IIS 6.0
Version Control
Active Directory Proxy (Remote)
HTTP / S
TCP/IP
Team Foundation Server
System Requirements
Versions
• Team Foundation Server 1.0
– early 2006
• Team Foundation Server 1.0 SP1
– late 2006
• Team Foundation Server Orcas Beta 1
– Q2 2007
• Team Foundation Server 2008
– late 2007 or early 2008
Installation Tips
• Read and follow the MSDN walk-thru
• Do not deviate from the walk-thru
• Not even for a moment
• And keep trying over and over......
• Using a VPC for the front end server can help
as you can commit/roll back as you go.
Installation Tips
• Make sure there are no domain/group policies
you have forgotten
• If the reporting service configuration stage
fails make sure you drop (and delete) the DB
files
• Use the log files if you have problems
• Use AD groups for security
TFS & VSS Differences
• Architecture
– TFS: client/server, VSS: client-side
• Security
– Windows/AD vs. VSS based security
• Reliability
– VSS database integrity can be compromised
– TFS uses SQL Server
• Scalability
– TFS can support up to 2000 user per instance and data
size is limited only by physical media & SQL Server
limits ( in the terabytes)
TFS & VSS Differences
• TFS does NOT perform a “get latest” on
checkout
– “get latest” and “check out” are 2 separate ops
– “get latest” is explicit in TFS, controlled by the user
– Provides a consistent snapshot of code
• TFS does NOT add a file until checked in
Migration from VSS to TFS
• VSSConverter migration tool
• Imports VSS repository into TFS
• Command line interface
• Can migrate most VSS repositories easily
– VSS Shared files are copied
– VSS Pinned items are labeled as “PINNED” in TFS
Workspaces
• Workspaces provide Isolated areas
• A single PC can have many workspaces
• Workspaces are a powerful tool with
branching
Branching
• Allows parallel development
• But for anything that you don't want to
service or patch, labelling is sufficient.
• For a release that you do want to service or
patch, branching is the way to go.
• Using merging, you can move changes
between branches.
Branching
demo
Visual Studio & TFS
TFS Tools & Add-ins
Visual Studio Power Toys
• MSSCCI provider for other IDEs
• Team Foundation Power Toys
– Tfpt.exe command line tools
– Process Template Editor
– Check In Policy Pack
– Test Tools Build Task
Cool Tool – Attrice Team Foundation
Sidekicks
Cool Tool - TeamPlain Web Access
Cool Tool - eScrum
Integration with Project Server
• Project Server 2007 VSTS Connector available
on CodePlex
Customisation
• Process Template Editor – Power Toys
• TFS Event Handlers
– Attach to TFS’s eventing Service and register for an
event such as CheckInEvent
– Write a web service to that ‘does something’
when event trigger
– See my DDD4 presentation on Continuous
Integration for a sample
• .NET API
Using the TFS API
• Team Explorer installs all the DLLs are in the
GAC, but doesn’t registered them for Visual
Studio
• Can write own desktop clients to do anything
you can in Team Explorer or the command line
Other Cool Tools
• SVNBridge – Allows SubVersion client to access
TFS
• Conchango’s Scrum Project Guidance Pack
• Personify Design’s TeamLook Outlook Addin
• Microsoft Israel’s Team System Outlook Addin
• TeamPrise Client Suite – TFS access from Macs,
Linux and Eclipse IDE
• NB all clients still need a Team Explorer CAL
So what is missing in TFS 1.0?
• TFS Work Item Hierarchy
• WSS 3.0 Support
• Disconnected working is limited
• I am sure other people have other issues.....
The Future for TFS
• Release Types
– Servicing : Service Packs etc.
– Out of Band releases: Power Toys
– Major Releases: Visual Studio 2008
Visual Studio 2008 Administration
• Share Point 2007 support
• Enable use of a separate Share Point farm.
• Support for SQL Named Instances
• “Longhorn” server support
• Sync Large Groups (~30,000 or more)
• Installation on a domain controller
• Non-default ports & web sites
• Simplify installation
• Upgrade from TFS 2005
Visual Studio 2008 Version Control
• Add support for checkin policy overrides to the
warehouse (an oversight from V1).
• Annotate & Folder Diff
• Destroy
• Get Latest On Checkout
• Workspace improvements
• Performance & Scale improvements
• Migration toolkit between TFS and other systems
Visual Studio 2008 Build
• Support multi-threaded builds with the new MSBuild.
• Continuous Integration
• Improved ability to specify what source, versions of
source, and other build properties.
• Improved ability to manage multiple build machines.
• Stop and delete builds from within VS.
• Simplified ability to specify what tests get run as part
of a build.
• The ability to store build definitions anywhere in the
version control hierarchy
Cool Tool - Team Build Ticker
So is TFS the answer to all project
management problems?
Good VSTS Resources
• Patterns & Practices Team Development with TFS
Guide
– http://www.codeplex.com/TFSGuide
• “How Do I?” Video for Visual Studio Team System
– http://msdn2.microsoft.com/en-us/teamsystem/bb507749.aspx
• Microsoft Visual Studio Team System Virtual Labs
– http://msdn2.microsoft.com/en-us/virtuallabs/aa740411.aspx
• Team System Widgets
– http://teamsystemexperts.com/widgets.aspx
Good VSTS Blogs
• Brian Harry (Product Unit Manager for Team
Foundation Server )
– http://blogs.msdn.com/bharry
• Rob Caron (Lead Product Manager for Developer
Content Strategy at Microsoft)
– http://blogs.msdn.com/robcaron
• Roy Osherove (Blog on TFS, Agile and Testing)
– http://weblogs.asp.net/rosherove
For Further Information
• My random thoughts ‘But it works on my PC!’
http://blogs.blackmarble.co.uk/blogs/rfennell
• You can also get in touch via:
Email –
[email protected] WebSite – www.blackmarble.co.uk