Visual Studio 2005 Visual Studio 2008

advertisement
Next Generation VSTS and TFS
(AKA VSTS past, present and future)
Adam Cogan (AdamCogan@ssw.com.au)
Goal: Getting the most out of VSTS
TFS Now? Orcas? Rosario?
About Adam Cogan
Adam Cogan is the Chief Architect at SSW, a
Microsoft Certified Partner specializing in Office
and .NET Solutions.
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.
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 error
ArrayList 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 error
List<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 Edition for
Visual Studio Team Edition for
Visual Studio Team Edition for
SoftwareArchitects
Software Developers
Software Testers
Application Designer
Dynamic Code Analyzer
Load/Web Testing
Logical Datacenter Designer
Static Code Analyzer
Manual Testing
Deployment Designer
Code Profiler
Test Case Management
Unit Testing
Code Coverage
Class Designer
Visio and UML Modeling
Team Foundation Client (includes CAL)
Visual Studio Professional Edition
Visual Studio
Team Foundation
Version Control
Team Reporting
Integration Services
Team Build
Work Item Tracking
Project Portal
Project Management
Visual Studio Industry Partners
Process and Architecture Guidance
Visual Studio Team System
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
Q:\ When is Beta not a Beta?
A:\ ?
What’s Hot
• Team Foundation Server Power Tools v1.2
– Not a Toy
– http://msdn2.microsoft.com/enus/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
• Scenario. I’m seeing this on my
development server
Annotate Command
• What I want to see is this:
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 first
Not very useful in pinpointing who modified
which particular line
Annotate Command
There is a better way: Annotate
Like ‘Track Changes’ in Word
Only shows the last user who edited a line
against each line
Similar Subversions Blame
Q:\ Blame or Annotate?
Annotate Command
Annotate Command
• The real culprit was Peter Ahn!
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 checkin?
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 Policy
Forbidden Patterns Policy
No JPEGs in folders that aren’t \Images
Custom Path Policy
Once you start using them a lot
Plus 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/RulesToBetterProje
ctManagementWithTFS.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 files
Eg. 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
Q:\ What do you do with your SQL Dev?
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
SQL Server 2005 Management
Studio
Q:\ How do you get your screen shots in?
What’s Hot: SnagIt TFS Output
• Allow your testers to easily generate
tasks/bugs with screenshots in TFS
SnagIt Work Item
Q:\ How do you compare XML files?
Diff Dog
• Powerful Diff Tool with added support for
XML files from the team at Altova
Q:\ Who likes the built in merge tool?
(read only?)
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”
Free
Excellent replacement for the SharePoint Team
Project Portal
Source Control Integration
Create/Modify work items
View and Initiate builds
Will be available as a Power Tool
Will be available as part of Visual Studio Team
System 2008
Team Plain Portal
Source Control
• Team Project Portal lacked the ability to
interact with source control.
• Quickly grab a file via the web without
Visual Studio
View and Modify Work Items
Build Server
• View Builds
• Start a build
Subscribe to TFS Alerts
• Subscribe to TFS Alerts via the web
• Add a custom alert subscription
– No need to use BiSubscribe.exe!
Q:\ Want more code rules?
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/HowToUseTheSVNBridge
ToGetTortoiseSVNWorkingWithCodePlex.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.5
WPF, WCF, WF, Cardspace support
2. Targets .NET Framework 2.0
(aka Multi-targeting)
3.
4.
5.
6.
Handles data more smoothly with LINQ
Better offline experience (with TFS)
AJAX for ASP.NET (built in)
Unit Tests in Professional Edition
VS2008 Other Highlights
Other Highlights
7.Continuous Integration, Build Triggers
and Drops *
8.Annotate (Part of TFS Power Tools)
Folder Diff
9.Get Latest on Check Out (VSS
Behaviour)
10.Cyclomatic Complexity analysis *
11.Large Group Sync (Bugfix for adding
large groups of users to TFS)
• Lets talk about my favorite future features
• My least favorite feature first
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
Q:\ When should we start using it?
A:\
A:\ NOW
VS 2008 Multi-targeting support
Builds
• Retention Policies
• Build Triggers
• Build Explorer
Note: Access builds by right clicking the Build Folder in
Team Explorer
Get Latest on Check out
• Same behavior as VSS
Cyclomatic Complexity
• Analyze the complexity and maintainability of your code
Rosario (VS 2010?)
What is coming up
Not in the next release….
But the one after
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 control
Note: 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
• Allows many levels of nesting
• You can use Excel or Team Explorer
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/B
etterSoftwareSuggestions/TeamFoundatio
nServer.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
Luke
More Info
• Brian Harry’s Blog
• http://www.ssw.com.au/ssw/Standards/R
ules/RulesToBetterProjectManagementWit
hTFS.aspx
2 things…
AdamCogan@ssw.com.au
Download