next generation vsts and tfs (aka vsts past, present and future) adam cogan ([email protected])...

91

Upload: walter-rogers

Post on 25-Dec-2015

238 views

Category:

Documents


0 download

TRANSCRIPT

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

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/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

• 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 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?

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 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

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”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

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/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)

• 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 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

• 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

--

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