430 likes | 540 Views
Team Foundation Server the answer to all project management problems?. Richard Fennell Engineer Director Scottish Developer Glasgow 12 th February 2008. Agenda. The Need for TFS Core Components of TFS Add-ins and the API Build and Continuous Integration The future.
E N D
Team Foundation Server the answer to all project management problems? Richard FennellEngineer Director Scottish DeveloperGlasgow 12thFebruary 2008
Agenda • The Need for TFS • Core Components of TFS • Add-ins and the API • Build and Continuous Integration • The future
Software Projects Need... • Source Code Control • Work Item tracking • Project Management • Document repositories • Communications • Remote Access
Excel Project Team System Web Access Operations, QA and Help Desk Non-Microsoft Developer Visual Studio Team SystemApplication Life Cycle Management (ALM) Solution
Dev Team (Remote) Dev Team (Local) Build Server Business User Win 2003 Server SQL Server 2005 IIS 6.0 Version Control Proxy (Remote) Active Directory HTTP / S TCP/IP Team Foundation Server Team System Architecture
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 Beta 2 (Q3 2007) • Team Foundation Server 2008 (late 2007) • ‘Rosario’ – CTP now, release next year?
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
TFS 2008 Enhancements • SharePoint 2007 support • Enable use of a separate SharePoint farm. • Support for SQL Named Instances • Windows & SQL Server 2008 support • Installation on a domain controller • Non-default ports & web sites
TFS 2008 Enhancements • Add support for checkin policy overrides to the warehouse (an oversight from V1). • Destroy • Get Latest On Checkout • Performance & Scale improvements • Simplify installation • In-place upgrade from TFS 2005
demo Visual Studio & TFS
Visual Studio Power Tools • 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 • Best Practice Analyzer
Cool Tool – Visual Studio Web Access Power Tool ‘TeamPlain’
Integration with Project Server • Project Server 2007 VSTS Connector available on CodePlex
demo Add-ins
Process Template Editor • You can write your own process template • Or make edits to existing ones • Personal Workspace v1.0 Process • Process MeNtOR TeamGuide • Scrum Template (CodePlex) • Scrum Template (Conchango) • Scrum Template (Microsoft eScrum) • Scrum Template (Scrumptious) • XP for Team System (Extreme Programming) • Cognizant FDD Process • Content Bridge for VSTS • IRIS Process Author • IRIS Process Live • MSF for Agile Software Development • MSF for CMMI® Process Improvement
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
Using the TFS Event Handling But first a quick diversion into Continuous Integration.........
Why do we need continuous integration? • Replication of development environments can be hard • The project integration phase is hard • It is usually attempted only at the end of the project • It is prone to time overruns and often introduces bugs
What is Continuous Integration? • Based on automated builds • The solution is built whenever the code is changed • Should be started as soon as possible • And repeated as often as possible • A core part of most Agile processes • There are a variety of tools......
CruiseControl • Originally a Java-based framework for a continuous build process • Distributed under an open source BSD-style license and is free for use • Ported to .NET by Thoughtworks and hosted on SourceForge as ccnet
CruiseControl Image Source - http://cruisecontrol.sourceforge.net/overview.html
demo Using CruiseControl
Visual Studio Team Build Drop Location Team Foundation Client Create build type Start build View Reports Application Tier Team Build Web Services Build Machine Data Tier Sources Work items Team Build data Team Foundation warehouse MSBuild
demo Using Team Build for CI
Other Cool Tools • SVNBridge – Allows SubVersion client to access TFS • Personify Design’s TeamLook Outlook Add-in • Microsoft Israel’s Team System Outlook Add-in • TeamPrise Client Suite – TFS access from Macs, Linux and Eclipse IDE • NB all clients still need a Team Explorer CAL
The Future for TFS • Release Types • Servicing : Service Packs etc. • Out of Band releases: Power Tools • Visual Studio ‘Rosario’
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
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 – richard@blackmarble.co.uk WebSite– www.blackmarble.co.uk