# 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
# Monday, June 28, 2010

One of my pet peeves is places who charge for Wi-Fi internet access.  Another pet peeve in the same basket is those who make me pay for each device that I want to connect.  Even though more and more locations are starting to offer free Wi-Fi access, I can’t solve the first one.  However, I can attempt to solve the second problem scenario and here’s how…

I pay for internet access on my Windows 7 laptop and then use Connectify to create a virtual Wi-Fi hotspot.  What is this Connectify, you ask?

A Windows 7 feature called Virtual Wi-Fi didn’t end up making the cut line for the final release.  We’ll see if it makes it into a future version of Windows.  The cool thing is that the plumbing for that feature did make it into Windows 7 and that’s where Connectify steps in.  You can basically use your Wi-Fi card to create another ad-hoc network that can then be used to share your internet connection.  This even works whenever you are connected to a wireless network for that internet access.  It’s super easy and it’s free.

Connectify

The one catch is that you need to be running Windows 7 to make it all work.  It works perfectly for most internet connections.  I have noticed that it doesn’t work whenever I’m connected using my Verizon card but that’s the only time I’ve noticed an issue.

 

Ed Blankenship

posted on Monday, June 28, 2010 11:28:46 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
# Sunday, June 27, 2010

I apologize to everyone who experienced intermittent availability problems with my blog site for the past few months.  They ended up showing up whenever ASP.NET 4 was installed on the shared hosting server that I had over at Server Intellect.  I wasn’t ever able to figure out the root cause of it but really looking forward to a native ASP.NET 4 compatible build of dasBlog soon.

Anyhow, I’ve switched everything over to ORCS Web and thankfully I haven’t seen any of the recurring issues that I used to!  The servers even have ASP.NET 4 installed on them so I’m really not sure what was going on.  I do know that the ORCS Web team was extremely helpful during the transition and were super responsive anytime I had a support request.  If you are looking for a web hosting provider, you should consider ORCS Web.  Looks like they are a Microsoft WebsiteSpark provider.  They are even based pretty close in Charlotte, NC!

Again, I apologize for intermittent downtime of posts and please let me know if you happen to see any issues going forward.

 

Ed Blankenship

posted on Sunday, June 27, 2010 7:09:42 PM (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