The Ramblings of Two Microsoft .NET Developers, TFS, and Visual Studio ALM Guys --- "Yes, we are both named Ed."

Microsoft Process Template



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 in Community | MPT | TFS | Tools | VSTS


Azure User Group in Dallas



I just found out about this group from an MSDN Flash. Check them out; there is a meeting tonight.

Azure User Group Website

The website is home for many Azure User Groups from around the world.

 

Ed K.

Azure Training Kit Updated



Download here

Overview

The Azure Services Training Kit includes a comprehensive set of technical content including hands-on labs, presentations, and demos that are designed to help you learn how to use the Azure Services Platform. The February release includes the following updates:

  • 19 demo scripts that walkthrough several of the services
  • 10 presentations covering the entire Azure Services Platform
  • 3 additional hands-on labs for Live Services


This technical content covers services including: Windows Azure, .NET Services, SQL Services, and Live Services.

Ed K.

Posted in


TFS Performance Reports Pack



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 in TFS | VSTS | Reporting


Azure ramp-up



Here are some links to get you started learning and developing on the Azure platform.

Azure Services Platform

Azure SDK downloads

Azure training Kit

PDC recorded sessions

Azure sample application (IssueTracker)

MSDN Azure blog

 

Ed K.

Posted in

One year anniversary of NO TOBACCO



Well, I have hit my one year mark of not using tobacco products!! Its been extremely hard but well worth the sacrifice. I will not lie to anyone thinking about quitting....I still have cravings but they are not as bad and they do not last as long. The main thing that got me through the first 6 months was "hard candy" by the truck loads (weight gain was present) and family support. After 6 months I was able to manage cravings with exercise and avoiding stressful situations.

notobacco

 

Ed K.

Posted in


TFS 2008 Build Notification Power Tool - Workgroup work around



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 in TFS | VSTS


Team Build at Tulsa TechFest 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.



Development Community Volunteer Week



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 in Community | TFS | VSTS


Grouping Conditional Clauses in Work Item Queries



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 in TFS | VSTS