Next Generation VSTS and TFS (AKA VSTS past, present and future) Adam Cogan ([email protected])...
-
Upload
walter-rogers -
Category
Documents
-
view
237 -
download
0
Transcript of Next Generation VSTS and TFS (AKA VSTS past, present and future) Adam Cogan ([email protected])...
Next Generation VSTS and TFS (AKA VSTS past, present and future)
Adam Cogan ([email protected])
Goal: Getting the most out of VSTS
TFS Now? Orcas? Rosario?
About Adam Cogan
At SSW, Adam has been developing custom solutions for businesses across a range of industries such as Government, banking, insurance and manufacturing since 1990 for clients such as Microsoft, Quicken, and the Fisheries Research and Development Corporation.
Adam Cogan is the Chief Architect at SSW, a Microsoft Certified Partner specializing in Office and .NET Solutions.
Agenda
• History of Visual Studio• What’s Hot Today
– Team Foundation Power Tools v1.2– Microsoft Visual Studio Team System Web Access
(aka Team Plain)– MSSCCIs– Xml Compare Tools (Diff Dog, Xml Difference)– SSW Code Auditor– MS Build GUI (WPF)– SVN Bridge– And more…
• What’s Coming Up– Road Map– Visual Studio 2008 (aka “Orcas”) includes TFS 2008
(Better Build Support & CI)– Visual Studio Team System (aka “Rosario”)
(Lots of goodness)
A Trip Down Memory Lane
• Visual Studio 97– First attempt to create a standard IDE for many
different languages– VB 5.0, C++ 5.0, J++ 1.1, Visual FoxPro 5.0 for
Windows programming– Visual InterDev for ASP– Source Safe 5.0
Visual Studio 6.0
• Released in 1998• Version 6 of all the languages
– Even Visual J++ which was 1.1– Last version of Visual Basic (classic)
Visual Studio .NET (2002)
• Managed code development environment using the .NET Framework (i.e. runs in a CLI-compliant virtual machine)
• Code was compiled into MSIL or CIL• C# hit the scene as a new programming language• VB became VB.NET• ASP.NET and web services• Windows forms
• Managed C++ • All languages unified into one IDE except for
FoxPro (now sold separately)
Visual Studio .NET 2003
• Updated .NET Framework to 1.1• Split into four editions:
– Academic– Professional– Enterprise Developer– Enterprise Architect (Included a Visio like
modelling engine)
Now: Visual Studio 2005
• .NET Framework 2.0– ADO.NET 2.0 (MARS)– ASP.NET 2.0 (Web Site model minus IIS)– Support for Generics (Strongly typed arrays)
• The following code compiles fine when there is an obvious errorArrayList customers = new ArrayList();customers.Add(new Customer("Bob", "Dole"));customers.Add(new Customer("Jack", "Black"));customers.Add(new Customer("Michael", "Michael"));customers.Add("Fake customer");Customer bob = (Customer)customers[0];Customer fake = (Customer)customers[3];
• The following code will give a compile errorList<Customer> customers = new List<Customer>();customers.Add(new Customer("Bob", "Dole"));customers.Add(new Customer("Jack", "Black"));customers.Add(new Customer("Michael", "Michael"));customers.Add("Fake customer");Customer b = customers[0];
– Built in Class Designer
Now: Visual Studio 2005
• Split into 3 main editions: – Software Architects, – Software Developers, – Software Testers– Or one umbrella system called Team Suite
• Express Editions• Team Foundation Server
– New source control with a SQL backend– Task Management– Build server– Project Portal– Reporting
Visual Studio Team System
Version Control
Work Item Tracking
Team Reporting
Project Portal
Visual Studio
Team Foundation Integration Services
Project Management
Pro
cess
an
d A
rch
itect
ure
Gu
idan
ce
Dynamic Code Analyzer
Visual Studio Team Edition for
SoftwareArchitects
Static Code Analyzer
Code Profiler
Unit Testing
Code Coverage
Visio and UML Modeling
Team Foundation Client (includes CAL)
Visual Studio Professional Edition
Load/Web Testing
Manual Testing
Test Case Management
Application Designer
Logical Datacenter Designer
Deployment Designer
Visual Studio Team Edition for
Software DevelopersVisual Studio Team Edition for
Software Testers
Vis
ual S
tud
io In
du
stry
Part
ners
Team Build
Class Designer
What do most people love about Team System
• Source Control• Work Items• Source Control + Work Items
What do most people love about Team System
More….
• Web Test• Check in Policies• Reporting• Unit Testing
--
What’s Hot
• Team Foundation Server Power Tools v1.2– Not a Toy– http://msdn2.microsoft.com/en-us/vstudio/aa718351.aspx– Annotate– Check-In Policy Pack– Process Template Editor– TFS Power Tool Commands (tfpt.exe) – MS Build Task for testing
• How do you tell which version you have installed?
Annotate Command
• Q:\ Who turned CustomsErrors “Mode” to be “RemoteOnly” on our dev server?– Since we’re in development we would like to
see the errors and stack trace instead of seeing a generic error screen.
• A:\ ?
History Command
• Right click and view the History of the file
– Tells us who were the last people to modify it but not who changed this line.
– In this case Evan was the last to modify this file so we’ll go an blame him firstNot very useful in pinpointing who modified which particular line
Annotate Command
There is a better way: AnnotateLike ‘Track Changes’ in WordOnly shows the last user who edited a line against each lineSimilar Subversions Blame
Q:\ Blame or Annotate?
Process Template Editor
• Edit Work Items• Edit whole Template
– Reduce Work Item Types– Change Iterations
Real World Warning:• The tool doesn’t do everything• For most real world customizations you will
need to get dirty with XML
Power Tool Commands
• Unshelve Command• Rollback Command
– C:\Program Files\Microsoft Team Foundation Server Power Tools\tfpt.exe rollback [/changeset:changesetnum]
– Do you know how to Rollback changes in TFS?• Online Command * Included in VS.NET 2008• GetCS Command (Get Changeset)• UU Command (Undo Unchanged)• Review Command• History Command• Workitem Command• Query Command• TreeDiff Command (GUI) * Like Compare?• Treeclean Command * Only for ??
– tfpt treeclean /delete• Annotate Command (GUI)
Tree Diff
Q:\ What files have changed since last check-in?
A:\ pending changes windows
Q:\ What’s the difference between the files in this branch and another branch?
Q:\ What files don’t I have in Source Control?A:\ Use Tree Diff
cd "C:\Program Files\Microsoft Team Foundation Server Power Tools\TFPT.exe"
tfpt treediff "C:\Program Files\SSW Code Auditor\Samples\NorthwindWindowsCS2005" $/Northwind/NorthwindWindowsCS2005
Summary
Recap on the names• TreeDiff Command (GUI) * Like Compare?• Treeclean Command * Only for Hairy Chested
– tfpt treeclean /delete
Instead (recommended):• Compare (is the UI)• Folder Difference (is the UI Results)
Check-In Policy Pack
Changeset Comments PolicyForbidden Patterns Policy
No JPEGs in folders that aren’t \Images
Custom Path PolicyOnce you start using them a lotPlus performance
Work Item Query Policy
Only shows in VS2005
Changeset Comments Policy
Enforce comments with check-ins (always a good thing)
http://www.ssw.com.au/ssw/Standards/Rules/RulesToBetterProjectManagementWithTFS.aspx
Forbidden Patterns Policy
• Specify a file extension or a regular expression that you can use to keep certain file types from being checked in to source control.
Eg useful for DLL-files (\bin) - 2 choices!Eg. build droppings (aka artefacts)Eg. VS.NET automatically-generated filesEg. code generated files?
Regexs rock Q:\ .jpg in \images
Custom Path Policy
Works with other TFS Policies. Lets you define policies for a specific path in the
source control tree.
Eg. SSW Code Auditor Policy for $/Northwind/Business but not on $/Northwind/Database
(Performance)
Work Item Query Policy
• 2 choices!• Specify a team query to which the work item
associated with a check-in must belong.• E.g. Must be working on items in Iteration 1
--What’s Hot
What’s Hot: MSSCCI Providers
• Access TFS from the following applications:– Visual Studio 2003 – Visual Basic 6.0, SP6 – Visual C++ 6.0, SP6 – Visual FoxPro 9, SP1 – Visual Studio .NET 2002 – Microsoft Access 2003, SP2 – *SQL Server Management Studio 2005 – Sparx Enterprise Architect 6.1 – Sybase PowerBuilder 10.5 – TOAD for SQL Server 2.0
What’s Hot: SnagIt TFS Output
• Allow your testers to easily generate tasks/bugs with screenshots in TFS
Araxis Win Merge Tool
• With Araxis Merge 2007 you can make changes!– Configure Visual Studio to use Araxis as the
merge tool– Tools > Options > Source Control > Visual
Studio Team Foundation Server > Configure User Tools
What’s Hot: VSTS Web Access
• Originally developed by devBiz• Bought out by Microsoft in March 2007• TeamPlain will now be re-branded as “Microsoft
Visual Studio Team System Web Access”FreeExcellent replacement for the SharePoint Team Project Portal
Source Control IntegrationCreate/Modify work itemsView and Initiate builds
Will be available as a Power ToolWill be available as part of Visual Studio Team System 2008
Source Control
• Team Project Portal lacked the ability to interact with source control.
• Quickly grab a file via the web without Visual Studio
Subscribe to TFS Alerts
• Subscribe to TFS Alerts via the web• Add a custom alert subscription
– No need to use BiSubscribe.exe!
SSW Code Auditor – Check In Policy
http://www.ssw.com.au/ssw/CodeAuditor/• A Code Analyser• 200 Built in Rules• Write your own in
simple, regex, VB.NET, C#• Check-In policy for TFS• Checks that code being checked in is of
high quality and following the many standards located at http://www.ssw.com.au/ssw/Standards
Windows Explorer
• Why do I have to use Visual Studio to access source control?– You can now use TortoiseSVN with SVNBridge
Alpha, no stable releases as yet– But you can get it working by following Scott
Hanselman’s blog• http://www.hanselman.com/blog/HowToUseTheSVNBridgeTo
GetTortoiseSVNWorkingWithCodePlex.aspx
Visual Studio Road Map
• Visual Studio 2008 (Orcas) – Beta 2 is out– RTM to be released Feb 2008
• Visual Studio Team System 2008 (Rosario)– August CTP is out– RTM TBA
VS2008 Major Highlights
1. Targets .NET Framework 3.0 and 3.5WPF, WCF, WF, Cardspace support
2. Targets .NET Framework 2.0 (aka Multi-targeting)
3. Handles data more smoothly with LINQ4. Better offline experience (with TFS)5. AJAX for ASP.NET (built in)6. Unit Tests in Professional Edition
VS2008 Other Highlights
Other Highlights7.Continuous Integration, Build Triggers
and Drops *8.Annotate (Part of TFS Power Tools)
Folder Diff9.Get Latest on Check Out (VSS
Behaviour) 10.Cyclomatic Complexity analysis *11.Large Group Sync (Bugfix for adding
large groups of users to TFS)
Name Changes
Visual Studio 2005 Visual Studio 2008
Visual Studio Team System Visual Studio Team System 2008
Visual Studio 2005 Team Suite Visual Studio Team System 2008 Team Suite
Visual Studio 2005 Team Edition for Software Architects
Visual Studio Team System 2008 Architecture Edition
Visual Studio 2005 Team Edition for Software Developers
Visual Studio Team System 2008 Development Edition
Visual Studio 2005 Team Edition for Software Testers
Visual Studio Team System 2008 Test Edition
Visual Studio 2005 Team Edition for Database Professionals
Visual Studio Team System 2008 Database Edition
Visual Studio 2005 Team Foundation Server
Visual Studio Team System 2008 Team Foundation Server
Visual Studio 2005 Team Test Load Agent
Visual Studio Team System 2008 Test Load Agent
Name Changes (cont)
Visual Studio 2005 Visual Studio 2008
Visual C# 2005 Express Edition Visual C# 2008 Express Edition
Visual C++ 2005 Express Edition Visual C++ 2008 Express Edition
Visual Visual Basic 2005 Express Edition
Visual Visual Basic 2008 Express Edition
Visual Web Developer 2005 Express Edition
Visual Web Developer 2008 Express Edition
Visual Studio 2005 Standard Edition
Visual Studio 2008 Standard Edition
Visual Studio 2005 Professional Edition
Visual Studio 2008 Professional Edition
Builds
• Retention Policies• Build Triggers• Build Explorer
Note: Access builds by right clicking the Build Folder in Team Explorer
Visual Studio Team System 2008 “Rosario”
• * Hierarchical work items• Better integration with Microsoft Project
Server• Full traceability to track project
deliverables against business requirements
• Back up and restore Team Projects• Better Testing Tools• Improvements to multi-server
administration,• Improvements to build and source controlNote: TFS 2008 may/may not take
advantage of any new features of Katmai
Hierarchical Work Items
Q:\ What problems does it solve?A1:\ Show work item dependencies
• i.e. ‘Setup database’ needs to be completed before ‘Set up backup schedule’
A2:\ Easily show how one high level task is broken down into smaller subtasks
Hierarchical Work Items
• When you insert a row, it creates parent child relationship
• Collapse All/Expand All, – hidden Shift+Left Arrow and– Shift+Right Arrow– mmmmm.... where is the context menu
• ggrrr… View/Edit Work Item Links and Attachments– "Open" opens read only in IE.... WTF
--
What I’d like to see
• http://www.ssw.com.au/ssw/Standards/BetterSoftwareSuggestions/TeamFoundationServer.aspx
Pricing
• Big guys• Medium guys• Little guys• Tiny teams (5 user license)
• TFS Server *• CAL* -• VS PRO without MSDN + TFS CAL• VS PRO with MSDN + 1yr SA• Team Edition without MSDN + TFS CAL *• Team Edition with MSDN + TFS CAL + 1yr SA • Or Team Suite *
• Bottom Line…. It is good value in most dev environments
More Info
• Brian Harry’s Blog• http://www.ssw.com.au/ssw/Standards/Rule
s/RulesToBetterProjectManagementWithTFS.aspx