# Monday, August 16, 2010

Office Outlook 2010 LogoWe recently got awesome new laptops at work (which are just awesome BTW) and on the standard image included a Team Foundation Server tool that I haven’t used in a while:  TeamCompanion 3.0.  I had used earlier releases of the tool but always seem to forget to install it whenever I pave my machine as I do quite frequently.  It’s been a while and I must say… the 3.0 version is just awesome.  I’d like to go over a few things that I really like in the latest release.

Experience

The experience of connecting to TFS inside Outlook is just first-class.  The same icons that are used in Visual Studio Team Explorer are the ones that appear in Outlook.  That really does make a difference for me…  Notice that I can also add certain work item queries that I’m interested in to the Favorites area as well.
imageimage

If you are using Outlook 2010, you’ll notice that TeamCompanion adds a handy ribbon tab:

image

Work Items Galore

There are so many things you can do whenever working with work items with TeamCompanion!  For instance, let’s say you get an e-mail for a customer of a great feature request.  It’s super quick to create a new feature request work item or attach the e-mail to an existing work item.

image

What’s even cooler is that if the e-mail refers to a specific work item in the content (i.e. “Bug 1234”) then TeamCompanion can let you open the rich work item form to look at the details or edit the work item.  This is especially helpful for alert e-mails that you may get from TFS.

image

Even cooler is that all of the normal Outlook features work like replying, forwarding, flagging, categorizing, setting alerts, etc.

Other Work Item Features:

  • Offline Work Item Support
  • Scheduling Work Item Queries to Run
  • Great Rendering of a Work Item
  • Creating Tasks/Meeting Requests from Work Items
  • Printing
  • Editing Areas & Iterations
  • Bulk Editing
  • Searching Work Items
  • “Query By Example”

Reports

I think my favorite feature of TeamCompanion has to do with handling reports.  By default, the rich reports you get with TFS are all scoped at the Team Project level.  However, I find myself frequently needing to filter to a particular Area Path and Iteration Path.  TeamCompanion actually allows you to save those common filters that you perform every day and store them.  Allows you to have all of the presets that you want.

Another handy feature is the ability to send an e-mail with the report easily within Outlook.  Nice!

image

I’m certainly not doing the latest release of the product justice.  They did a great job with improvements and new features from previous versions that I have used.  I’d suggest you’d download the trial and kick the tires.

 

Ed Blankenship

posted on Monday, August 16, 2010 5:39:18 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback

Stack Exchange Area 51 LogoSome of the Visual Studio ALM MVPs have gotten together to drive the creation of a new Stack Exchange site dedicated to the Visual Studio ALM family of products (which includes Team Foundation Server.)  We were able to get past the “Definition” phase and now need to enough people to “Commit” to using it so that we can get the site off the ground.  If you aren’t familiar with the Stack Exchange concept, it’s an interesting way to ask questions and help answer them as well.  One of the sites that has been around for a while that I have participated in from time to time is Stack Overflow.  You basically end up with high-quality answers because others can agree/disagree with the answer and provide feedback or more information.

Help us out by indicating that you are going to commit to contributing to the site whenever it gets created.  Thanks for all your help!

Link:  Commit to Visual Studio ALM at Stack Exchange

 

Ed Blankenship

posted on Monday, August 16, 2010 4:56:48 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
# Saturday, August 07, 2010

There is a great article in the August 1, 2010 edition of the SD Times by Dave Worthington (@dcworthington) about the Visual Studio 2010 ALM tools including Team Foundation Server 2010.  It’s titled Microsoft’s islands in the stream.”  Some really great colleagues in the ALM community have been interviewed and provided some pretty honest feedback from what we have been seeing over the last year or so.  Check it out!

 

Ed Blankenship

posted on Saturday, August 07, 2010 6:30:13 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
# Wednesday, August 04, 2010

This is some really exciting news for customers of Visual Studio 2010 and Team Foundation Server 2010!  Today, Microsoft has announced that customers who have purchased Visual Studio 2010 Ultimate with MSDN or Visual Studio 2010 Test Professional with MSDN now receive the Lab Management capabilities for Team Foundation Server!  That means no per-processor licensing fees for your physical host servers that will be hosting your virtual machines!

Earlier this year, I passed on Lab Management news that indicated that it would cost $1,599 per processor (retail.)  Microsoft has listened to the feedback and has also made it a “feature” in the Visual Studio family instead of a completely separate product.

Microsoft has also announced an update to the Lab Management functionality in the different products to bring it to full RTM/RTW status.  You’ll recall that when Visual Studio 2010 released earlier this year that the Lab Management features ended up still being released in a “Release Candidate” status.  The product team has spent the last few months gathering feedback and include updates to improve performance throughout the product.  The “patch” will be available later this month.  I highly recommend updating to the latest version by installing the patch as soon as it becomes available.

When it is released, you will see the following “extra” installation media become available in your MSDN Subscriber Download listings:

  • System Center Virtual Machine Manager* (SCVMM)
  • Visual Studio 2010 Agents

*A grant of “limited use” rights for SCVMM are included.  This means that you can only use SCVMM for your Visual Studio 2010 Lab Management test lab.

This is a great move for customers.  Creating a virtual lab management can be an expensive endeavor for business.  I recall visiting customers who have spent tens of thousands of dollars on competing products like VMWare Lab Manager.  This is really bringing virtual lab management to everyone!

If you are curious about more information, see Brian Harry’s announcement.

 

Ed Blankenship

posted on Wednesday, August 04, 2010 1:55:03 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
# Thursday, July 29, 2010

For quite a while, the Developer Division at Microsoft continued to use their internal build systems to build Visual Studio.  TFS Build had only been used by certain teams within the division but not standard across the division.  I had the opportunity to visit one of the huge build labs last time I was in Redmond and it’s impressive.  It was just one of them too. Smile  I really got an appreciation for the complexity that was involved in building .NET, Visual Studio, and Team Foundation Server.   We’re talking huge builds that take up a lot of time.

Brian Harry just mentioned that they had hit a huge milestone for the division during their MQ phase and have gotten a build to run through the TFS 2010 Build system!  Sounds like they still have some work to go to get it tuned but getting a Visual Studio build through TFS Build is huge accomplishment!  Looks like they have even taken some of the experiences they gathered and already integrated improvements into the next version of the product.  That just benefits all of us as customers whenever Microsoft is eating their own dogfood. 

Congratulations!

 

Ed Blankenship

posted on Thursday, July 29, 2010 8:28:23 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
# Tuesday, July 06, 2010

One of my favorite new build workflow activities is the FindingMatchingFiles activity.  It’s an activity that is provided out of the box for use during Team Build that returns an IEnumerable<string> of all of the files that match a particular wild card string.

It’s available in the toolbox under the Team Foundation Build Activities tab.  The full name of the activity is:  Microsoft.TeamFoundation.Build.Workflow.Activities.FindMatchingFiles.

TFS 2010 Build Workflow Activities Toolbox

Here is a typical usage if you are looking for all .CSS files in a particular folder.

TFS 2010 Build Workflow FindMatchingFiles Activity

The problem I was attempting to solve is how to find all of the files recursively in all of the subfolders as well.  All I had to do was change the match pattern argument to include a “**” in front of the original pattern and it worked like a charm!

TFS 2010 Build Workflow FindMatchingFiles Activity

Ed Blankenship

posted on Tuesday, July 06, 2010 3:33:31 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
# Thursday, July 01, 2010

Usually before checking in to TFS Version Control, I will navigate to the pending changes window and compare/diff with the latest version to see what changes I have made.  It’s a good habit to go through just to make sure you aren’t checking anything in that you don’t intend to be committed.

I’ve just been doing it the long way every time by choosing the option from the context menu.

Compare with Latest Version in TFS Pending Changes Window

A client asked if there was a quicker way and I ended up finding out that there are two undocumented features to diff the files in the pending changes window:

  • Shift + Double-Click on the Item
  • Shift + Enter on the Item

Updated – (7/1/2010 11:45 AM)

You can use a registry key to even swap the view/diff behavior in the Pending Changes tool window.  Setting this registry key will make double-click/enter run compare, and shift+double-click/enter view the file.

  • Path:     HKCU\Software\Microsoft\VisualStudio\<ver>\TeamFoundation\SourceControl\Behavior
    • <ver> = 10.0 for Visual Studio 2010 & Team Foundation Server 2010
    • <ver> = 9.0 for Visual Studio 2008 & Team Foundation Server 2008
    • <ver> = 8.0 for Visual Studio 2005 & Team Foundation Server 2005
  • Value:   DoubleClickOnChange (DWORD)
    • 0 for view as the primary command (default)
    • 1 for compare as primary command

How about that?

 

Ed Blankenship

posted on Thursday, July 01, 2010 9:25:49 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
# Friday, June 18, 2010

I mentioned in my last blog post about using TFS to manage TFS that I’d talk a little about how I use TFS 2010 to manage and deploy process template changes.  I’m excited to be able to provide some more details about it!

Background

I use to create batch files for deploying process template changes and store them in version control.  There’s certainly nothing wrong with that approach but I really wanted have an easier way to maintain this process that allowed reusability and even continuous integration.  Whenever I checked in a change to the process template branch for the test environment, I wanted it to immediately deploy those changes to that environment.  I also wanted to make it super easy for others to be able to make changes and then queue a deployment.

I need a build definition using TFS 2010 Build!

Build Process Template

So I have created a build process template that does exactly this.  My goals for this process template were to not require any custom workflow activities or custom assemblies to be required to get the build process template to work.  You simply only need to check-in the XAML file and begin using it.  That one requirement ended up being tougher to follow than I originally thought.  I had to take a few alternate methods that didn’t always end up with the best user experience but I think you’ll see that the template is still helpful.  (If you have ideas for improvements, please let me know!)

I hope you’ll see it as an example for creating “builds” that don’t necessarily compile & run tests.  Using Windows Workflow Foundation in Team Build 2010 makes it extremely useful for any type of process you want to automate.

Overview

At a high level, here is what this build process template attempts to accomplish:

  • Standard Build Features:
    • Build Versioning
    • Label the source using the version number
    • Getting Latest Version or Specific Version
    • Associate Changesets & Work Items
    • Gated Check-In, Continuous Integration, etc.
  • Ability to specify multiple team projects to update
  • Ability to specify multiple work item types to update
  • Backup each of the the work item type definitions that are currently being used in each team project (just in case!)
  • Copy the version of the work item type definitions that are used and backups to a drop folder

Disclaimer:  I’m going to give this template the “works on my machine” label.  This template may not perform as advertised including blowing up your server, deleting everything on your hard drive, or cause your hair to fall out.  Use at your own risk!  You have been warned.  If it works for you, awesome!  If not, please let me know about any issues or areas of improvement.

How to Use the Build Process Template

After you downloaded the template and check the XAML file into your build process templates folder, you’ll want to create a new build definition to use it.  Make sure you have also checked in your process template to a version control folder.

Workspace Definition

Specify the version control folder that contains your process template.  By default it will download the entire team project and scoping down the build process template allows your build to run quicker since it is not downloading everything in the team project.

image

Process Tab

Choose the new build process template file from the available process templates:

Note:  If you don’t see the build process template as an available item in the combo box, you’ll want to click New and then choose the XAML file you checked in as the existing build process template.

image

The next thing you’ll want to do is specify the team projects you want to update and the URL for your TFS 2010 team project collection.

image

The last two required process parameters are extremely important.  You need to specify the work item type names and the server path locations to the work item type definition (XML) files.  Each of the process parameters are string lists so you’ll want to make sure you match them up in the exact order in both lists.

Work Item Type Names (for MSF Agile)

SNAGHTML996183

Work Item Type Definition Files

Make sure you specify the server path location for each of the WITD files!  I ended up reusing a dialog for this purpose that you may have been used to seeing in other builds you have configured.  It’s the same editor that allows you to choose solution and project files to build.  We can use it for this purpose too!  Just be sure to select the “All files (*.*)” filter for the Items of Type combo-box.

SNAGHTMLa1fa96

Again – make sure you put each of the XML files in the same order that you used for the work item type names.  For example, your Bug.xml file will be the first in the collection and UserStory.xml will be the last if we are using the same WITs as the figure above.

Other Details

Make sure that your build agents have Visual Studio Team Explorer 2010 installed so that witadmin.exe will be located.  You can always use the new build agent tagging functionality to identify which agents have Team Explorer available and then use the Agent Settings process parameters to limit the build to only reserve agents with the tags you specify.

Finally, make sure your build service account has the appropriate permissions to be able to import new work item type definitions to your team projects.

 

Download the Build Process Template

 

Let me know if you have any feedback about things you like or areas for improvement!

Ed Blankenship

posted on Friday, June 18, 2010 6:00:00 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
# Thursday, June 17, 2010

Many years ago, I really thought the fact that SQL used itself to manage itself was pretty cool (i.e. master database.)  For the past several years, I have been doing something pretty similar and someone just reminded me that it was an interesting concept.  I use TFS to manage the artifacts needed to manage TFS.

TFS Team Project

The first thing I end up doing is creating a team project usually named “TFS” to hold all of the artifacts.  I personally only give the TFS Administrator permissions to the project.  As you’ll see, there may be security sensitive content that may be stored in this team project.  From time to time, other developers may help out with some of the custom tools that can be created to extend TFS.  I’ll create special team project security groups and permissions to those security groups for those particular scenarios.

Reporting Service Encryption Key Backup

After I have setup the TFS team project, the first thing I check-in is the backup of the encryption key from SQL Reporting Services.  It’s extremely important for disaster recovery scenarios that you have a backup of the key since the encrypted contents of SQL Reporting Services won’t be recovered if you don’t have the key.  By checking the key file into version control, you can always make sure you’ll have it backed up with the regular SQL backup process of the databases.

image

See for more information:  Back Up the Reporting Services Encryption Key

Process Templates

image Managing changes to process templates is one of the main reasons I had originally had the idea of creating a team project to manage TFS artifacts.  I think version control is the perfect place to manage changes to all parts of your process templates, especially work item type definition files.  I even create two branches of the process template folders:  one for the production environment and one for the test environment.  This allows you to manage changes just as you would your software releases.  Work item type definition changes definitely require some testing especially since there are risks in causing issues with certain changes.  (Has anyone ever messed up the warehouse?) :)

Build Process Templates

I keep all of the “golden” copies of build process templates in this team project.  I usually perform my actual development work for build process templates in this team project as well and will usually have some test build definitions to try them out.  You could also easily use your staging or test TFS server for this effort too.

Custom Build Assemblies for Build Controllers

One of the awesome new features for TFS 2010 is the ability to store custom build assemblies (like workflow activities, build tasks, build process parameter custom editors, etc.) in a version control folder that the build controller can notify build agents to monitor to deploy those assemblies to each of the build servers in your build lab.

If you want to deploy a new version of those assemblies, just check in the new version and all of the controllers & agents will use them for the next build they perform.  Pretty awesome if you ask me.  I create a folder in the TFS team project just for this purpose.

SNAGHTML6d53cc

Source Code

imageThe TFS team project is usually the main location where I will store source code for all of the different extensibility points for TFS and Visual Studio.  This list of custom tools isn’t exhaustive by any means but should give you some ideas of the type of source code that could be contained in this team project:

  • Custom Check-In Policies
  • Custom Build Workflow Activities and Build Tasks
  • Custom Work Item Controls
  • Web Service Event Handlers for TFS Events
  • Custom Testing Data Collectors (Diagnostic Data Adapters)
  • Migration Utilities and Adapters
  • Custom Code Analysis Rules
  • Global Code Analysis Spelling Dictionary
  • Custom IntelliTrace Event Collectors
  • Other Visual Studio or TFS Tools

Builds

As I already mentioned above with testing out build process templates, I have several build definitions in this team project:

  • Testing Team Build 2010
  • Deploying Process Template Changes to Test & Production TFS Servers (I plan on having more information about this process in a future blog post.)
  • Custom Tool Builds

Other

Don’t stop with this list.  If it’s something that helps to manage TFS, feel free to store it in this team project.  Here are a few other examples of the types of artifacts I use this team project for:

  • SQL Queries to manage the data tier
  • Custom SQL Reporting Services Reports

 

What other types of things do you think, dear reader, are important to store in this team project for managing TFS?

Ed Blankenship

posted on Thursday, June 17, 2010 10:52:22 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback

I’ve been hitting my head against the table today trying to have a nice experience for editing a collection of string values as a custom build process parameter in my TFS 2010 build definition.  The problem comes with what editor is actually used to edit the process parameter at design time.  You can specify a custom editor for any of your custom build process parameters which is really handy but I needed the ability to use editors that were out of the box but still provided a sufficient experience to the end user.

My journey towards a solution…

Attempt 1

I began really wanting to have one build process parameter that had the type of Dictionary<string, string>.  That didn’t work out so well because when I went to edit it in my build definition, I received this editor and the add/remove members buttons.

TFS 2010 Build String Collection Editor

Attempt 2

I gave up on the Dictionary<T, T> approach and decided that I could handle it by specifying two collections of type Collection<string>.  I also attempted to try List<string> and even a String[] but ended up with this editor that seemed to not like System.String.

TFS 2010 Build String Collection Editor

Attempt 3

I found Microsoft.TeamFoundation.Build.Workflow.Activities.StringList.  It is a custom type that is known to Team Build 2010 and even has a custom editor that is registered to it that shows up.  That editor is Microsoft.TeamFoundation.Build.Controls.WpfStringListEditor.  Works great for me!  Take a look:

TFS 2010 Build String List Editor

 

Ed Blankenship

posted on Thursday, June 17, 2010 5:49:54 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
# Tuesday, June 15, 2010

Looks like this past weekend Don from Microsoft Learning announced the public availability of the Team Foundation Server 2010 Microsoft certification exam.  I had several people ask about what happened to the Beta exam for 70-512 and the only thing I can see is that it was released directly to the public without a Beta phase.

If you pass this exam, you will receive the Microsoft Certified Technical Specialist certification for TFS 2010.  Officially it will indicate:
MCTS: Visual Studio 2010 Team Foundation Server, Administration

I’ll be taking the exam this weekend so I’ll let everyone know how it goes.  Well… as much as I can!  Exam candidates agree not to disclose details about the exam when they take it.

There aren’t any preparation materials available just yet as listed on the Exam Details site.  It does however list the topics that are covered on the exam:

About this Exam

This exam is designed to test the candidate's knowledge and skills on installing, configuring and maintaining Visual Studio 2010 Team Foundation Server.

Audience Profile

This exam is intended for candidates who install, configure, and manage a Microsoft Visual Studio Team Foundation Server (TFS) 2010 implementation. Candidates typically work in an enterprise development organization that provides process automation services by using TFS.

The qualified candidate has:

  • a solid understanding of the TFS architecture and components.
  • experience installing and configuring a TFS in both single-server and multi-server configurations.
  • experience managing security for TFS components.
  • experience configuring and using Team Build.
  • experience adapting process templates to an organization.
  • experience managing project artifacts with TFS version control.
  • experience configuring and using work item tracking.

Skills Being Measured

This exam measures your ability to accomplish the technical tasks listed below.The percentages indicate the relative weight of each major topic area on the exam.

Installing and Configuring TFS (27%)

  • Install TFS.

    This objective may include but is not limited to: SQL Server version support, installing TFS in a multi-tier or multi-machine environment, installing TFS in a load-balanced environment, setting up version control proxy

  • Configure application tier

    This objective may include but is not limited to: validating an installation, configuring SMTP for TFS, changing the URL (friendly name), changing the default SharePoint Web application, setting up reporting (SQL Server Analysis Services)

  • Migrate and upgrade TFS.

    This objective may include but is not limited to: upgrading TFS 2005 or TFS 2008 to TFS 2010, importing a source base from Microsoft Visual Source Safe (VSS), a third-party revision control system, or a sub-version

  • Install and configure team lab.

    This objective may include but is not limited to: set up environment templates, installing and configuring test agents, installing and configuring Virtual Machine Manager (basic Virtual Machine Manager installation), creating library shares or resource pools

  • Install and configure multiple build agents and controllers.

    This objective may include but is not limited to: tagging, binding a controller to a project collection, adding as build agent

Managing TFS (27%)

  • Manage Team Project Collections.

    This objective may include but is not limited to: moving project collections, managing team collections and projects, creating and configuring team project collections, moving team projects from one collection to another, creating a team project with SharePoint and SQL Server Reporting Services, cloning (splitting team project collections, partitioning)

  • Configure for backup and recovery. 

    This objective may include but is not limited to: backup and recovery of TFS and related components, recover a failed application tier, recover a failed database tier, implement a disaster recovery plan

  • Monitor server health and performance.

    This objective may include but is not limited to: application tier logs, monitoring the server for performance issues (monitoring activity logging database and TFS server manager), monitoring job infrastructure for failed jobs (monitoring warehouse adapters and warehouse jobs), cleanup of stale workspaces and shelvesets, cleanup builds (applying retention policies), setting up team build to use a version control proxy server

  • Administer TFS application tier.

    This objective may include but is not limited to: retiring or archiving projects and purging the system, rebuilding a warehouse, configuring user permissions by using Active Directory Domain Services  and TFS groups, moving a TFS instance to a new server or a new domain, configuring security for TFS Work Item Only View

  • Manage reporting for TFS.

    This objective may include but is not limited to: basic reporting using Microsoft Office Excel Services, adding a custom report to a SharePoint project portal, uploading a new SQL Server Reporting Services TFS report, configuring to enable a report to appear in a SharePoint project portal

  • Set up automated functional and UI tests.

    This objective may include but is not limited to: setting up a build definition, configuring the build definition to use the proper lab environment, setting up tests to work on an installed agent, setting up a service as interactive, setting up data collectors

Customizing TFS for Team Use (24%)

  • Configure a team build definition.

    This objective may include but is not limited to: setting up for a Symbol Server and Source Server, setting up for test impact analysis, setting up for custom build numbers, configuring build log verbosity, setting up for code analysis, setting up for automated unit testing, setting up for architecture validation

  • Configure and execute a build. 

    This objective may include but is not limited to: queuing a build with parameters, reconciling workspaces as part of a gated check-in workflow, setting up build triggers (gated check-in, continuous integration, scheduled build)

  • Modify a process template.

    This objective may include but is not limited to: customizing a process template by changing the workflow for a work item, adding a new work item type as a child of an existing work item (WI), uploading and downloading process templates

  • Configure a team project.

    This objective may include but is not limited to: areas and iterations, default security groups, portal settings (team project portal site URL, process guidance URL)

  • Apply work item customizations.

    This objective may include but is not limited to: link types, Global list, creating a new WI category and adding existing WI types to the new category, adding or removing fields, transitions, queries, customizing a workflow, creating or editing a work item type, importing and exporting work item types, renaming work item types

  • Create Work Item Query Language (WIQL) queries.

    This objective may include but is not limited to: query folders and permissions, query types (tree, flat, directed), defining WIQL keywords, adding fields to a query, creating a WIQL query by using Team Explorer, identify built-in macros

  • Configure client connectivity to TFS.

    This objective may include but is not limited to: configuring Visual Studio, Team Explorer, Microsoft Excel, Microsoft Project, and other tools to connect to TFS, configuring clients for proxy server

Administering Version Control (23%)

  • Create and manage workspaces.

    This objective may include but is not limited to: cloaking, undo delete, modifying a workspace, deleting a workspace, specifying the workspace visibility, restoring deleted items, unlocking other users’ checkouts, pending changes, and code

  • Configure shelvesets. 

    This objective may include but is not limited to: private builds, creating a shelveset, deleting a shelveset, opening another user’s shelveset

  • Branch and merge source artifacts.

    This objective may include but is not limited to: track change visualizations, converting a folder into a proper branch and creating a new branch, merging and resolving file conflicts, viewing branch hierarchy, creating a branch, deleting a branch

  • Configure version control proxy.

    This objective may include but is not limited to: cache hit ratio, setting up the cache size, setting up for multiple TFS servers

  • Configure team project version control settings.

    This objective may include but is not limited to: enable multiple checkout, enable get latest on checkout, configuring check-in policies for a team project (work items, builds, code analysis, testing policies)

Good luck!  Let me know how you end up doing on the exam.

Ed Blankenship

posted on Tuesday, June 15, 2010 10:47:52 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [5] Trackback
# Tuesday, May 11, 2010

During the first week of April, a little package was sitting on my front porch with the first book to be released on the Visual Studio 2010 release that deals with the new Application Lifecycle Management (ALM) features.  For those of you who don’t know, this essentially means the former “Team System” line of products as we were exposed to it in the 2005 and 2008 releases.  Although the entire Visual Studio suite of products is considered something that helps you with ALM, the book primarily focused on Visual Studio 2010 Ultimate, Visual Studio 2010 Premium, Visual Studio 2010 Test Professional, Visual Studio 2010 Lab Management, and Team Foundation Server 2010.  During the Introduction, I even appreciated how the authors discussed about “where Team System went.”  It’s the best explanation of the branding change that I’ve seen to date.

I was extremely excited to start immediately reading the book.  Even though I have been closely involved with the 2010 release as a Microsoft MVP, when I started to read this book my goal was to be exposed deeper in the feature set being introduced in the 2010 release.

At the time of writing this blog post, the book was selling for $34.64 at Amazon.  The suggested retail price is $54.99.  It is currently #7 in the Software Development books category!

Strengths

If you are new to the ALM features in Visual Studio, I felt this book really offered you the ability to get the high-level overview of all of those features.  It’s essentially similar to a “survey” course that you would have taken in college.   It’s 696 pages that ends up going through all of the Visual Studio client and server features at just the right level of detail. There were even some areas that I felt that I learned more about and hadn’t been exposed to heavily in the past.

The architecture features were something that I had hoped to learn the most from.  They have just never been something that I dived into great detail during the 2010 release cycle.   All of the new UML diagrams that are available including the new architecture features like Use Case, Activity, Sequence, Component, Class, Dependency, and Layer Diagrams.  There was a also a great introduction to the Architecture Explorer.

The testing features have really been what has made up a majority of the Visual Studio 2010 release and the book definitely reflects that.  Going through the testing features, I really felt like I understood the end to end story.  It felt very rounded out!  These chapters are where I picked up a majority of the nuggets of information.  I can’t tell you how many times I said “wow, I didn’t know you could do that.”  I also feel like this is a great place to pick up some introductory knowledge about how Visual Studio Team Lab Management fits into the ALM story.  I also kept thinking how great this book would be for the testers on your team that are new to the Microsoft testing platform and Team Foundation Server.

There are so many changes to TFS, I can’t even begin to start describing them.  Thankfully, the book did a great job.  Especially with the revamp of Team Build to use Windows Workflow Foundation.  You can even download the Team Build chapter from the book for free here:  Team Foundation Build.  Other than automated builds, you’ll get a good pass by all of the rest of the new TFS 2010 features and architecture/topology changes.

There was a whole chapter dedicated to debugging with IntelliTrace!  That’s awesome.  I’m very much a fan of IntelliTrace and think that will truly change the way you develop.

Criticisms

I have been hoping to have a book available out there that really only discusses TFS.  The book definitely has a few chapters available on TFS and spends a good amount of time but that discussion is not the nitty gritty that I think some readers out there are really looking for.  With that said, I don’t think this book was positioned for the “TFS Administrator” exclusively.  Again, I really think this is a survey-level review of the entire ALM stack of features for Visual Studio.  That doesn’t allow you to go into the depths of any particular product.  There currently isn’t a book available for TFS 2010 with the level of detail that I am sure some readers out there are hoping for.  We’ll see what happens in the months to come…

My next criticism isn’t so much for the content of the book as what is media choices are available.  I own a Kindle DX and I imagine a few other techies in the world have some type of eBook reader as well.  I was hoping to have a CD that contained a DRM-free PDF that I could copy over to my Kindle DX whenever I’m traveling and need a quick resource for reference.  Wrox certainly does allow you to get a PDF of books but you have to order them separately even if you had purchased the hard copy.

Finally, the only other thing that I noticed was in that chapter about IntelliTrace (see above) there wasn’t a mention of Symbol & Source Server.  I couldn’t believe it.  There is definitely a discussion later in the book about Team Build’s integration with Symbol & Source server but I was hoping to have seen some more detail in the IntelliTrace chapter about the importance of having them setup for your organization.  You’ll want to put two and two together.

 

Now that I’m finished scrounging from the bottom of the barrel to find some criticisms… :)

My Recommendation

Hands down, get this book.  I think it’s well worth it.   I know each of the authors and it really looks like they put a tremendous amount of effort into writing the book.  The topics are really presented well and at the right level of detail for someone really wanting a crash course in all of the Visual Studio ALM features.  I can’t even tell you how many new nuggets of information that I ran across of things that I didn’t even realize were in the product.

It certainly gets my stamp of approval! :)  Kudos to the authors.

 

Very respectfully,

Ed Blankenship

Microsoft MVP of the Year, Visual Studio ALM and Team Foundation Server

posted on Tuesday, May 11, 2010 10:24:05 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
# Friday, April 23, 2010

Microsoft Visual Studio Test Professional 2010 Box

That answer is a resoundingly yes, in my opinion, and I believe you would find some real value in having your UAT testers using Microsoft Test Manager to perform those UAT tests.  However, I think the real question that should be asked is do you have to purchase a license for Microsoft Visual Studio 2010 Test Professional to use Microsoft Test Manager to perform those User Acceptance Tests (UAT?)

 

Background

What are you talking about, Ed? 

There is a licensing exclusion that exists that really helps out when business users connect to development/test environments to perform user acceptance testing.  This exclusion really kicks in and helps when those development/test servers have used Operating Systems, SQL  Server, etc. licenses that conform to the MSDN EULA.  The exclusion basically says those non-technical business users don’t require an MSDN subscription to connect to those development/test servers if they are only performing user acceptance tests.  Normally, each person who connects to a development/test environment that has MSDN software installed on it (like the OS) requires that each of them has an active MSDN subscription.

Here’s the full description directly from the Visual Studio 2010 Licensing Whitepaper:

User Acceptance Testing

At the end of a software development project, end users (or team members acting as proxies for end users) typically review an application and determine whether it meets the necessary criteria for release—a process sometimes called user acceptance testing or UAT. MSDN software may be accessed by end users who do not have MSDN subscriptions for purposes of acceptance testing, provided that the use of the software otherwise complies with all MSDN licensing terms.

Under MSDN subscription licenses, user acceptance testing must not use live production data. If a copy of any live production data is used, then that copy of the data must be discarded after the testing is complete and cannot be incorporated back into the live production data.

So back to the real question…

 

Do you have to purchase a license to use Microsoft Test Manager to perform UAT?

Well that’s the question that a client brought up.  Did they have to purchase a license of at least Visual Studio 2010 Test Professional for those business users if they wanted to use Microsoft Test Manager to perform the UAT tests?

Microsoft’s answer is:  Yes

The fact that you are using Microsoft Test Manager, in their opinion, is that you are doing more technical & formalized testing than what they would consider to be in the UAT licensing exclusion for MSDN software.

 

Ed Blankenship

posted on Friday, April 23, 2010 9:49:56 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
# Tuesday, April 13, 2010

One of the announcements made yesterday was the new product Microsoft Visual Studio Team Explorer Everywhere 2010!  If you are not familiar with the former Teamprise products that were purchased late last year by Microsoft, this new product is essentially the Microsoft branded version of Team Explorer that works inside most Eclipse-based IDEs.

Visual Studio Team Explorer Everywhere 2010 Logo

You can download this new product from the Microsoft Downloads site or from  MSDN Subscriber Downloads.  There is even a new forum dedicated on the MSDN Forums site.

If you are curious about this product, be sure to follow Martin Woodward’s blog site for more information.  Martin Woodward is now the Program Manager on the TFS Product Team who works with this line of tools.

 

Ed Blankenship

posted on Tuesday, April 13, 2010 1:00:53 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback

One of the really great things about the Visual Studio 2010 installers is the fact that Team Explorer is installed with all of the Visual Studio editions (except Express.)  This even includes Visual Studio 2010 Test Professional.  In previous versions of Visual Studio, you would have to install Team Explorer additionally after you installed Visual Studio.  Thankfully those days are long past us…

However, if you do have users that only need the functionality of Team Explorer 2010 (like the add-ins and integration for Microsoft Office Excel and Microsoft Office Project) then you can download them separately either from MSDN Subscriber Downloads or from the Microsoft Downloads site

Visual Studio 2010 Team Explorer on MSDN Subscriber Downloads

Just a reminder, you can download Team Explorer 2010 for free but you still need to make sure that each user has a TFS 2010 CAL (unless they meet certain exclusions.)   If you purchased Visual Studio 2010 with a full MSDN subscription then you already receive a TFS 2010 CAL included.   The complimentary MSDN Essentials subscription that is included with Visual Studio 2010 Professional does not include a TFS 2010 CAL though.

 

Ed Blankenship

posted on Tuesday, April 13, 2010 12:51:49 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
# Monday, April 12, 2010

imageEven more important news… is that Visual Studio 2010, .NET Framework 4,  and Team Foundation Server 2010 are being launched today!  It’s been a really long time coming but super excited that this day is here.

Microsoft .NET Framwork LogoVisual Studio 2010 Logo

You can watch the launch event live from Las Vegas here. I believe the coverage will start at 8:30 AM (PDT) / 12:30 PM (EDT.)

Trial downloads should be available sometime today at the Visual Studio 2010 Marketing Site.  MSDN Subscribers will be able to download the CDs for Visual Studio and TFS later today starting at 10:00 (PDT) / 2:00 PM (EDT.)  I doubt that Volume Licensing customers will be able to download the 2010 CDs today from the Volume Licensing Center.  It may take some time before it is available through the VL channel.  If you are unable to get the media through MSDN, you can always download the trial CDs today and then apply the product key later on when you get it from MSDN or the Volume Licensing site.  It doesn’t require you to uninstall and reinstall.  You can just activate your trial copy!

  • In Visual Studio 2010, go to Help –> Register Product
  • In Team Foundation Server 2010 Administration Console, click the root node in the navigation pane and then click Update License.

Visual Studio 2010 Product KeyTFS 2010 Product Key

Happy Launch Day!

Ed Blankenship

posted on Monday, April 12, 2010 10:29:53 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback

In other news today… Imaginet Resources Corp has announced that they will be acquiring Notion Solutions.  Branding has even been updated on the Notion website already:

Notion Solutions An Imaginet Company

I have been working with the ALM folks over at Imaginet for a few years now including their co-founder Joel Semeniuk who is also an MVP in Visual Studio ALM (Team System) and a Microsoft Regional Director.  They’re a good group and definitely looking forward to working with them closely after the acquisition.  The Imaginet folks are also the ones who have been doing the software development effort around the freely available tools for TFS (Work Item Manager, Project Dashboard) and newly available TeamPulse.

TeamPulse

posted on Monday, April 12, 2010 8:00:12 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [1] Trackback
# Friday, April 02, 2010

Visual Studio 2010 LogoThe launch of Visual Studio 2010 and Team Foundation Server 2010 is just around the corner and I’m starting to hear this question quite a bit:  Which edition of Visual Studio 2010 do I need to buy for my team members?  My usual attempt at humor  would be responding with the question “How much money do you have?” but that doesn’t usually go very well for those with tight budgets. 

The first thing I want to say before we move any further in this discussion is:

  • The first rule of buying any type of Microsoft license is don’t buy retail if you don’t have to.  Say that a few times to yourself.  There are so many different volume licensing programs available that would end up working well for your team and organization size.  Do a little work and phone up your local Microsoft Sales representative to see about your options.  You’ll find that you could save a ton of money and most of them that I have worked with on behalf of my clients are willing to work out what’s best for you and your budget.  Give it a try – it’s really not difficult and could save your team quite a bit of money.

Earlier this year, the suggested retail prices were announced for each of the Visual Studio 2010 editions.  This should be a baseline of how to relatively compare the prices between each edition; not that you would ever pay retail prices right?

 

The Editions

Thankfully, we don’t have all of the editions that we had in the 2008 and 2005 releases.  In the 2010 release, there are essentially now three editions plus a new edition for generalist/non-technical testers.

Visual Studio 2010 Ultimate BoxVisual Studio 2010 Premium BoxVisual Studio 2010 Professional BoxVisual Studio 2010 Test Professional Box

I won’t spend time talking about which features are available in each edition and how to compare them because I believe the Microsoft Visual Studio marketing site is doing a really great job with the high-level overview.

Personal aside/opinion:  I believe IntelliTrace, alone, is worth the cost of Visual Studio 2010 Ultimate for you junior/senior developers.  I’m talking about both the local debugging scenario and the ability for testers to gather IntelliTrace logs while testing and then opening those up to troubleshoot a bug.  Both scenarios have been extremely valuable to me personally when I have both my developer & tester hats on.  I do understand that it takes some work getting the latter scenario to work correctly (symbol server, source serverTFS builds, etc.)  and also takes some effort around getting developers to actually learn how to use it well but it’s totally worth it in the long run.  Don’t hesitate to find some help from an excellent Microsoft Partner specializing in the Visual Studio ALM products, like Notion Solutions, if you want some assistance getting your developers/testers trained and setting up all of the nuts & bolts to get everything working.  (Shameless plug, I know, but what can I say?)

 

MSDN

Seriously, just be sure to get the MSDN Professional subscription included when you purchase your Visual Studio licenses.  (More information about MSDN Subscriptions)

Not only that, make sure your IT department (officially, the volume licensing administrator at your organization) gives all of your team members the “benefit access number” so that each team member can register for the MSDN benefits.  I can’t believe how many IT organizations don’t want their team members to access their benefits because “they might download the software at home” or heaven forbid “install it on their machines themselves.”  Come on…  You can tell I’ve heard several excuses.

Some of the new benefits of an MSDN Professional subscription are now that you receive priority forums support in addition to the included technical support calls, a real TFS 2010 CAL and a real TFS 2010 production license among many of the other benefits.

 

 

Scenario-Based Purchase Decisions

Microsoft did a good job reducing the number of editions but for some reason I’m still getting the question about what to purchase.  That tells me that people are still confused about deciding what’s appropriate for each team member especially when they have to consider the cost difference.  (Aside:  BTW, comparable ALM products on the market are SO much more expensive for what they deliver.)

More than likely, you are going to want to look at what scenarios you want to enable for your team.  Earlier this week, some colleagues at work and I were able to put together this presentation that goes through the different scenarios that I think most people would be interested in taking advantage of when adopting Visual Studio 2010 and TFS 2010.  You can look at each individual scenario and it will point out what you need to purchase for the different roles on your team.  After each of the individual scenarios are mentioned, you can even start to look at the most common combinations and see what that looks like.  Of course, I couldn’t go through every combination but if you don’t see one, post a comment.

Final Thoughts

I hope that you were able to get some information to help you make a better purchase decision.  Any suggestions?  I’ll be happy to update this blog post or the PowerPoint deck from time to time with those suggestions or other common combination requests.  Just leave me a comment below!

 

Take care,

Ed Blankenship

posted on Friday, April 02, 2010 10:43:21 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
# Wednesday, March 31, 2010

Just got exposed to a great table about what features are available in Visual Studio 2010 and Team Foundation Server 2010 for unmanaged code (C++.)  Thanks to Anna Russo for sharing!  Anyone know the source of this information?

Product Features (Visual Studio 2010 Ultimate)
Team Foundation Server
Version Control Yes
Work Item Tracking Yes
Build Automation Yes
Team Portal Yes
Reporting & Business Intelligence Yes
Agile Planning Workbook Yes
Test Case Management Yes
Visual Studio Team Explorer 2010 Yes
Development Platform Support
Windows Development Yes
Web Development N/A
Office and SharePoint Development N/A
Cloud Development N/A
Customizable Development Experience Yes
Testing
Unit Testing No
Code Coverage No
Test Impact Analysis No
Coded UI Test No
Web Performance Testing N/A
Load Testing N/A
Database Development
Database Deployment Yes
Database Change Management Yes
Database Unit Testing Yes
Database Test Data Generation Yes
Debugging & Diagnostics
"Pinnable" DataTips for easier data inspection N/A
Post-mortem debugging support for .NET (dump debugging) No
Breakpoint improvements (search in Breakpoints window, label, import/export) No
New WPF Visualizer N/A
Enhancements for debugging multi-threaded applications (Parallel Stack and Tasks) Yes
64-bit support for mixed-mode debugging Yes
Static Code Analysis Yes
Code Metrics No
Profiling Yes
IntelliTrace (Historical Debugging) No
Architecture and Modeling
UML & Layer Diagram Viewer Yes
Architecture Explorer Yes
UML 2.0 Compliant Diagrams (Activity, Use Case, Sequence, Class, Component) Yes
Layer Diagram and Dependency Validation No
Lab Management
Microsoft Test Manager Yes
Virtual environment setup & tear down Yes
Test Case Management Yes
Manual Test Execution Yes
Manual Test Record & Playback Yes
Lab Management Configuration Yes

 

Ed Blankenship

posted on Wednesday, March 31, 2010 3:31:59 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
# Friday, March 19, 2010

Microsoft Visual Studio Test Professional 2010 Boxsilverlight_logoA lot of people have been asking about whether the new Coded UI automated testing & Microsoft Test Manager test runner features would support Silverlight and I haven’t really had a good answer for them other than “not at 2010 RTM.”  There’s been a ton of reasons why that wasn’t the case but thankfully we received a little more information about timeline for that type of support.  We were also able to make this information available publicly so check out the raw info coming in below.  Notice my particular emphasis added around the release mechanism that was mentioned.

Whenever we talk about platform coverage for UI automation one of the frequent requests is support for Silverlight app testing. We have been hard at work trying to cater to this need and I wanted to update you all on where we are with this effort and provide a roadmap.

We are working on adding support for Silverlight controls for “Fast forward for manual testing” and “Coded UI Tests”. The focus is on line-of-business applications built with Silverlight 4 for both in-browser and on the desktop. The initial investigation is in progress and we are working with the Silverlight team to close on the overall design. We are planning to release a CTP version of a plug-in by Q2CY2010. This will be delivered out of band to active MSDN subscribers (Visual Studio Test Professional or Visual Studio Ultimate) customers only. […]

- Ram Cherala, Visual Studio Team Test Product Team

Make sure you have active MSDN subscriptions if you want to get out of band value from the product teams.  Anyone have any questions?

Ed Blankenship

posted on Friday, March 19, 2010 8:03:10 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback

Once of the nice things about having moved to Charleston, SC is being relatively around the corner from half of the Team Foundation Server team in Raleigh, North Carolina.Microsoft Corporation Office in Raleigh North Carolina TFS Product Team  I get plenty of opportunities to talk with the TFS product team in Redmond, WA but rarely get the opportunity to talk with the side that’s in Raleigh.  It’s good being close now.

Yesterday, I had the privilege and honor of talking at the TFS Product Team’s All Hands meeting at the Microsoft Office in Raleigh, North Carolina.  Each quarter, the entire team split between Redmond, WA and Raleigh, NC get together to talk about different topics to review the last quarter and looking forward to the future about work they want to do.  It’s very similar to some “All Hands” meetings that each of our companies put together.  They have had a tradition in the past to invite a customer in to talk about how they have used TFS in their daily work and I imagine that gives the entire team some insight into how people outside of Microsoft are actually using the products they spend every day creating.  I was invited to be that customer for this quarter.

They also really like for you to spend some time talking about what your feature requests are for the product.  I had the opportunity to discuss some of my personal areas that I’d like to see some investment made.  Normally when going to events like the Microsoft MVP Summit or providing other private feedback, I take the approach of being objective and provide feedback on behalf of the people I took to and the customers that I help.  I rarely bring up anything that I personally would like to see since some of the things I want are things that most people would never even touch or appreciate.  However, this was my one time that I didn’t feel bad about being totally subjective and asking for my personal feature desires :)

I also had some time to spend talking with the Build team and Version Control team about problems areas that I think people will run into when TFS 2010 launches next month as well as discussing some of those things that some people really hate about TFS version control.  You know who you are on Twitter :)  It was a really great conversation about the problem scenarios really are that people face before arriving to frustration with the product.

I’ve said this before but I really admire and appreciate the team for the amount of effort they put into listening and acting on feedback.  I promise and can tell you that they’re listening.  There are plenty of features and changes even coming out in TFS 2010 that were things that I know that one of the MVPs, customers, or I had originally suggested.  That means they’re not only listening but they are doing something about it.

Anyhow, it was a very productive day and really enjoyed the time.  I’m so glad to be an MVP that is tied to such a great product group.

 

Ed Blankenship

posted on Friday, March 19, 2010 1:36:26 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [2] Trackback
# Wednesday, March 17, 2010

I’m up early working on a problem that’s been nagging me and just had to stop for a second to show how friggin’ awesome the new Branching & Track Changes visualization tools in TFS 2010 are.  This is on a demo TFS 2010 environment but I wanted to use the APIs to find out information about what changesets were included in a merged changeset.  I needed to find a good candidate that allowed me to follow some changes throughout the branches.  I quickly found changeset 103 in my MAIN branch which included several (but not too many) individual changesets that were included with it.  I went ahead and tracked that changeset and got the following diagram below.

TFS 2010 Branch Visualization Track Changes Hierarchy View

However, I noticed that I ended up having some kind of partial merge as indicated in the Feature A branch with changeset 78 (as indicated by the yellow shading on the track changes visualization.)  That got me curious… What happened there?  It was pretty easy to figure out because all I had to do is change to the “Timeline View” instead of the “Hierarchy View” that I was currently in and I ended up receiving the visualization below which shed some light on things.

TFS 2010 Branch Visualization Track Changes Timeline View

The reason the Feature A branch was indicated as a partial merge was because not all of the changes that are included in changeset 103 (which is the changeset we’re pivoting off of for visualizations) has been merged into that branch.  It only contains changesets 76 & 77 but not 101 & 102.  Pretty handy!

 

Ed Blankenship

posted on Wednesday, March 17, 2010 4:03:41 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [2] Trackback
# Thursday, March 04, 2010

Dependency management can be tough.  One way you can help visualize dependencies is by using the new Predecessor & Successor link type in TFS 2010 Work Item Tracking.  The way this particular link type works is that it is of type “Dependency” topology.  Here’s some more information about the Dependency topology:

Link types of this topology are like Directed Network links in that they have directionality, but an additional constraint to prevent circular relationships.

image

Example XML:

   1: <LinkTypes>
   2:     <LinkType ReferenceName="MyLinks.LinkTypes.MyPred" ForwardName="My Successor" ReverseName="My Predecessor" Topology="Dependency" />
   3: </LinkTypes>

You can list the link types currently on your TFS server by using the following command at a Visual Studio command prompt:

witadmin listlinktypes /collection:http://YourTfsServerName:8080/tfs/YourTeamProjectCollectionName

The details about the dependency link type that we’re interested as listed from witadmin.exe is:

Reference Name: System.LinkTypes.Dependency
Names: Successor, Predecessor
Topology: Dependency
Is Active: True

Gregg Boer has some more great information about customizing link types in TFS 2010 available here:  http://blogs.msdn.com/greggboer/archive/2010/03/01/tfs-2010-customizing-work-item-link-types.aspx

Adding a Dependencies Tab on the Work Item Form Layout

If you would like to add a tab in the layout for the work item type definition, you can add the following XML segment to the WITD Layout Section:

   1: <Tab Label="Dependencies">
   2:   <Control Type="LinksControl" Label="Dependencies Information for this Bug:" LabelPosition="Top" Name="Dependencies">
   3:     <LinksControlOptions>
   4:       <LinkColumns>
   5:         <LinkColumn RefName="System.Id" />
   6:         <LinkColumn RefName="System.WorkItemType" />
   7:         <LinkColumn RefName="System.Title" />
   8:         <LinkColumn RefName="System.AssignedTo" />
   9:         <LinkColumn RefName="System.State" />
  10:         <LinkColumn RefName="Microsoft.VSTS.Scheduling.OriginalEstimate" />
  11:         <LinkColumn RefName="Microsoft.VSTS.Scheduling.RemainingWork" />
  12:         <LinkColumn RefName="Microsoft.VSTS.Scheduling.CompletedWork" />
  13:         <LinkColumn RefName="Microsoft.VSTS.Scheduling.StartDate" />
  14:         <LinkColumn RefName="Microsoft.VSTS.Scheduling.FinishDate" />
  15:         <LinkColumn LinkAttribute="System.Links.Comment" />
  16:       </LinkColumns>
  17:       <WorkItemLinkFilters FilterType="include">
  18:         <Filter LinkType="System.LinkTypes.Dependency" />
  19:       </WorkItemLinkFilters>
  20:       <ExternalLinkFilters FilterType="excludeAll" />
  21:       <WorkItemTypeFilters FilterType="includeAll" />
  22:     </LinksControlOptions>
  23:   </Control>
  24: </Tab>

It will then show up on your work items something like this:

Dependencies Tab for Work Items in TFS 2010 

New Links Control Options

The LinksControl work item control has always existed but now that we have link types in TFS 2010, you can specify multiple links controls in the layout but have them specify certain filters.  Notice the User Story/Requirement, Test Case, and Bug in the MSF Agile and MSF CMMI process templates all take advantage of specifying multiple links controls.

There is more very early information about the new options of this control here:  http://blogs.msdn.com/teams_wit_tools/archive/2007/08/20/rosario-filtering-link-types-on-a-work-item-form.aspx

Dependencies Integration with Microsoft Office Project

One of the benefits of using the built-in Predecessor/Successor link type is that if you are pulling your work items into Microsoft Office Project, you end up seeing those dependencies in the project plan.  You can even change the dependencies in Project and publish your changes back to the TFS where they’ll show up on the new Dependencies tab you just created.  They are essentially round-tripped between Project and TFS 2010.

Microsoft Office Project Integration with TFS 2010 Tasks and Dependency Links Predecessor Successor

More Resources

 

Take care,

Ed Blankenship

posted on Thursday, March 04, 2010 1:41:02 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0] Trackback
# Thursday, February 25, 2010

I’ve had a few questions about the missing Alerts Editor node in Team Explorer after installing the TFS 2010 RC Power Tools so I thought I’d share with everyone.  First, Alerts Editor has been renamed to Alerts Explorer in the TFS 2010 Power Tools release.  Next, you’ll notice that in the TFS 2008 Power Tools, that a node existed underneath each Team Project shown below.

Alerts Editor in TFS 2008 Power Tools Visual Studio Team Explorer 

You’ll see that in the TFS 2010 Power Tools, it’s no longer available as a node under each team project but rather available from the context menu of the Team Project Collection node and named “Alerts Explorer.”

Alerts Explorer in TFS 2010 Power Tools Visual Studio Team Explorer

What is the Alerts Explorer?

There is a rich eventing & alerting system in TFS that allows end users to self-subscribe to alerts that meet different criteria.  These alerts can either be e-mail alerts or SOAP-based alerts to a web service URL.  (SOAP subscriptions can only be created by Team Foundation Server Administrators.)  By opening up the Alerts Explorer, you can see any of the subscriptions that you currently have created on the server.

Alerts Explorer in TFS 2010 Power Tools

Also, you can create new alerts based on some out of the box templates like “Work Items Assigned to Me” or “Failed Builds.”  This is a good starting off point for creating alerts and allows you to further customize the filter criteria to your specifications.

Tip:  As shown in the screenshot above, if you don’t want to receive an e-mail alert whenever you actually change something, be sure to include the “Authorized As <> Your Name” clause.

You also get some handy context menus around the Team Explorer UI to help you to easily create subscriptions.  For example, if there is a particular work item (like a bug) that you want to get e-mail alerts anytime someone changes it, just choose “Alert on Change..” from the context menu on that work item.  You’ll find some other context menu items for Alerts in other places so have fun finding them!

Work Item Alert On Change Context Menu TFS 2010 Power Tools

Ed Blankenship

posted on Thursday, February 25, 2010 5:58:30 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0] Trackback
# Wednesday, February 24, 2010

One of the most exciting parts of last week’s Microsoft MVP Global Summit was the surprise announcement that I was chosen as the MVP of the Year for Visual Studio Team System (Visual Studio ALM now) and TFS.  I can’t tell you how humbled I was to find out!  One of the special parts of this particular award is that each of the Visual Studio ALM MVPs nominated our peers for the award.  We have an exceptionally great group and to have been chosen from this great group is the most humbling part.  Thanks to each and every one of you for this honor!

Martin Woodward was selected as the MVP of the Year last year so I hear we’re going to start the tradition of passing on the “MVP of the Year” belt buckle :)  That should be fun to hold on to for 2010.

23451_1385878770534_1338983185_31125576_7070668_n 

(Thanks to Sunder Raman for taking the picture!)

One of the exciting “features” of the award was an invitation to a dinner with Soma Somasegar, Brian Harry, Scott Hanselman, Brad Abrams, Chuck, Sara Ford, and the other top-notch MVPs selected from the other Developer Division MVP groups.  It was truly a great dinner and we had a lot of great conversation.  Ewald Hofman (another VSTS MVP) also joined us for the awesome amount of contributions to the VSTS MSDN Forums.

Ed Blankenship: MVP Of The Year Belt Buckle

Thanks again to everyone for the awesome honor!

 

Very respectfully,

Ed Blankenship

posted on Wednesday, February 24, 2010 11:17:54 AM (Eastern Standard Time, UTC-05:00)  #    Comments [3] Trackback
# Tuesday, February 23, 2010

Just got some news about Team Lab Management in TFS 2010 hot off the press:

Q: How will support work for customers who are already using Lab Management with the Go-Live License in Beta 2 or RC?

A: We will continue to support customers that have already gone live with Lab Management 2010 pre-release go-live licenses.

 

Q: What are the pricing details for Lab Management 2010?

A: Suggested FPP retail price for Visual Studio Lab Management 2010 is US$1599. Of course, the majority of customers are likely to qualify for a lower price point based on volume licensing discounts. Lab Management 2010 will be priced per physical processor (each processor of each lab server must be licensed for Visual Studio Lab Management 2010). Visual Studio 2010 Ultimate or Visual Studio Test Professional 2010 is required to manage lab environments.

 

Q: Have we changed our shipping plans for the general availability of Lab Management 2010?

A: Quality has always been and remains a top priority for Visual Studio. Being definitive about RTM dates is always very difficult and doubly so for brand new v1 products. For this reason, until we are very close, we generally only forecast release timeframes rather than specific dates. While it’s true, early on, we had hoped to release the new Lab Management product at the same time as the rest of Visual Studio 2010. It became clear through the Beta cycle that it was taking a bit longer to get sufficient, detailed feedback. Excitement has been very high but there’s also a huge amount of new value in the 2010 wave; we made the decision that it was better for Lab Management to ship a little later in the 2010 wave if that means we can incorporate additional feedback to ensure it’s the terrific product everyone wants it to be. 

 

Remember, customers can deploy it with a supported pre-release go-live license!  If customers have any feedback during the pre-release process, please send that to the product group using Microsoft Connect.

 

About Visual Studio Lab Management 2010

Visual Studio Lab Management 2010 is a new offering in the Visual Studio 2010 release wave. Lab Management 2010 enables teams to configure and manage a virtual lab environment. Lab Management works with System Center Virtual Machine Manager for enabling teams to create environment templates, provision ring-fenced environments, and checkpoint those environments. Using Lab Management, you can accelerate setup, tear down and restoration of complex virtual environments to a known state for test execution and build automation. It extends build automation by automating virtual machine provisioning, build deployment and build verification in an integrated manner. It also enables testers to file rich bugs with links to environment checkpoints that developers can use to recreate complex environments, effectively reducing wasted time and resources in your development and test life cycle. Those checkpoints can be attached to bugs filed using the Microsoft Test Manager enabling the person fixing the bug to open the environment right to the appropriate point in the application flow.

 

Related Links

· Visual Studio Lab Management Team Blog

· Visual Studio Team Test Blog

· Microsoft Virtualization VHD Test Drive Program

 

Ed Blankenship

posted on Tuesday, February 23, 2010 9:27:49 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0] Trackback
# Friday, February 12, 2010

I’ve been hearing this question quite a bit…  “Can I collect an IntelliTrace log in Production?”  This would be a really good idea especially now that there is a standalone command-line utility, IntelliTrace.exe, that you can run to collect IntelliTrace log files.  Unfortunately, it looks like the Visual Studio 2010 Licensing White Paper answers that question for us on page 28:

The IntelliTrace DDA and/or IntelliTrace.exe cannot be used:

  • On a device or server in a production environment.
  • For purposes of system or application monitoring.
  • In non-interactive scenarios other than as part of an automated test or debugging-data collection session.

Bummer! :(  Honestly, I imagine that has to do with something around how IntelliTrace works and Microsoft doesn’t feel comfortable the impact it may have on running Production environments.  Just my conjecture though…

You’ll notice that you can use IntelliTrace in other instances though; most notably on development & test environments!

The IntelliTrace diagnostic data adapter (DDA) and/or IntelliTrace.exe can be used for test and debugging purposes:

  • As part of an interactive test or debugging session.
  • As part of an automated test or debugging-data collection session that is authored by a licensed user and triggered by the same or another licensed user.

You can even share IntelliTrace files between two companies as long as both companies are properly licensed!

IntelliTrace files may be shared among two or more companies as long as all users capturing and debugging IntelliTrace files are licensed with either Visual Studio 2010 Ultimate or Visual Studio Test Professional 2010, depending on the activities they are performing. For example, a company can share IntelliTrace files with an external development consultant. Similarly. a company can use an external company for testing purposes and debug IntelliTrace files provided by that vendor.

Here were the common scenarios mentioned in the licensing white paper.  See if you happen to fit into one of them:

Example 1: Finding a defect in a test environment Company A is building a Web application. All the developers are licensed for Visual Studio 2010 Ultimate with MSDN, and the testers are licensed with Visual Studio Test Professional 2010 with MSDN. During a test run a defect is discovered in the test environment that is difficult to reproduce in a development environment. The test machines have previously been configured with the Visual Studio Test Agent 2010, which includes the IntelliTrace DDA. The tester uses the Microsoft Test Manager to execute the test case with the IntelliTrace diagnostic data adapter (DDA) enabled. When the defect is encountered, the tester files a new bug, with the IntelliTrace files from each of the test machines is automatically attached to the bug. When a developer opens the bug using Visual Studio Ultimate, he or she can open the IntelliTrace files and step through the execution.

Example 2: Working with an external consultant In Example 1, Company A uses an external consultant to help with development. If the external consultant is licensed for Visual Studio Ultimate, he or she can open and debug the IntelliTrace files provided by Company A.

Example 3: Working with an external test vendor In Example 1, Company A uses Company B as an outsourced test vendor. The two companies can work together using IntelliTrace as long as all developers at Company A and all testers at company B are licensed appropriately.

I’m not sure what the minimal technical footprint is to get IntelliTrace.exe to collect an iTrace file just yet but my answer right now will be to have one of these installed:

  • Visual Studio 2010 Ultimate
  • Visual Studio 2010 Test Professional
  • Visual Studio 2010 Test Agents (additional software) <--- probably the smallest impact to a system

If I find out some more information about this scenario, then I’ll be putting together a future blog post!

 

Take care,

Ed Blankenship

posted on Friday, February 12, 2010 8:00:00 AM (Eastern Standard Time, UTC-05:00)  #    Comments [4] Trackback
# Wednesday, February 10, 2010

The Release Candidate for Visual Studio 2010 and Team Foundation Server 2010 was made available a few days to MSDN Subscribers.  It’s now going to be made available to the rest of the world today:  http://go.microsoft.com/fwlink/?LinkID=151797

The first impression I have is that Visual Studio has been super super snappy and lot more purple :)  You can really take advantage of all of the performance work that has been performed by the product groups.  What’s funny is that I have was too slow several times to grab the screenshot below! :)

image

I have also done several TFS 2010 Beta 2 to RC upgrades so far and all of them have gone super well including a super complex setup that we have at Notion Solutions.  If you are planning on upgrading from Beta 2 to RC, be sure to read the Upgrade Guide before you get started.

As with the Beta 2, the RC of TFS, Visual Studio, and .NET Framework 4 can be used in production with a “Go-Live” license.  Be sure to check out Jeff Beehler’s blog post that has more information about the “Go-Live” license including how to register for complimentary support in case you need it.

After you get everything installed and used it for a few days, please be sure to give feedback about whether you think the release is ready to go by taking the RC survey.  There is only a limited time to give any feedback and the bar is high for things that will change before RTM so don’t delay!

Visual Studio Feedback Survey

Ed Blankenship

posted on Wednesday, February 10, 2010 3:09:21 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0] Trackback
# Tuesday, February 02, 2010

One of the new features for TFS 2010 Version Control is the ability to rollback or undo a changeset or check-in inside the product and see it as a new pending change type (and new change type in the history) inside Team Explorer.  This feature has been available in TFS 2008 but you had to use the TFS Power Tools.  The only gotcha for the TFS 2010 implementation is that you have to use the command-line application tf.exe to actually perform the rollback information.  More information about the tool is available here in the MSDN Library:  http://msdn.microsoft.com/en-us/library/dd380776(VS.100).aspx

The syntax is:

tf rollback /changeset:changesetfrom~changesetto [itemspec] [/recursive]
            [/lock:none|checkin|checkout] [/version:versionspec]
            [/keepmergehistory] [/noprompt] [/login:username,[password]]

tf rollback /toversion:versionspec itemspec [/recursive]
            [/lock:none|checkin|checkout] [/version:versionspec]
            [/keepmergehistory] [/noprompt] [/login:username,[password]]

Versionspec:
    Date/Time         D"any .Net Framework-supported format"
                      or any of the date formats of the local machine
    Changeset number  Cnnnnnn
    Label             Llabelname
    Latest version    T
    Workspace         Wworkspacename;workspaceowner

image

image

Ed Blankenship

posted on Tuesday, February 02, 2010 12:51:57 PM (Eastern Standard Time, UTC-05:00)  #    Comments [1] Trackback

As promised, I have published the slides from my PowerPoint Deck for my talk on Saturday at the Columbia Code Camp.

Thanks to everyone I bugged during the week before to grab a hold of these slides! Contact me (using the contact form on the website) if you'd like to get a copy of the PowerPoint deck.

 

Ed Blankenship

posted on Tuesday, February 02, 2010 9:28:09 AM (Eastern Standard Time, UTC-05:00)  #    Comments [3] Trackback
# Saturday, January 30, 2010

Tomorrow, I’ll be presenting in this month’s geekSpeak about migrating from Visual SourceSafe to Team Foundation Server 2010.  I’m sure we’ll get through the VSS content pretty quickly so with the time left we’ll talk about new branching & merging features, branch visualization, and gated check-in.

In this geekSpeak, Microsoft Most Valuable Professional (MVP) Ed Blankenship discusses migrating source code from Visual SourceSafe, including the history. There has not been a better time to migrate to the newest Microsoft source control offering, Microsoft Visual Studio 2010 Team Foundation Server, because Microsoft Visual SourceSafe support is ending soon and Team Foundation Server will be part of Microsoft Developer Network (MSDN) subscriptions in 2010. Ed discusses specific version-control features to help you become more productive like branching and merging visualization, annotate, shelving, and gated check-in. This geekSpeak is hosted by Glen Gordon and Brian Hitney.

Registration for the event available here:  http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?culture=en-US&EventID=1032438525

BTW – The end-of-life support date for Visual SourceSafe is mid-year 2011.  Don’t get stuck on an unsupported product :) especially one that’s holding your source code!

 

Update:  The recording of this presentation is now available on Channel 9 here:  http://channel9.msdn.com/shows/geekSpeak/geekSpeak-Recording-Migrating-to-Team-Foundation-Server-from-Visual-SourceSafe/ .  Sorry about the dropped call in the middle of the presentation.  Also, here’s some links that I mentioned during the talk:

 

Ed Blankenship

posted on Saturday, January 30, 2010 4:16:00 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0] Trackback
# Friday, January 29, 2010

I’m going to be doing a session at the Columbia Code Camp about Visual Studio 2010 Ultimate and Team Foundation Server 2010 and really looking forward to it!  Looks like Cameron Skinner already beat me by speaking out in Charlotte earlier this week but hopefully I’ll still have some people who haven’t seen the new features just yet!

Check out the other 32 sessions in the Agenda and be sure to Register.  Already looks like a big crowd so I’m hoping it ends up being successful.  There’s a lot to get through for a one-hour overview session but I plan on sticking around to chat if anyone ends up having any questions that we can’t get answered during the presentation.

Columbia Code Camp 2010

Session:  Lap Around TFS and Visual Studio 2010 Ultimate

Time:  11:15 AM – 12:15 PM  (Right before lunch!)

Track:  Framework

Room:  Amoco Hall (1C01)

Location:  University of South Carolina, Swearingen Building, 301 Main St., Columbia, SC 29201

Cost:  Free!

 

Update: Slides are now available below.

 

Ed Blankenship

posted on Friday, January 29, 2010 6:29:30 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0] Trackback
# Tuesday, January 26, 2010

I'm pleased to announce that we now have pricing information that is publicly available for the Visual Studio 2010 and Team Foundation Server 2010 products!  Remember, these are Retail prices and if you are in a company you should never be paying retail :)  Always talk to your Microsoft Sales team and ask for volume licensing deals.

Also, if you didn’t hear, a production license for TFS 2010 and a TFS 2010 CAL is included with every MSDN subscription!

 

Suggested Retail Pricing (USD) for Visual Studio 2010

With 1-Year MSDN Subscription*

Product

Buy

Upgrade

Buy

Renew

Visual Studio 2010 Ultimate

-

-

$11,899

$3,799

Visual Studio 2010 Premium

-

-

$5,469

$2,299

Visual Studio 2010 Professional

$799

$549

$1,199

$799

Visual Studio Test Professional 2010

-

-

$2,169

$899

Visual Studio Team Foundation Server 2010

$499

$399

-

-

Visual Studio Team Foundation Server 2010 CAL

$499

-

-

-

Visual Studio Load Test Virtual User Pack 2010 (1000 Virtual Users)

$4,499

-

-

-

* Subscription contents vary by purchased product.

 

Ed Blankenship

posted on Tuesday, January 26, 2010 12:03:22 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0] Trackback
# Wednesday, January 20, 2010

Thanks to the Visual Studio ALM Rangers, we have a new release of the TFS Branching Guidance!  Think of it like TFS Branching Guidance 3.0… it was developed specifically for TFS 2010 including tidbits on best practices using all of the new branching & merging hierarchy and visualizing change features.

I often talk about branching & merging strategies with my clients and it’s always great to have some diagrams and content to go back to and leave with them so that they can delve into Configuration Management a little more.

TFS 2010 Branch Hierarchy Visualization TFS 2010 Tracking Changes Merge Visualization

Head on over to their CodePlex site:  http://tfsbranchingguideiii.codeplex.com/

Project Description
The purpose of this project is to build some insightful and practical guidance around branching and merging with Visual Studio Team Foundation Server 2010. The new release focuses on Hands on Labs and includes lots of lessons learnt from the community Q&A.
Visual Studio Team Foundation Server Branching Guide 2010
Branching and merging of software is a very large topic. It is an area where there is a lot of maturity in the software industry. This Ranger solution focuses on applied and practical examples of branching that you can use right now. The 2010 release includes discussions around branching concepts and strategies but also focuses on practical hands-on labs.
Visual Studio ALM Rangers
This guidance is created by the Rangers who have the mission to provide out of band solutions for missing features or guidance. This content was created with support from Microsoft Product Group, Microsoft Most Valued Professionals (MVPs) and technical specialists from technology communities around the globe, giving you a real-world view from the field, where the technology has been tested and used.
What is in the package?
The content is packaged in 8 separate zip files to give you the choice of selective downloads but the default download is the TFS_Branching_Guide_2010_Complete_Package_v1 if you are interested in all parts.

  • TFS_Branching_Guide_Main_2010_v1.zip --> Start here
  • TFS_Branching_Guide_Scenarios_2010_v1.zip
  • TFS_Branching_Guide_Scenarios_2010_Poster_v1.zip
  • HOL_Quick_Start_Basic_Branch_Plan_2010_v1.zip
  • Lab_Files_HOL_Quick_Start_Basic_Branch_Plan_v1.zip
  • TFS_Branching_Guide_Q&A_2010_v1.zip
  • TFS_Branching_Guide_Diagrams_2010_v1.zip
  • TFS_Branching_Guide_2010_Complete_Package_v1
Team
Bill Heys, James Pickell, Willy-Peter Schaub, Bijan Javidi, Oliver Hilgers, Bob Jacobs, Sin Min Lee, Neno Loje, Mathias Olausson, Matt Velloso
How to submit new ideas?
The recommended method is to simply post ideas to the community or to contact the Rangers at http://msdn.microsoft.com/en-us/teamsystem/ee358786.aspx.

Ed Blankenship

posted on Wednesday, January 20, 2010 5:22:56 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0] Trackback
# Tuesday, January 19, 2010

Tomorrow, I’ll be presenting in this month’s geekSpeak about migrating from Visual SourceSafe to Team Foundation Server 2010.  I’m sure we’ll get through the VSS content pretty quickly so with the time left we’ll talk about new branching & merging features, branch visualization, and gated check-in.

In this geekSpeak, Microsoft Most Valuable Professional (MVP) Ed Blankenship discusses migrating source code from Visual SourceSafe, including the history. There has not been a better time to migrate to the newest Microsoft source control offering, Microsoft Visual Studio 2010 Team Foundation Server, because Microsoft Visual SourceSafe support is ending soon and Team Foundation Server will be part of Microsoft Developer Network (MSDN) subscriptions in 2010. Ed discusses specific version-control features to help you become more productive like branching and merging visualization, annotate, shelving, and gated check-in. This geekSpeak is hosted by Glen Gordon and Brian Hitney.

Registration for the event available here:  http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?culture=en-US&EventID=1032438525

BTW – The end-of-life support date for Visual SourceSafe is mid-year 2011.  Don’t get stuck on an unsupported product :) especially one that’s holding your source code!

 

Ed Blankenship

posted on Tuesday, January 19, 2010 8:46:38 PM (Eastern Standard Time, UTC-05:00)  #    Comments [2] Trackback
# Thursday, January 14, 2010

Visual Studio 2010 LogoIt wasn’t long ago that an original launch date (March 22, 2009) was announced for Team Foundation Server 2010, Visual Studio 2010, and the .NET Framework 4.0.  It then got postponed after the product teams realized that they weren’t going to meet that date and have a solid product up high release standards.  A new launch date has been announced to be April 12, 2010.

Now remember that launch date doesn’t mean release date!  I had a little discussion about it on a previous blog post but hopefully everything will get wrapped up, RTM, and will be available to MSDN Subscriber Downloads before the launch date.  Fingers crossed!

[Updated] Also, a Release Candidate will be available for all of these products in February and will include a public  “Go-Live” license just like Beta 2.  Be sure to upgrade to the RC as soon as possible and report any issues that you may be experiencing quickly since the time between RC and RTM will be very short.  I’m sure the product group’s largest goal is to make sure there are no show-stoppers being discovered in the RC.

 

Ed Blankenship

posted on Thursday, January 14, 2010 9:44:07 AM (Eastern Standard Time, UTC-05:00)  #    Comments [2] Trackback
# Tuesday, January 12, 2010

Surprisingly, I’ve heard from several people that they still want a hard-copy document form of artifacts that are getting stored in TFS like Test Plan documents or Requirements documents.  I can understand some situations like if you need to follow certain regulatory requirements as so forth but don’t really see the need beyond that why you would ever want a hard-copy :)  Help me understand more if you happen to be in that boat!

Anyhow, if you need a hard-copy test plan document then you are in luck!  Test Scribe has just been released which will take your test plan information, artifacts, and progress from TFS and generate a nice Word document.  Quite handy!  If only we can get the Requirements document power tool now then we’ll satisfy that other group of people!

I'd like to announce the beta availability of Team Test's first Power Tool release for Visual Studio 2010: Test Scribe.  This tool allows users of Visual Studio 2010 Ultimate Beta 2 to generate a Word 2007-compatible Test Plan Document from their plan, suites, test cases, and other artifacts.  Using the tool is a fairly straightforward process, including:

   1. Launch the Test Scribe tool.
   2. Enter your server/collection URL (e.g. http://myserver:8080/tfs/DefaultCollection)
   3. Select a Project.
   4. Select a Test Plan (previously created in MTM).
   5. Click the Generate button.

The resulting document will contain (among other things) a list suites with test cases and steps detail and pie charts detailing the overall progress of your Test Plan.  You can see a screenshot below showing several sections of a generated document.  Feedback is welcome and appreciated, and you can find the tool download at http://visualstudiogallery.msdn.microsoft.com/en-us/d18873c7-909d-4788-a56e-0c496a1d8bb9.

image

Many thanks and appreciation to everyone who helped get this tool out the door.

More information available here:  http://blogs.msdn.com/vstsqualitytools/archive/2010/01/11/test-scribe-test-plan-documentation-for-mtlm-plans.aspx

 

Ed Blankenship

posted on Tuesday, January 12, 2010 9:45:33 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0] Trackback
# Monday, January 11, 2010

Not sure if you have seen this but some of the product managers on the TFS Build team at Microsoft have been putting together some great blog posts for how to create custom build activities and get a little background about Windows Workflow 4.0 and how it relates to TFS Build 2010.

CP_banner_111x111_gen.jpgAlso, we’ve been trying to put together a CodePlex project that’s designed to be a central location for contributions of Team Build 2010 customizations like custom activities, build process template customizations, build tools, etc.  You can take a look here:  http://teambuild2010contrib.codeplex.com/.  I’d encourage you to think about contributing any of your customizations to this project.  I know I’m personally hoping that it will be the “go-to” place for some of the common build activities that people need.  If you happen to have any feature requests for build activities, feel free to request one in the discussions and we’ll add it to the backlog:  http://teambuild2010contrib.codeplex.com/Thread/List.aspx

 

Thanks!

Ed Blankenship

posted on Monday, January 11, 2010 3:21:47 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0] Trackback
# Wednesday, December 09, 2009

In Team Foundation Server 2010, you know have the ability to (easily) have multiple build agents on the same build server.  You were able to do this in TFS 2008 but it really wasn’t supported.  However, this raises an interesting challenge:  some processes and executables aren’t designed to handle being run simultaneously in multiple contexts on the same build machine.  Some applications can’t or have a difficult time handling concurrent access from multiple build servers at the same time as well.

I’ve listed a few of the scenarios that I can I remember off the top of my head:

  • Automated UI Testing – running automated UI tests from two different builds on the same build machine can lead into utter confusion!  :)  Mouse clicks going everywhere!  Let’s just stick to one set of automated UI tests running on an individual machine at the same time.
  • Running Automated Tests that Collect Code Coverage Information -  This was an interesting limitation that I found in the 2008 release.  It seems that the code coverage data collector did not support collecting from more than one automated testing run happening concurrently on the same machine.  (This might actually have been addressed in the 2010 release but I’m not quite sure.)
  • Dotfuscator – As far as I remember, this was another tool I remember having concurrency issues on the same build machine.
  • Symbol Server Store Access – This is something new to me and I’m not intimately familiar with all of the details behind this limitation.  It looks like you can not use the symbol server publishing tools against the same symbol server storage location at the same time even on multiple machines.  (See example below.)
  • Other Tools – I’m sure there are other build processes and tools we use that have limitations.  I’m sure many will be found out now that concurrent usage is more easily possible now.  Leave a comment below if you find any other examples and I’ll add them to this list.

Thankfully, the Team Build folks have provided us the ability to handle those specific scenarios where concurrent access isn’t supported as part of the build process.  That’s through the use of the Shared Resource Scope activity.  (Microsoft.TeamFoundation.Build.Workflow.Activities.SharedResourceScope)

Basically what it does is define a region of the build process that will only be allowed to be entered by one build across the entire Team Project Collection (even multiple build machines/agents) that share a matching resource name string.  It’s very similar to how we use the lock statement in C# or creating mutex objects.  (You might have to dust off those old computer science books from school.)

However, if you only want to limit the scope to a particular build server (instead of the entire Team Project Collection) then you can just put the build server machine name into the resource name string.  Don’t hardcode the machine name though and instead use one of the properties that are provided for you (in case the build doesn’t run on the same build machine every run because of the new agent pooling feature.)  Instead you could use an approach like this for the resource name expression:

=String.Format(“{0}_{1}”, BuildAgent.BuildServer, “AutomatedUITesting”)

Example in the Default Build Process Template in TFS 2010

Interestingly, there is an example usage of this activity and pattern available for us to look at in the default build process template file that’s available out of the box.  It’s usually located in version control here:  $/TeamProjectName/BuildProcessTemplates/DefaultTemplate.xaml.  Lower down in the default process, there is a section that attempt to publish the symbols to a symbol server storage location if you have specified it in your build definition properties.  My Assumption:  However, since only one build server can be publishing to a particular location at the same time, then a controlled scoped region is created based on the location property. (SourceAndSymbolServerSettings.SymbolStorePath)

That way you don’t have to worry about any build agent inside a Team Project Collection ever publishing to the same symbol server location at the same time.

Recently added:  It looks like this particular issue has already been discussed and that my assumption above is correct.  Adam blogs about it here.  Check it out.  How about that?

One more thing to note about symbol server publishing is the use of the SharedResourceScope activity in the build process template. The purpose is to make sure that concurrent instances of symstore.exe aren’t adding symbols at the same time, as the tool doesn’t support concurrent access to a symbol server share. SharedResourceScope uses the Team Foundation Server to control access to an arbitrarily named resource, in this case the share. That way, if multiple builds are trying to publish symbols at the same time, the requests are queued and only one will publish at a time, while the others wait (instead of fail due to file access errors or “step on each others’ toes”). PublishSymbols does not care about shared resource locks, but it is contained within the SharedResourceScope, so won’t be executed until the lock is appropriately acquired.

image 

image

Other Properties Available for SharedResourceScope Activity

As you can see above there are a few other properties available for you to configure for this activity:

  • MaxExecutionTime:  This is a TimeSpan that can be specified to limit the amount of time that a particular agent has control of the scope.  This is particularly useful for a resource scope that is going to be heavily used and can help you prevent a rogue build from eating up that resource indefinitely.  If the process inside the scope can’t complete before this time period has expired then an exception gets thrown.
  • MaxWaitTime:  This is a TimeSpan that can be specified to limit the amount of time to wait for control of the scope.  The example above limits the amount of waiting to one hour and if it doesn’t reserve the scope within that time period an exception gets thrown.

 

Thanks to Aaron Hallberg for all of the background information and existence of this activity!

 

Ed Blankenship

posted on Wednesday, December 09, 2009 1:24:39 PM (Eastern Standard Time, UTC-05:00)  #    Comments [1] Trackback

Just saw the new stadium diagram for the ALM features (Visual Studio “Team System”) in Visual Studio 2010 and Team Foundation Server 2010.  Enjoy!

 

Visual Studio 2010 ALM and TFS 2010 Stadium Diagram

Ed Blankenship

posted on Wednesday, December 09, 2009 10:51:29 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0] Trackback
# Wednesday, November 25, 2009

I learned a very important tip today about Microsoft Test & Lab Manager.  The data collectors that you can specify in your test runs (which by the way are extremely helpful) don’t necessarily attach data to the test run or bug all of the time.  It depends on the actual success of the test case during the test run.  Two example were mentioned today:Visual Studio Data Collectors in Microsoft Test and Lab Manager

  • IntelliTrace – The IntellIiTrace data collector will only output a trace log if the test case fails.
  • Test Impact Analysis – The Test Impact data collector will only publish test impact data back to Team Foundation Server if the test case succeeds.

So this leads us to the fact that we won’t ever see both of them together at the same time.  If you see an IntelliTrace trace log file for a test case then you won’t be getting any test impact data published to the server (and vice versa.)  Be sure to have both of them enabled though if you would like to get that type of data when the test case ends.  This also helps me in figuring out why I haven’t been getting impacted tests in my build reports and the handy view of “recommend tests” based on choosing a build in MTLM.  I need to actually pass some tests to get that data published back up to the server!

 

How about that?  Very handy to know.  The Visual Studio Quality Tools team has a blog that has been very active lately.  If you would like to learn more about Microsoft Test & Lab Manager head on over to the site.

Ed Blankenship

posted on Wednesday, November 25, 2009 6:13:23 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0] Trackback
# Monday, November 09, 2009

If you’ve had the responsibility of administering a TFS 2005 or TFS 2008 server you may have run in the “Display Name” problem before.  In March 2007, the TFS Work Item Tracking team put a great post together about what’s exactly going on and it’s available here:  http://blogs.msdn.com/teams_wit_tools/archive/2007/03/15/handling-display-name-changes-in-team-foundation-server.aspx

Basically, in TFS work item types, you can specify a field to hold the name of a user like in the Assigned To field.  The value that gets stored is basically just a string value of the person’s Display Name in Active Directory.  Not so bad except it’s not a strongly-typed object of a user but is just a string.  The problem comes when the user’s display name gets changed in Active Directory like when an employee gets married and take’s their spouse’s last name.  This causes a problem because all of the work items are still assigned to “Jane Doe” instead of “Jane NewLastName".  Even worse, “Jane Doe” is not even a valid user any longer so the work item becomes in an invalid state.  It’s kind of a maintenance nightmare.

Background:  Every hour an Active Directory synchronization job gets queued up and processes changes to Active Directory like new users, group membership changes, etc.  TFS keeps a cache of AD locally to help with operations across several subsystems.  For users, it caches certain information like the primary e-mail address, display name, domain/user name, SID, distinguished name, etc.

Thankfully there was something that helped us out available in the TFS Power Tools release called “TFS Users.”  You had to know about the display name change so working closely with your IT department was important.  Thankfully, it looks like TFS 2010 has added some abilities to notice those display name changes and proactively help you out within your system.  One of those changes is a new attribute in your work item type definitions that tells TFS which fields to automatically update.  I’ve bolded and underlined all of the changes from the previous default definition of the MSF Agile Bug.

<FIELD name="Assigned To" refname="System.AssignedTo" type="String" syncnamechanges="true" reportable="dimension">
  <VALIDUSER />
  <HELPTEXT>The person currently working on this bug</HELPTEXT>
</FIELD>
<FIELD name="Activated By" refname="Microsoft.VSTS.Common.ActivatedBy" type="String" syncnamechanges="true" reportable="dimension">
  <WHENNOTCHANGED field="System.State">
    <ALLOWEXISTINGVALUE />
    <READONLY />
  </WHENNOTCHANGED>
</FIELD>
<FIELD name="Changed By" refname="System.ChangedBy" type="String" syncnamechanges="true" reportable="dimension">
  <ALLOWEXISTINGVALUE />
  <VALIDUSER />
</FIELD>
<FIELD name="Closed By" refname="Microsoft.VSTS.Common.ClosedBy" type="String" syncnamechanges="true" reportable="dimension">
  <WHENNOTCHANGED field="System.State">
    <ALLOWEXISTINGVALUE />
    <READONLY />
  </WHENNOTCHANGED>
</FIELD>
<FIELD name="Created By" refname="System.CreatedBy" type="String" syncnamechanges="true" reportable="dimension" />
<FIELD name="Authorized As" refname="System.AuthorizedAs" type="String" syncnamechanges="true" />
<FIELD name="Resolved By" refname="Microsoft.VSTS.Common.ResolvedBy" type="String" syncnamechanges="true" reportable="dimension"> <WHENNOTCHANGED field="System.State"> <ALLOWEXISTINGVALUE /> <READONLY /> </WHENNOTCHANGED> </FIELD>

If you have custom process templates or you have modified the out of the box process templates, you’ll have to do some maintenance to your existing team projects to light up the new TFS 2010 features available including the ability to automatically sync the name changes from Active Directory.  If you are using the MSF Agile template you will want to update the following fields:

  • Assigned To
  • Activated By
  • Changed By
  • Closed By
  • Created By
  • Authorized As
  • Resolved By

For all other process templates, you’ll want to update the work item types that have fields that hold display name values.  There is actually some great information already available about this particular topic available in the MSDN Library:  http://msdn.microsoft.com/en-us/library/dd286562(VS.100).aspx

One of the other things we notice from the changes are the addition of the ALLOWEXISTINGVALUE rule to some of the fields.  This rule allows a previously entered value to still be valid even if that value is no longer a valid value.  In addition, there are also some state/transition rule changes for allowing the existing value.  Be sure to do a diff against your current work item type definition and the new MSF Agile work item type definitions to find all of the new changes.

For more information about managing work item type fields in TFS, see this MSDN Library Article:  http://msdn.microsoft.com/en-us/library/dd236909(VS.100).aspx

 

Ed Blankenship

posted on Monday, November 09, 2009 2:26:38 PM (Eastern Standard Time, UTC-05:00)  #    Comments [2] Trackback

I don’t know how many times I’ve heard this suggestion from people:  “Microsoft should just buy TeamPrise and make the Eclipse and non-Windows clients just part of the TFS product.”

That day is finally here.  Microsoft has purchased the TeamPrise-related assets from SourceGear.  More details about the acquisition announcement are available at Microsoft’s PressPass site and also the Pathways site for TeamPrise and Visual Studio.

Also, in addition to purchasing the TeamPrise assets, Microsoft has also hired a majority of the development team including, most notably, Martin Woodward who has been an absolutely fantastic part of the “Team System” MVP group.  It will be really sad to see Martin leave the group (as of today) but something tells me that he won’t be hiding :)  Congratulations to him and the entire team!

Now the one thing that i think people might be worried about will be what will happen to the future of the TeamPrise clients and will that development team be able to innovate as quickly as they had before?  I’m pretty sure the same “mission” will be in place and the team will be able to more closely leverage the other team members and assets within the Team Foundation Server product team.  As far as speed of innovation, that’s tough to tell.  Most other Microsoft products have tons of release requirements that slow them down such as localization, security reviews, etc.  All of which are great things but do end up slowing you down if you have to support those requirements.  Who knows if the TeamPrise development team will have to support them?  My guess is that if they’re going to be part of the “Visual Studio” product line that they will have the very similar if not the same requirements as the rest of the stack.  We will definitely see…  Another possible hang up is that Microsoft (specifically Developer Division) will have to learn how to sell & market a Java/non-Windows based product.  I can only imagine there will be some growing pains.

As far as licensing, right now you’ll need to still purchase the TeamPrise clients and get support from TeamPrise directly.  A Microsoft-branded “TeamPrise” client will become available with the 2010 release.  If you own a current license of the TeamPrise 3.3 software it looks like you’ll be upgraded to the new version when it is released.  Also, if you own a Visual Studio 2010 Ultimate with MSDN license at the time you’ll get access to download the new clients from MSDN Subscriber Downloads.  After the 2010 release, it looks like there will be a new SKU available to be able to purchase just the new clients that will also include a CAL for Team Foundation Server that will run somewhere around $799 retail.

I’m excited about the decision and it looks like both Martin and Brian Harry are as well.  I’m excited to see the platform broaden and truly support teams who have heterogeneous development environments!

 

Ed Blankenship

posted on Monday, November 09, 2009 11:57:26 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0] Trackback
# Tuesday, November 03, 2009

Looks like there is a new migration tool being made available that helps you with importing test cases into TFS 2010 which now has Test Case Management as one of it’s new features.  It’s now available on CodePlex and works with the Beta 2 release.  Here’s some of the features available:

  • Imports Test case information (along with Test Steps) present in Excel into TCM/TFS server – Note: This is ONE way migration only
  • Provides a wizard based UI to run the tool one file at a time
  • Provides a command line support to run the tool in a batch mode
  • Allows you to save your selections/configurations into a mappings file to be reused later
  • Default mapping file that works across both Agile based and CMMI based projects are shipped along with the tool

http://tcmimport.codeplex.com/

I believe some systems allow you to export your test cases into Excel (HP Quality Center?) so this might be a good migration option.  You can also use the TFS 2010 SDK to build a custom migration utility that will import from another system without having to go through Excel at first.  Take a look at it and see if it might be helpful for you!

 

Ed Blankenship

posted on Tuesday, November 03, 2009 11:24:54 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0] Trackback
# Thursday, October 29, 2009

Over the past two weeks, I’ve really been hitting VS & TFS 2010 Beta 2 pretty hard.  I’ve found a few things and used Connect to report some suggestions & problems that I’ve found.  The product teams have been very active about responding to each of them and it’s been a very pleasant experience.

It looks like the product team wants even more feedback from everyone so if you could head over to the 2010 Beta 2 Survey and give your feedback, I know it will be greatly appreciated.  It’s pretty quick and easy with about 11 questions and about 3 optional free-fill questions that you can type longer responses in.

Visual Studio 2010 Beta 2 Logo Feedback

Ed Blankenship

posted on Thursday, October 29, 2009 5:59:15 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
# Wednesday, October 21, 2009

I get this question a lot.  People often wonder what Team Foundation Server (TFS) is and why would you use it?  I read a blog post earlier today from Jason Zander who has the best explanation of TFS that I know.  Also, he hits the nail on the head about the “well, can’t I just integrate all these other systems together?”  I love the analogy he uses (emphasis added:)

First let’s talk about “why TFS?”  The goal of Team Foundation Server is to create a central repository with a set of tools that make it really easy to collaborate between roles.  You could try to stitch together multiple disparate systems as follows:

image

In this case each system has its own storage, own set of identity for assets, own commands and tools.  Getting this going is like trying to hook up a set of custom stereo components:  you can pull it off but it’s going to be a lot of work and you are missing out on some stuff.

What I’d rather have is a system which can integrate these items together and then enable my default work flow through the system:

image

Even better, with TFS 2010 you get the opportunity to add even more pieces to the ALM puzzle under one roof:

image

A good Application Lifecycle Management (ALM) system has all of these systems integrated together and linked to provide you as much transparency, traceability, and metrics available about the relationships between the artifacts in those systems.  TFS is the best system available today that has all of that built together.

 

Ed Blankenship

posted on Wednesday, October 21, 2009 11:18:32 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [3] Trackback

If you missed the news on Monday, Visual Studio 2010 and Team Foundation Server 2010 Beta 2 are available to download by both MSDN Subscribers and everyone else in the world!  This is really huge!  Beta 2 has already been a really solid release since I first downloaded and installed it.  The performance of the new WPF-based IDE has been dramatically improved from earlier builds.

Visual Studio

Visual Studio Extensibility

.NET Framework

Team Foundation Server

Test Products

Express

There was also a ton of news coming out ranging from Licensing and SKU changes, the launch data for the 2010 release (which is March 22, 2010,) what you get upgraded to if you have an active MSDN Subscription on a launch day, and a whole bunch of great things!  I’m really excited about this 2010 release wave.  There’s a ton of great stuff designed to make everyone’s life that much easier when they’re developing, testing, and building applications.

“Go-Live” License

One of the great things about the Beta 2 release is that Microsoft has announced that you can use Beta 2 in production environments and also to build production applications.  This “go-live” license includes .NET 4.0, Visual Studio 2010, and Team Foundation Server 2010.  Jeff Beehler blogged earlier about what “go-live” actually means so be sure to read through it closely.  Beta 2 is a very solid Visual Studio and TFS build.  However, there is always some risk with upgrading production environments using Beta software.  Be sure you understand the risks before taking the plunge. 

I’d suggest that if you are able to take the risk that you upgrade to both Visual Studio 2010 and TFS 2010 Beta 2 as soon as you can.  Remember that even if you don’t want to run .NET 4 for your production applications, you can still use Visual Studio 2010 to edit solutions/projects that target .NET 3.5, .NET 3.0, and .NET 2.0!

If you’re not able to take the risk to “go-live” during the Beta 2 timeframe then I would definitely suggest that you begin you testing & evaluation process now using the Beta 2 build.  You’re able to test out the upgrade process from your TFS 2008 databases and discover any possible hang-ups during the upgrade process. (I personally haven’t had any for the servers that I have upgraded but you never know!)  By getting your planning & testing done now, you’re in a better position to upgrade when TFS 2010 is released at the beginning of the year.  Another thing you could do to get ready is be sure that you’ve upgraded any prerequisites.  For example, even while you are running TFS 2008 you can upgrade your SQL Server instance to 2008 and upgrade your Windows SharePoint Services install to WSS 3.0.  Using SQL Server 2005 or WSS 2.0 is not supported in TFS 2010 so this will just make things a ton easier for you when it actually is time to upgrade.

Launch Date vs RTM

I mentioned about that the launch date was announced for March 22, 2010.  However, launch doesn’t necessarily mean Release to Manufacturing (RTM.)  Products usually RTM before launch day but there have been a few exceptions.  For example, SQL Server 2008 RTM’d much later than it’s launch date :)  Hopefully that never happens again.  What’s great about RTM is that if you’re an active MSDN subscriber, you usually get access to download the final build shortly after RTM based on past releases of products.  Launch day for Windows 7 is tomorrow but RTM was earlier this summer and MSDN Subscribers have had access since August 6, 2009.  (This does not mean in any way that there will be that much lead time for the Visual Studio 2010 release… I’d say it’s probably very unlikely!)

 

There’s really a lot of news to process so I’ll be posting some articles next week that goes into detail about several of them.  If there’s anything in particular that you’re not quite sure of, feel free to contact me or leave me a comment about something that needs more information.  In the meantime, please do help out by making this the best Visual Studio release ever.  If you find a bug or think a scenario could be improved (be reasonable) be sure to log it at the Microsoft Connect site.

Take care and have fun,

Ed Blankenship

posted on Wednesday, October 21, 2009 11:01:01 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [1] Trackback
# Friday, September 25, 2009

Disclaimer:  I’m writing this at a time when only Beta 1 is available for Visual Studio Team System 2010 so the information may have changed by the time it has been released.  I have included links to the relevant MSDN articles which should remain valid after release time so just double-check.

This small little additional feature is actually one that I have been looking forward to for a long time.  In Visual Studio Team System and Team Foundation Server 2010, you will now be able to limit your test runs to specific test categories with a new command-line option on MSTest.exe and therefore in Team Build 2010 which calls MSTest.exe automatically for you.

Back in the day… You would need to create test lists (.VSMDI files) in VSTS 2005 and VSTS 2008 to basically “categorize” your automated unit tests by putting them into different lists.  One handy thing about them is that the lists could be hierarchical which helps out at build time.  When you wanted to run a specific subset of tests either locally using MSTest.exe or in Team Build, you would just specify the .VSMDI file to use and then the test list you wanted to run.  Not too bad, but it’s a pain to keep up with those test lists.  Serious pain.  However, the thing that I hated absolutely most about them is that you could only edit the .VSDMI files if you purchased Visual Studio Team Suite or the Tester Edition.  So that means that if you have just the VSTS Developer Edition then you are pretty much out of luck.  For most places that I have seen, it’s usually the developers maintaining those test list files not the testers.

For this reason I actually prefer and will be recommending the Test Container and Category approach going forward in 2010.  Test Containers are essentially files that contain tests in them.  For example, unit tests (and other compiled tests) are stored in .dll files and ordered tests are in .orderedtest files.  I like this approach.  In automated builds I just want to specify which files contain the tests that I want to run and then if I want to limit the test run to just a subset I can just list which categories to run. 

A great example of this is what I call the “BVT” category.  These are the tests that you have identified to be your “smoke” tests that make sure a build is okay.  If these tests fail then you’ve probably got a bad build.  (BVT = Build Verification Tests) So I would limit the test runs on any CI or even the new Gated Check-In builds to just those BVT tests.  Quick & dirty verification is really all you need for those builds leaving a more extensive automated test pass to happen during the nightly or weekly build.  If you’re not familiar with the new Gated Check-In feature in TFS 2010, check out Brian’s blog post or Patrick’s blog post for more information.  It’s a killer feature.

This does rely on one thing though… each “developer” of an automated test needs to make sure they add the correct attribute(s) to their test methods.  You don’t have to keep up with maintaining the .VSDMI files any longer but you do have to make sure you mark each method appropriately.

You can even use test categories with the new types of automated tests available in 2010 like Coded UI Tests.  It doesn’t just have to be unit tests.

How to Specify a Category in an Automated Test

This part is pretty easy.  You just add as many TestCategory attributes to the test method as you need.  Here’s an example in C# using multiple test categories for a test method called DebitTest:

[TestCategory("Nightly"), TestCategory("Weekly"), TestCategory("Monthly"), TestMethod()]
public void DebitTest()
{
}

Alternately, you can select a test in the Test View tool window and then set the category by using the Properties tool window in Visual Studio and it will add the appropriate attributes to the methods for you.

image

How to Specify which Categories to Run in an Automated Build with Team Build 2010

Okay… this part is easy too. :)  Build definitions now have build properties that can be exposed to the end user in the Build Definition Details dialog or in the Queue Build dialog.  This is handy because you could by default not set a filter to run under normal circumstances (triggered or default manual builds) or you can change it when manually queuing a build if you want that build to run differently.  Either way it’s the same for setting the categories.  If you’re using the default build process workflow that is available out of the box, then just scroll down through the property list until you reach the Testing section which includes a build property called Test Category.  Leave it blank if you want to run all tests or specify the categories you’d like to limit it too:

image image

According to the MSDN documentation for the Test Category switch, you can combine multiple categories in different combinations instead of just specifying one category.  Very handy – here’s some examples:

  • /category:group1 runs tests in the test category "group1".

  • /category:"group1&group2" runs tests that are in both test categories "group1" and "group2." Tests that are only in one of the specified test categories will not be run.

  • /category:"group1|group2" runs tests that are in test category "group1" or "group2". Tests that are in both test categories will also be run.

  • /category:"group1&!group2" runs tests from the test category "group1" that are not in the test category "group2." A test that is in both test category "group1" and "group2" will not be run.

  • What I’m not sure about is whether you can specify test categories when using the old Upgrade Build Workflow template .xaml file… I’ll check on that and then update the blog post.

    It’s worth noting that if you are going to use the test category method to limit test runs, you must use test containers.

    Limiting Test Runs Based on Test Priorities

    If you noticed in the screenshot above from Team Build, you can also limit your test run to tests that are in a specific priority range.  How do you specify the range for your test methods?  You can use the Properties window when selecting a test in the Test View tool window or you can add the Priority attribute manually to the test method.  After that you just specify the range of priorities to use in the test run.

    [TestCategory("Nightly"), TestCategory("Weekly"), TestCategory("Monthly")]
    [TestMethod()]
    [Priority(1)]
    public void DebitTest()
    {
    }

     

    Additional Note:  It appears that the product team is actually encouraging people to move away from the old .VSDMI approach in favor of categories.  Check their note out:

    NoteNote

    Test categories are recommended for use over the test lists functionality from earlier versions of Microsoft Visual Studio Team System Test, unless you have to create a check-in policy which requires a test list. For more information about check-in policies, see How to: Add Check-In Policies.

     

    Take care and happy testing,

    Ed Blankenship

    posted on Friday, September 25, 2009 11:10:32 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
    # Monday, September 21, 2009

    Now this is really cool!  There is a really cool visualization when using Team System Web Access that shows the workflow of the work item that I thought would be really cool if we could have in the Team Explorer client inside Visual Studio.  Well thankfully, Michel Perfetti (author of Fissum) just released a custom work item control that does exactly what TSWA does…

    clip_image002

    Remember, you can have different work item form layouts based on what client it is going to be loaded in so you could specify a layout for “WinForms” that would be the only one that would load this custom control.  Check out Neno’s blog post about this topic for more information.

     

    Check it out on CodePlex:  http://tfsworkflowcontrol.codeplex.com/

     

    Ed Blankenship

    posted on Monday, September 21, 2009 6:39:58 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
    # Wednesday, July 15, 2009

    Just wanted to take a few seconds to post the slide deck I’m using for my Real World TFS sessions.  I’ll post a link to the recording of the MVP TV session earlier today when it’s made available!

     

    Ed Blankenship

    posted on Wednesday, July 15, 2009 2:56:36 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
    # Monday, July 13, 2009

    Also really excited about doing my first ever MVP TV set up by the Microsoft MVP program.  Hope to see you there!  We have an extra thirty minutes at the end so be sure to bring your questions.

    MVP TV: Real World TFS: Tips for a Successful Team System Implementation

    Wednesday, July 15th, 2009 | 9:00am – 10:30am (PDT, Redmond time) or 12:00pm – 1:30pm (EDT, New York City time)

    Targeted: This Product Group Interaction is open to  all Developer MVPs in all Technical Expertise and  public audience.

    So you’ve decided that Visual Studio Team System & Team Foundation Server is going to bring your organization added value (because it will :)) but what do you do now?  Please join Ed Blankenship as he covers the 2.5 years of successful implementation of VSTS and the experience of that journey at Infragistics, the world’s leading maker of software development tools.  The session intends to cover each phase of the implementation of all affected areas for a smooth adoption:  Version Control, Builds, Work Item Tracking, global deployment, moving multiple teams, training, automated testing, migration from legacy systems, and integration with other systems and TFS.  The goal will be to go through at a high-level of what it takes to make you successful by learning from the challenges and obstacles overcome.  We’ll also look in the future with VSTS 2010 and see how strategic planning will help make a successful adoption of the new features in the upcoming 2010 release.  The session is led by a Microsoft MVP (Team System) & Champ who has been in the trenches during the whole implementation.

    Prerequisites:  A healthy attitude in learning from other peoples challenges and a strong desire to make real change within your organization!

    About Ed Blankenship: Ed is a Microsoft MVP, Microsoft Certified Application Developer, and works as the Release Engineering Manager at Infragistics, makers of the world's leading presentation layer tools and components. His expertise consists of Microsoft Visual Studio Team System and Team Foundation Server. He is also a technical evangelist for Rich Client applications (primarily Windows Forms & Windows Presentation Foundation.) He has been a technical editor for several Silverlight books, an article author, and has spoken at various user groups, events, and conferences.

    PJ Forgione has invited you to attend an online meeting using Live Meeting.
    Join the meeting. (Link: https://www.livemeeting.com/cc/mvp/join?id=NP5FQZ&role=attend&pw=A49410Y0D )
    Audio Information
    Computer Audio
    To use computer audio, you need speakers and microphone, or a headset.
    Telephone conferencing
    Use the information below to connect:
    Toll-free: +1 (866) 500-6738
    Toll: +1 (203) 480-8000
    Participant code: 5460396

     

    Ed Blankenship

    posted on Monday, July 13, 2009 12:30:09 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback

    While I’m up in New Jersey working at the Infragistics headquarters office, I’m going to have the privilege of speaking at the New York City VSTS User Group on July 28, 2009 at 6:30 PM.  Come see me if you’re in the area!  Because of security concerns at the building, you do need to register ahead of time if you’re planning to attend.

    VSTS User Group

    Real World TFS: Tips for a Successful Team System Implementation

    Description:
    So you've decided that Visual Studio Team System & Team Foundation Server is going to bring your organization added value (because it will :)) but what do you do now? Please join Ed Blankenship as he covers the 2.5 years of successful implementation of VSTS and the experience of that journey at Infragistics, the world's leading maker of software development tools. The session intends to cover each phase of the implementation of all affected areas for a smooth adoption: Version Control, Builds, Work Item Tracking, global deployment, moving multiple teams, training, automated testing, migration from legacy systems, and integration with other systems and TFS. The goal will be to go through at a high-level of what it takes to make you successful by learning from the challenges and obstacles overcome. We'll also look in the future with VSTS 2010 and see how strategic planning will help make a successful adoption of the new features in the upcoming 2010 release. The session is led by a Microsoft MVP (Team System) & Champ who has been in the trenches during the whole implementation.

    Presenter: Ed Blankenship

    Bio:
    Ed is a Microsoft MVP, Microsoft Certified Application Developer, and works as the Release Engineering Manager at Infragistics, makers of the world's leading presentation layer tools and components. His expertise includes Microsoft Visual Studio Team System and Team Foundation Server. He is also a technical evangelist for Rich Client applications (primarily Windows Forms & Windows Presentation Foundation.) He has been a technical editor for several Silverlight books, an article author, and has spoken at various user groups, events, radio shows, and conferences.

    Date/Time:  07-28-2009 6:30 - 8:00 PM

    Location: Microsoft Offices in NYC at 1290 Avenue of Americas, 6th Floor

    Click here to Register

     

    Ed Blankenship

    posted on Monday, July 13, 2009 9:53:00 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
    # Friday, July 10, 2009

    Dear Reader,

    I have decided to accept a Senior ALM Consultant position with the premier Australian consulting company, Readify.Australia Flag

    It’s always a tough decision to move on from a company you’ve really enjoyed being at.  I’ve really enjoyed the work that I have had the opportunity to do at Infragistics.  There are so many really great people at Infragistics that I truly will miss working with and hope to see in the future.  Some of my really good personal friends have been fellow colleagues at Infragistics which just shows you the type of culture that we have.  I’ve had an amazing team that I’ve worked with as the Release Engineering Manager and they have been truly able to make a positive change for the organization.  They’ve always been there to help make miracles and put in those really really long hours at release crunch time.  So really, I need to tip my hat to each of them for just being awesome:  Brian, Geoff, Kareen, and Jason.

     

    I’m really excited about this new opportunity.  I never would have thought in my wildest dreams that I’d be living abroad but the idea grew more and more on me as this opportunity came up.  I hear Australia is a beautiful country with an amazing culture.  I’m not currently planning for this to be a permanent move whatsoever but everyone I talk to about it says that I’m not going to want to come back! :) 

    I’ve heard about Readify for several years now as a Visual Studio Team System professional any time I hear about Australia & TFS/VSTS/ALM.  I’m really looking forward being able to visit multiple customer sites again and coming up with solutions to their ALM problems.  It’s been a while since I’ve been an ALM consultant so I’m looking forward to the variety.  Even more, as an MVP I’m looking forward to a whole new set of venues to get involved with the community on a new continent.  I think I’m going to have a busy schedule!

    There are tons of different things for me to solve as an American citizen living abroad.  It’s interesting that Grant Holliday just made the opposite move almost a year ago and I plan on doing the same thing as he has and try to write about the differences between the two countries.  Hopefully you’ll find it as interesting as I did with Grant’s story.

    I’m planning a really simple move:  packing up a few suitcases of clothes and jumping on a plane.  Hoping that works out well for me! :)

     

    I have decided to continue working with Infragistics until the beginning of August to wrap things up and hopefully train my replacement.  I guess the cat is out of the bag with the official job opening announcement on our website listed under Research & Development.  That position is listed to be the back-fill headcount for my current position.  Finally – I’d like to ask you to help us out:  If you’ve heard about our TFS instance and VSTS implementation from some of my user group talks or the Radio TFS episode and are interested (or know someone awesome who might be) in continuing this exciting work, please let me know!  You can send me a quick note to ed at infragistics dot com or use any of the contact links from my blog website.

     

    Take care!

    Ed Blankenship

    posted on Friday, July 10, 2009 1:15:00 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
    # Wednesday, July 01, 2009

    I’m up really early this morning.  I’m about to head to the airport to spend my Independence Day weekend in the Carolinas for some much needed beach vacation and visit with friends.  Thankfully, I didn’t miss Martin Woodward letting me know that the latest Radio TFS episode was made available just a few moments ago that includes my interview about our use of TFS and Visual Studio Team System at Infragistics.  It’s a longer episode than normal so it’s perfect if you’re going to be spending some time at the beach like me and listen to a fun talk.  We both really enjoyed chatting for this episode so we hope you enjoy it as well!

    Using TFS with Ed Blankenship

    In this episode we sit down and chat with Ed Blankenship about the use of Team Foundation Server at Infragistics. Ed has had some interesting challenges and experiences in running their TFS instance.  Additionally they have done some fairly advanced integration work which we discuss in detail.  This is a double-length show, so hopefully plenty of stuff to enjoy if you are sunning yourself on a beach somewhere.

    Ed is the Release Engineering Manager at Infragistics, makers of the world's leading presentation layer tools and components.  He is also a Microsoft MVP in Visual Studio Team System.

         Play Now: Using TFS with Ed Blankenship

    As the Release Engineering Manager, he leads the Release Engineering Department which is responsible for automated builds, creating product installers, packaging source code for customers, source configuration management/version control, metrics, release management, work item tracking, licensing enforcement, and development of internal productivity tools.  The department also is responsible for TFS Operations & Maintenance.

    Ed has been a technical editor for the Wrox Silverlight 1.0, Silverlight 2 Developer's Guide, and Silverlight 2 Bible books, author of numerous articles, and has spoken at various user groups, events, and conferences.

    Links from the show:

    As usual send any feedback to radiotfs@gmail.com.

     

    Feel free to let me know if you have any questions based on the Radio TFS chat.  I’m more than happy to get them answered for you!

     

    Take care,

    Ed B.

    posted on Wednesday, July 01, 2009 5:56:42 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
    # Wednesday, June 03, 2009

    Come join!  Here’s the website and the details.

    Website:  http://www.tsug-ve.com/

    JUNE EMEA Meeting
    Meeting Date: Thursday, June 18th, 2009
    Time: 10:00AM PDT/SLT (18:00 UTC)
    Location:  Microsoft Island in Second Life

    Real World TFS:  Tips for a Successful Team System Implementation

    OK, you’ve decided that Visual Studio Team System & Team Foundation Server is going to bring your organization added value (because it will :)) but what do you do now?  This session will cover the 2.5 year successful implementation of VSTS and the experience of that journey at Infragistics, the world’s leading maker of software development tools.  The session intends to cover over each phase of the implementation over all of the affected areas for a smooth adoption:  Version Control, Builds, Work Item Tracking, global deployment, moving multiple teams, training, automated testing, migration from legacy systems, and integration with other systems and TFS.  The goal will be to go through at a high-level what it takes to make you successful by learning from the challenges and obstacles overcome.  We’ll also look to the future with VSTS 2010 and see how strategic planning will help make a successful adoption of the new features in the upcoming 2010 release.  The session is led by a Team System MVP & Champ who has been in the trenches during the whole implementation.

    Prerequisites:  A healthy attitude from learning from other’s challenges and a strong desire to make real change at your organization!

     

    Take care,

    Ed B.

    posted on Wednesday, June 03, 2009 5:43:44 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
    # Sunday, May 31, 2009

    This has been out for a little while but wanted to make sure that you knew about it as well!

    Our Director of Product Development here at Infragistics, Joe Croney, has been working on a personal side project of creating an iPhone app that will connect to Team Foundation Server.  He’s got a BETA posted in the Apple iTunes store now.  At the moment it only supports checking on Builds but I know he’s starting a backlog.

    More screenshots and an FAQ are available at the website:  http://www.tfstogo.com/

    clip_image001 clip_image003

    Joe is looking for some feedback and any bugs so if you find some feel free to report them at support@tfstogo.com.  Congrats Joe!

    FYI:  We’ve found that if you connect over VPN in the iPhone that sometimes a local DNS name isn’t resolved correctly.  You can correct this by putting in the hard-coded IP address of the TFS server instead.

     

    Have fun and enjoy!

    Ed B.

    posted on Sunday, May 31, 2009 3:14:56 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback

    It’s been pretty quiet around this blog for quite some time now.  Just been busy traveling to TechEd North America and back to our office in New Jersey.  Lots going on!  However, no one ever has enough time to get everything done :)

    I’m going to be a little more demanding on myself to get through my blog topic backlog that I’ve been keeping for a while.  I think I’m up to 19 at the moment so I need to get it flushed out!  I keep a list alongside my To-Do list in OneNote about different topics that I come across that I blog about.  Usually they are from problems that I see day to day that other people probably will want to solve at some point (I always archive the screenshots so I can use them in my blog posts later.)  Other topics that end up on the list are in response to something I’ve done while traveling.  For example, Martin Woodward and I had the chance to record a Radio TFS episode (not yet aired) where we talked about our implementation of Team Foundation Server and Visual Studio Team System at Infragistics.  I think it was a great session and definitely looking forward to it getting out in the wild.  There were a few topics that we talked of stumbles we’ve encountered over the last two years and how we ended up solving them.  The goal for us was to get those out in the public since others may be experiencing the same hurdles and looking for resources on how to solve them.  It’s more along the lines of “hey, here’s our story so you can learn from our mistakes.”  I hope you find them useful.  On this blog, I’ll start talking about some of those points that we brought up in more detail since the radio show has to be reduced to a reasonable amount of time :)  Some of the stuff we talked about was just down-right cool!  More details to come…

     

    So, dear reader, I am pledging to you to get through my current blog topic backlog by the end of June.  Let me know if you would like me to write about anything in particular!

     

    Take care,

    Ed B.

     

    P.S.  I cross-post between my Infragistics Blog and my personal blog.  Some posts don’t end up on my Infragistics Blog site so be sure to check http://www.edsquared.com/ from time to time where my long-time colleague Ed Kisinger and I blog.  If you’d like to subscribe to that feed, the RSS address is:  RSS for Posts

    posted on Sunday, May 31, 2009 12:24:27 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
    # Thursday, April 16, 2009

    I had a really good time last night speaking to the Dallas VSTS User Group about the Microsoft Process Template.  If you want more information, I wrote a blog post shortly after the public release of the MPT.  I was really sick last month when I was supposed to speak so I’m really glad I got the opportunity to make it up.

    One of the things I really enjoy about the group was the open session time after the scheduled talk to discuss problems people were facing with Team System and the group attempts to come up with possible solutions.  That’s really a great use of time for a specialized user group like this one.

    As a fun extra, thankfully the Demo Gods were okay with me and saved this Blue Screen of Death (BSOD) until after I was finished using the VPC during my talk :)  Everyone insisted that I take a screenshot and share with the rest of the world so enjoy!

    image

    Ed B.

     

    P.S. As a side note, the experience whenever your evaluation license runs out in Windows Server 2008 has definitely improved.  It no longer gives you a BSOD.  I was using TFS 2008 SP1 installed in a Windows Server 2003 VPC for my demos.

    posted on Thursday, April 16, 2009 3:56:37 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
    # Friday, February 27, 2009

    In December, I had the privilege to be the “MVP in Residence” with the Team System product group.  Chuck blogged about the experience at the beginning and end of the week.  I felt really good about the accomplishments at the end of the week.  The main project I worked on was packaging up the Microsoft Process Template (MPT) so that it could used by the public community.  I’m happy to announce that it is live on CodePlex now so feel free to download and use it!

    Description

    The Microsoft Process Template (MPT) is a Microsoft internal, end-to-end project management solution that maps to the Microsoft product development cycle and works with Visual Studio Team System 2008 (VSTS). The MPT offers an out-of-the-box solution and includes all the work item types (forms), queries, documentation, engineering best practices, and reports required for Microsoft development teams to get up and running on Visual Studio Team System. The Engineering Excellence* and Visual Studio Development teams worked together closely over the last year to create this template by compiling the lessons learned from other teams that have implemented similar templates, incorporating engineering best practices, widely socializing the concepts, and finally piloting this template with several product groups.
    *The engineering excellence team is a Microsoft business unit that provides Microsoft business group employees with high-quality technical education, best practices and guidance.

    Be sure to check out the Introduction and the Getting Started guides to dive in and get the background information for the process template.  One of the main things that people will notice is that the MPT simulates work item hierarchy through the the use of some daemon services.  There are several ways to simulate hierarchy in TFS 2008 so if you’re looking for a solution the MPT has the services source code and reports created for them.

    image

    Here is a sample report that uses the hierarchy to rollup the progress by Feature:

    image

    There are a few known issues with the process template which are listed in the Getting Started guide.  I’ll be sure to keep the guide updated if I hear of any other known issues.

    Other MPT Resources

    Gregg Boer, Principal Program Manager on the TFS product group, wrote an excellent series of blog posts of how Microsoft uses the MPT internally along with an overview of the process around tracking progress throughout the release.

    · How Microsoft/DevDiv uses TFS - Chapter 1 (Our Process)

    · How Microsoft/DevDiv uses TFS - Chapter 2 (Feature Crews)

    · How Microsoft/DevDiv uses TFS - Chapter 3 (Implementing the Process)

    · How Microsoft/DevDiv uses TFS - Chapter 3 (Addendum)

    · How Microsoft/DevDiv uses TFS - Chapter 4

    · How Microsoft/DevDiv uses TFS - Chapter 5 (Tracking Progress)

    · How Microsoft/DevDiv uses TFS - Chapter 6 (Tracking multiple projects)

    · How Microsoft/DevDiv uses TFS - Chapter 6 (Addendum)

    · How Microsoft/DevDiv uses TFS-Chapter 7 (Tracking Risk)

    · How Microsoft/DevDiv uses TFS-Chapter 8 (Tracking Quality Gates)

    · How Microsoft/Dev Div uses TFS - Chapter 9 (Transparency in Reporting)

    image

    Jeff Beehler and Brian Keller also put together a video of how Jeff uses the MPT & TFS to monitor progress of the release cycle. Take a look on Channel 9: http://channel9.msdn.com/posts/briankel/Better-Project-Management-with-Team-Foundation-Server/

     

    I really want to thank you to everyone that helped getting it packaged up for the public!  Also, thanks to Chuck for organizing the week, working logistics, and of course giving me a place to stay!

     

    Ed B.

    posted on Friday, February 27, 2009 4:06:34 PM (Eastern Standard Time, UTC-05:00)  #    Comments [1] Trackback
    # Saturday, February 07, 2009

    Grant Holliday, former Team System MVP, is now working on the VSTS product group on various things but most importantly helping keep the internal Microsoft TFS servers in tip-top shape.  They have the largest known TFS instances in the world so you could imagine it’s got to be tough keeping it up and running well.  Brian Harry posts their usage metrics regularly if you’d like to get an idea of how HUGE it is.

     

    Keeping the performance manageable requires lots of monitoring and looking over the data that gets stored in the activity logging.  Grant has packaged up some of the reports they use internally and provided them to the world.  The download package is available on his blog post.

     

    imageimageimageimageclip_image004clip_image002[4]image

     

    Personally, I’m really glad that the product group is investing in dogfooding the early builds of the version of TFS that they are working on.  By putting the product under real use and under the load that only Microsoft can generate, we end up with a better product by the time it RTMs.

     

    Thanks again for making this available to the world!

     

    Ed B.

    posted on Saturday, February 07, 2009 1:10:13 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0] Trackback
    # Wednesday, October 29, 2008

    From those of you that use the Workgroup edition of Team Foundation Server you might have notice that you cannot use the Build Notification Power Tool since you cannot authenticate to TFS.

    image

    Here is what I have done to work around the noted limitation:

    "RunAs" to the rescue:

    image

    C:\Windows\System32>runas.exe /user:ROSCOE\jbm /netonly "C:\Program Files\Microsoft Team Foundation Server 2008 Power Tools\BuildNotification.exe"


    To automate, create yourself a little batch file for startup. Here is a VBS script to automate the entry of the password for RunAs:

    dim WshShell,FSO

    set WshShell = CreateObject("WScript.Shell")
    set WshEnv = WshShell.Environment("Process")

    set FSO = CreateObject("Scripting.FileSystemObject")

    WshShell.Run("C:\Windows\System32\runas.exe /user:ROSCOE\jbm /netonly" & " {YourInstallPath}\BuildNotification.exe")

    Wscript.Sleep 300 ' Wait for window to open

    WshShell.AppActivate("C:\Windows\System32\runas.exe")
    WshShell.SendKeys "{YourUserPassword}"
    WshShell.SendKeys VBCRLF

    set WshShell=Nothing
    set WshEnv=Nothing
    set FSO=Nothing

    wscript.quit

    [UPDATE]
    You can "Connect As" from the GUI; Unfortunately, you will have to do this each time you restart.

    TFS

    Ed K.

    posted on Wednesday, October 29, 2008 10:58:52 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
    # Friday, October 10, 2008

    TulsaTechFest 2008

    I’ve been in the middle of a lot lately and completely forgot to mention Tulsa TechFest 2008!  This will be my third year speaking and interestingly I have the only Team System talk this year.  If you’re around the area be sure to come by to learn more about automating your build & packaging process using Team System.  I’m going to do my Team Build talk that I did earlier this year at the Dallas VSTS User Group but we won’t go into as much depth since we only have 1.5 hours.  Looks like another great year with almost.  Infragistics has been a proud & regular sponsor of this event and I’m honored to have been invited again!

    [Update]

    Wanted to be sure I posted my slides and then also made the link to the awesome build lifecycle poster done by our friends in South Africa.  Thanks for keeping me honest!

     

    Ed B.

    posted on Friday, October 10, 2008 11:57:00 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [2] Trackback
    # Thursday, July 10, 2008

    I didn't get to read my RSS feeds yet today but I got a hint to go read them and I discovered that Chuck wrote a nice blog post about volunteer work and me.  I guess the cat's out of the bag now :)  Thanks Chuck for the kudos - I really appreciate it.  I'm looking forward to making a really good use of that time.

    There are so many people in the development community that spend countless hours of their volunteer time.  Especially in the VSTS community.  People are working volunteering time:

    • developing and supporting open-source projects & tools,
    • speaking at events and conferences (this takes a considerable amount of time to prepare for,)
    • leading local user groups,
    • writing blog posts, technical articles, & books,
    • answering community questions in the MSDN Forums,
    • giving feedback, enhancement requests, & reporting problems of Microsoft products to improve them, and
    • all of the other ways people volunteer time that I can't even begin to think of.

    I personally know several people (and more) who really focus on trying to make the entire development community better off with these time & knowledge contributions.  (Infragistics as a company has been really supportive in all of our efforts to help the community.) I hope you get as much out of it as I do from learning from everyone.  Microsoft has done a great job in recognizing those individuals by creating the Most Valuable Professional (MVP) award.  I'm honored to have been awarded this award earlier this year.

    I've really not been able to blog as much as I have liked to or participating in the MSDN Forums answering people's questions.  I have focused the volunteer time that I have had in other areas.  I had a really great time at the MVP Summit earlier this year and came back with so many different ideas.  I really love the VSTS MVP & Champs group - truly a great group of professionals!  This brings me to my idea for this year.

    I feel like I haven't had time this year to really provide anything meaningful to the community.  So, I want to dedicate a work week and do something meaningful for the VSTS community.  There are plenty of places that we could all use help so I think that would be something meaningful and useful.  I'm planning on doing this time locally in Redmond so that if I need background information on a project, I can get it quickly.  I need to meet with some people about Infragistics stuff and really take some vacation time in that area (since it is so beautiful) so I think it's beneficial to be local during that week.

     

    What should I work on?

     

    Chuck mentioned a few ideas that we have so far but the one I personally love is being able to release the gigantic amount of work that Microsoft has done with their internal process templates & reports.  Have you seen them?  They are awesome!  Reports are so tricky to do and take a good chunk of time to be done correctly.  The Microsoft internal reports need to be scrubbed for external consumption which is my initial idea for volunteer work.

    Or should I work on a productivity tool?

    Don't let me taint your opinions though.  What do you want/need that would be valuable for VSTS?  Go to Chuck's blog post and give us suggestions about what you would like to see me work on.  No car washing or details though :) unless it's for a good charity organization then I'll consider it.

     

    Ed B.

    posted on Thursday, July 10, 2008 2:11:53 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
    # Wednesday, July 09, 2008

    So, I came across something pretty interesting when I was making a work item query today that I've wondered for a while.  I can't believe I just came across it today.

    OK - Just for some background on what I was trying to do:  I wanted to get a team query made that returned all of the bugs for my team.  The only problem is that our department supports all of our products for mainly builds & installers (among other things) and it causes the Area Paths that we look at to be pretty much all over our TFS server.  Usually you would just want all the bugs for a particular product and you can use the UNDER operator for the Area Path field.  I need to use multiple condition clauses using the UNDER operator.  I knew that the Work Item Query Language (WIQL) had a way for putting parenthesis around the conditionals in the WHERE clause.  (The WIQL syntax is very similar to T-SQL if you haven't ever seen it before.)  For example, here's part of a sample WIQL query that I was going after....

    SELECT [System.Id], (Other Fields) FROM WorkItems WHERE [System.WorkItemType] = 'Bug'  AND  [System.State] <> 'Closed'  AND  ([System.AreaPath] UNDER 'NetAdvantage\.NET\Installers'  OR  [System.AreaPath] UNDER 'NetAdvantage\.NET\ASP.NET\Builds'  OR  [System.AreaPath] UNDER 'NetAdvantage\.NET\WinForms\Builds'  OR  [System.AreaPath] UNDER 'NetAdvantage\WPF\Builds'  OR  [System.AreaPath] UNDER 'NetAdvantage\WPF\Installers'  OR  [System.AreaPath] UNDER 'TestAdvantage\QTP\WinForms\Builds'  OR  [System.AreaPath] UNDER 'TestAdvantage\QTP\WinForms\Installers'  OR  [System.AreaPath] UNDER 'TestAdvantage\RFT\WinForms\Builds'  OR  [System.AreaPath] UNDER 'TestAdvantage\RFT\WinForms\Installers')

    My problem was - how do I put parenthesis in the query using the Work Item Query Editor? (UI in Visual Studio)

     

    However, I remember reading Brian's post yesterday about the new Alerts Editor (which by the way is totally awesome and immediately adds value to the product without waiting for the next major release) and thought, I wonder how they did that in the UI with the alerts XPath queries because I know you can't get very good alerts without the ability to group the XPath query conditionals.  Let me steal an image from Brian's post with a little editing showing off a grouping of condition clauses:

    Alert Definition with Grouped Conditions

    I thought to myself, hmmmm... that grid looks pretty similar to WIQ Editor grid that exists today in Team Explorer 2008 and started searching everywhere for the "group" tool button (since there is not a toolbar above the grid.)  I found it.  It's in the context menu whenever you select multiple rows.  Seriously, I can't believe I haven't ever seen it before.  I guess I don't usually write very complex work item queries :)

    Grouping of Conditions in Work Item Query Editor

     

    Have fun writing some useful queries for yourself and your team now!

     

    Ed B.

    posted on Wednesday, July 09, 2008 10:11:21 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
    # Tuesday, June 17, 2008

    Microsoft MVP Horizontal Logo Speaking of Team System, I found out last week that I have been officially inducted into the Team System MVP group.  Earlier this year, I was awarded as an MVP in the Client Application Development competency.  Don't get me wrong, I still love WPF & Silverlight development and will continue to be involved in that community in the future.  I'm even working on finishing up the technical editing of a Silverlight 2 book right this minute. Or actually I'm procrastinating writing blog posts :)

    Being part of the Team System MVP group, I'm really joining one of the most awesome groups ever.  I spent all of my time earlier this year at the MVP Summit at all of the Team System sessions and they truly are one of the best product teams at Microsoft.  They truly value our feedback and the Team System MVPs really love and care for the product just as much and want to see it grow by leaps and bounds.  And when I say love and care for the product, you don't even understand! :) This is definitely a good fit and I'm honored to officially join the group.  So when do I get to learn the "secret handshake?"

     

    Ed B.

    posted on Tuesday, June 17, 2008 9:09:21 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback

    Fellow Team System MVP Mike Azocar has announced an awesome new contest to stir up the Team System tools ecoystem.  There are some really cool prizes so far including a free license for Microsoft Visual Studio Team Suite 2008 w/ MSDN Premium Visual Studio Team System Logosubscription and there are more donated prizes coming...  Get the full details at his blog post:  Want to be famous- Enter the Coolest Team System Gadget Contest!

    Have you created a useful gadget for Team System? Do you have one in mind? I am looking for the coolest community built tool for VSTS. It can be something for TFS, for Visual Studio, or something that is stand alone. The winner will receive a one year subscription to MSDN with Team Suite!

    To enter, submit a screen cast (up to 3 minutes long) which tells everyone why your gadget is the coolest and the source code. All submissions will be released to the public as free source to use and enjoy (with you getting all the credit of course). Videos will also be made available to the public to help make you famous! This should be something new (i.e. not on Codeplex or previously released) and not something repackaged. Submissions accepted up until August 31st 2008. Winner will be announced September 15th 2008.

    Judges will be Mike Azocar, Martin Woodward, and I so this is going to be a lot of fun!

     

    Ed B.

    posted on Tuesday, June 17, 2008 8:46:35 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
    # Thursday, June 12, 2008

    I'll be speaking on July 1, 2008 at the Dallas Visual Studio Team System User Group. Starts at 6 PM.  This is going to be a really exciting session for me personally and I love that we have a big block of time to get into some really fun Team Build details.  I think we are meeting at the Notion Solutions office in Irving for the July meeting but I'll double-check and update if there is a change.

     

    Here are a few topics that I'll make sure we talk about:

    • New Features for Team Build 2008
    • Fun Stuff around Builds at Infragistics
    • Build Notification Power Tool
    • Building Java applications using Team Build & TeamPrise - (This blows people's minds away)
    • Building Installers using Wix
    • New Changes in TFS 2008 Service Pack 1 for Team Build
    • If time, Extensibility with the Team Build API

    Be sure to sign up on the user group website to get updates and the RSVP link whenever it gets sent out.

     

    Ed B.

    posted on Thursday, June 12, 2008 10:38:52 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
    # Monday, June 02, 2008

    Our team has been kept extremely busy lately with our new responsibilities.  What does the Release Engineering team do exactly?  Along with creating builds and installers for ALL of our products, we now have responsibility of Team Foundation Server Operations, and the entire development lifecycle of internal productivity tools that we call the "Internal Tools Suite."  So to sum it up, if it has to do with automation or the release process, it's us :)  We need some help (so I can get around to doing some blog posts again haha.)

     

    Here's the positions we have open for the department:

     

    Come join our team! It's been extremely exciting lately with what we're doing internally at Infragistics.  Contact me if you're interested:  ed AT infragistics DOT com

     

    Ed B.

    posted on Monday, June 02, 2008 4:52:35 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
    # Friday, April 11, 2008

    It's finally available!  Seriously - this CTP has quite a bit of features that they have added and you can start to see that VSTS is and will continue to be a strong if not the best ALM offering.  The new features are added to Head over to Jeff Beehler's blog post to find out more details of what has been added...

    I haven't picked a favorite feature just yet :)  The three I just really like the most across the whole offering:

    • New Team Build System based on Windows Workflow Foundation
    • Historical Debugging (this will really help with the Debug and Repro scenarios)
    • Great Test Case Management System

    Here's a list of all the new features!

    Architecture Edition

    • Exploring the existing code structure
    • Designing process flow as activities
    • Designing user interactions with systems
    • Designing system functionality as components
    • Visualizing and designing types in systems
    • Visualizing and designing interaction sequences in systems

    Development Edition

    • Simplify Code Analysis rule selection with rule sets
    • Find and fix a bug using the historical debugger
    • Identify the test impact of code changes
    • Find a bug on a separate machine using the standalone debugger

    Database Edition

    • Building and using an off-line representation of your operational database as a “sandbox” development environment.
    • Using Data Generation to custom-build data for testing your database application.
    • Making and unit-testing schema and code changes in an off-line environment.
    • Performing static code analysis of your programmability objects.

    Test Edition

    • Planning a testing effort
    • Executing manual test cases
    • Verify the fix
    • Automate a manual test and add validation.

    Team Foundation Server

    • Managing an Agile schedule
    • Easier reporting from Excel
    • Managing features with the CMMI Process
    • A new Add Files to Source Control wizard and support for drag and drop from Windows Explorer to Source Control Explorer
    • An enhanced, non-modal conflict resolution experience, integrated into the pending changes tool window
    • A new history view that shows labels applied to a file as well as how changes were merged across branches
    • A new automated build system built on Windows Workflow Foundation, featuring dynamic build machine allocation from a machine pool and distributed build functionality
    • Rollback for a check in (currently only available at the command line)
    • Many Source Control Explorer usability enhancements

    Be sure to head to their Connect site with your feedback!

    Ed B.

    posted on Friday, April 11, 2008 10:00:49 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
    # Wednesday, March 19, 2008

     

    When creating a transition between states you may want to use a "Server" level security group for the "For" and/or "Not". Taking a first stab at doing this you will probably do as the screen shot below.

    image

    When you go to validate this you will get the error shown in the screen shot below. You might even bang your head a couple times trying to figure out what the deal is. :) TF26171

    image

    The correct way to specify a SERVER security group is shown in the screen shot below

    image

     

    Ed K.

    posted on Wednesday, March 19, 2008 9:50:49 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [2] Trackback
    # Thursday, March 13, 2008

    I'm really excited because the last three days I've been in Redmond, WA attending the TAP briefing for the next version of Visual Studio Team System code named "Rosario."  All I can say is WOW - I'm completely impressed with the work that Microsoft has done and the amount of effort they are making into making the next version of Team System be absolutely awesome.

    A lot of big announcements were made and we received a lot of insight into the future.  However, I'm not allowed to say anything just yet about any of it since we were all under a Non-Disclosure Agreement (NDA)  I'm reviewing the latest bits and going to start several blog articles about the multitude of amazing features and as soon as I am able to talk about it I will.  (By the way there are early bits available in the November CTP already that you can download using the Rosario link above!)

    It was great meeting with the other VSTS Champs in person and putting faces with names.  Truly a great event and I really got the impression that the VSTS product team members were genuinely interested in how we felt about the product and our opinions about what we were being shown.  That kind of commitment to receiving feedback from real end users really shows in the quality of their product.

    All I can say is that I can't wait until we receive the final bits and are using it in production!

     

    Ed B.

    posted on Thursday, March 13, 2008 11:09:32 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
    # Friday, October 05, 2007

    VS 2008 has added a new feature called Code Metrics (CM). Code Metrics is a way to produce actionable information on a project or solution. When you generate CM on your code it produces such things as Maintainability Index, Cyclomatic Complexity, Class Coupling, Inheritance depth and lines of code.

    Here is a brief description of each:
    Cyclomatic Complexity: How many paths of execution are in your code. i.e. Enter a Method, That's 1, Hit an If, That's 2, Hit an Else, That's 3. This has a Cyclomatic complexity of 3. Here is more robust definition.
    Class Coupling: Indicates how many other classes relate to this class
    Inheritance depth: The level of inheritance
    Lines of code: Self explanatory, everyone's favorite
    Maintainability Index: An aggregate of the above metrics.

    Each of these are shown at the assembly level then it allows you to drill down to the namespace, class and method level.

    Why is this so cool? Being able to produce and show these metrics allows you to better manage existing code and produce more manageable new code, which in turn pushes you and your team to code to better standards. These metrics are actionable, meaning they enable you to do something with your code by visually displaying the information and giving you the ability to actually assign a work item right from the Code Metrics result window and attach the information to it as well. 

    This is only one tool in the suite of tools within VS 2008 that will enable and guide you to produce better, more secure and performant code. Harness the power of them all!

    The Code Metrics result window; user adding a work item based off metrics:
    image

     

    Work item created from Metrics. Notice the how the work item has all the information attached via the "History" tab.
    image

     

    Ed K.

    posted on Friday, October 05, 2007 9:47:40 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
    # Tuesday, September 25, 2007

    I recently gave a presentation @ Microsoft on Visual Studio 2008 Team System to a crowd of about 40. The presentation was an all day event where we discussed existing and new features to Team System 2008.

     

    Slide Deck:   Tech Briefing.rar (3.41 MB)   
    Presenters:   Ed Kisinger, Sogeti  Topic: Architect/Developer 
                       Tony Mocella, Sogeti Topic: Project Management
                       Brent Lintz, Sogeti Topic: Build/Version Control

     

    Ed K.

    posted on Tuesday, September 25, 2007 10:13:08 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
    # Saturday, September 15, 2007

    Have you ever seen this? Scratch your head for hours? What the heck is wrong, all I want to see is my Code Coverage from my tests!!!!

    No worries, I get asked this question everyday. Here is how to make sure you instrument Code Coverage during your tests.

    Here is what you probably see:

    NotWorking 

    Go to the "Test" menu on your tool bar and "Edit your Test Run Configurations"

    SelectTestMenu

    Click on the "Code Coverage" List Item and select the artifacts to instrument:

    SelectApp

    Now rerun your test(s) and you will have code coverage :)

     

    Thanks,

    Ed K.

    posted on Saturday, September 15, 2007 10:14:51 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [1] Trackback
    # Friday, September 14, 2007

    image

     

    I do not see the "Create Instance" or "Invoke Static Method"..... uggghh I know this happened in VS2005 but it was fixed in SP1.

    If I get an answer I will post it up here as an update.

    UPDATE: It magically appeared today. Wierd.

     

    Thanks,

    Ed K.

    posted on Friday, September 14, 2007 11:56:27 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
    # Wednesday, November 15, 2006

    So... looks like Microsoft Visual Studio Team Edition for Database Professionals (which currently happens to be the Microsoft product that has the longest name in the Microsoft Product Catalog) will be RTM on November 30.

    Ed and I have been invitied to sit on the Expert Panel for the Dallas Launch Event on December 13.  You can find more details about the event here.  We look forward to seeing you there.

    DB Pro (former "Data Dude") is a great addition to the Visual Studio Team System and has a lot of cool and useful features.

    1. Brings in the database developers and includes them in the collaboration using Team Foundation Server.
    2. Database Schema is now able to be put into source control!  This enables a group to manage changes to the database with all of the version control features TFS brings to the table.
    3. Generates Data for testing.
    4. Produces database schema change scripts.
    5. Allows creation of unit tests for the database.
    6. Rename Refactoring across entire database!  Unfortunately, it will not rename objects that you have used in code.  For instance, if you have a data layer project, it will not change stored procedures or parameter names if you changed them in the DB project.
    7. Schema Comparisons (between Projects and Live Databases, and DB to DB)
    8. Data Comparisons (same)

    Things that this release did not have in it that I hope to see in the future:

    1. Data Modeling Tools
    2. Intellisense for T-SQL (Although I really understand how daunting of a task that would be because of how the syntax of T-SQL was designed.
    3. I'm sure there are other things that I think are needed but I'll add them as I think of them.

     

    Very exciting times!

    Ed B.

    posted on Wednesday, November 15, 2006 12:11:05 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0] Trackback
    # Thursday, October 26, 2006

    Update:  If you are wanting to learn how to undo or rollback a changeset using TFS 2010, visit my new blog post about this topic here:  http://www.edsquared.com/2010/02/02/Rollback+Or+Undo+A+Changeset+In+TFS+2010+Version+Control.aspx

     

    So...  I really needed to undo a changeset that was previously made by another user and started looking around for it.  I knew you could do it but just hadn't ever had a need for it.  I figure I start right-clicking different places in Source Control Explorer but that didn't lead me to anything :(

    Until I remembered there were cool new features in the Team Foundation Server Power Toys.  Once of which was an undo changeset command.  Take a look at them because I know you will find several features handy.  One of my favorites in there as well is Annotate.  (Thanks to Dave McKinstry for previewing that one to us!)  It's basically a solution to point-the-finger game for changes...  It will show a bar on the side next to every line that shows who the last person was that edited it, date/time, and the changeset number.  You can even double-click on the changeset number and the actual details of the changeset will pop-up.  Very handy!

     

    Other features in the power toys package: (taken from the documentation)

     

    Unshelve Command

    Use the unshelve command to unshelve and merge the changes in the workspace.

    Rollback Command

    Use the rollback command to roll back changes that have already been committed to Team Foundation Server.

    Online Command

    Use the online command to create pending edits on writable files that do not have pending edits.

    GetCS Command

    Use the GetCS (Get Changeset) command to get the changes in a particular changeset.

    UU Command

    Use the UU (Undo Unchanged) command to undo unchanged files, including adds, edits, and deletes.

    Annotate Command

    Use the annotate command to download all versions of the specified files and show information about when and who changed each line in the file.

    Review Command

    Use the review command to optimize the code review process to avoid checking in or shelving.

    History Command

    Use the history command to display the revision history for one or more files and folders. The /followbranches option returns the history of the file branch’s ancestors.

    Workitem Command

    Use the workitem command to create, update, or view work items.

    Query Command

    Use the query command to run a work item query and display the results. If you do not provide a specific query, all the active work items assigned to you are displayed.

    TreeDiff Command

    Use the treediff command to display a visual representation of the differences between files in two server folders, in a server folder and a local folder, or in two local folders.

     

    Ed B.

    posted on Thursday, October 26, 2006 9:51:03 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
    # Wednesday, October 18, 2006

    Community Technology Preview (CTP) 6 is now available for download here. Recently at TulsaTechFest 2006 we attended a session where Dave McKinstry ( Team System MVP ) of Notion Solutions showed an overview of what DataDude is and the benefits it exposes to the software development life cycle. We really think this is an awesome addition to the already great product offering from Microsoft. VSTS is really beginning to bring all silos of development shops under one tool for better communication and manageability.

    Ed K.

    posted on Wednesday, October 18, 2006 3:53:54 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback