19 May 2008

I've got a Notion...

Just wanted to let both of my readers know that as part of my mid-life crisis, I've been enticed overNotion_Logo_Tag-copy to work with the fantastic team at Notion Solutions starting today (actually about 8hrs ago).   I'll be working with a great group of people like Chris Menegay, Dave McKinstry, Mike Azocar, Omar Villarreal, Mickey Gousset and Trent Nix.

I'm really excited to work with all of the folks there and to get deeper into Team Foundation Server and Application Lifecycle Management.  When I say deeper I mean that I was waist deep in TFS up until now.  From here on in I'll be ankle deep...head first.  Woo Hoo!!!

With the amount of TFS/ALM work being done at Notion I'm really hopeful that I'll have more content/problems/ideas to blog about.  More to come...

- Steve

 

Edited (20-May-2008) :  Added Trent to the list after he called me out.  I'm probably opening a can of worms here. ;-)

21 April 2008

MVP Summit 2008 Notes, Comments and Pictures

That probably wasn't a good title for this blog post since all the good stuff that was shown is covered by a Non-Disclosure agreement.  So given that caveat, all I can really say about the future of TFS is "Wow!"   The team has done a fantastic job moving the product forward and there is a lot of value waiting to be released upon the world.  As we get the "green-light" to talk about these new items, I'll be able to post more.

Since that's all I can really say about the content I'll have to talk about the people and places.  That will also give me a chance to show off my new photography gear...

First off, here's a picture of Brian Randell taking a picture.

And here's a picture of Brian Randell checking his picture of Gert Drapers...see a pattern?  I have plenty more, but you get the idea.  ;-)

 

Here's what it looks like when you give a bunch of MVPs 3-minutes to get their lunch...there wasn't even any pushing or shoving...go figure!

 

 

 

Here's a couple of picture of the space needle taken from my hotel room on the 41st floor of the Seattle Westin.  If you have to work from Seattle, it's nice to have this kind of view just beyond your laptop.

   

 

 

 

 

Our Canadian friends were passing out Visual Studio 2008, SQL Server 2008 and Windows Server 2008 hockey pucks to anyone and everyone.  They had a few "special" MVP branded pucks that would earn you a really sweet Canadian MVP hockey jersey.  Here's a picture of the complete set of pucks.  Thanks to Paul Hacker and Eugene Z for letting me borrow theirs for the picture.

 

And last but not least, here's a picture of some of the Team System MVPs and Microsoft Team members after a discussion about how Microsoft is implementing TFS internally.  This picture doesn't show all the MVPs as some had flights out earlier in the day.  If you want a full size copy(~6mb), just click on the picture.

 

Here's the run-down from left to right:
Eugene Zakhareyev, Me, Sin Min Lee, Paul Hacker, Neno Loje, Willy-Peter Schaub, Grant Holliday (back), Chuck Sterling (foot out), Ed Blankenship (hang-over), Wes MacDonald (wearing spiffy Canadian hockey jersey), Dave McKinstry, Luis Fraille, Joe Schwetz (Principal Group Mgr - TFS), Tiago Pascoal, Marcelo Hideaki Azuma

If I've butchered your name or just plain got it wrong, please let me know so that I can fix it. :)

09 April 2008

Whitepaper on Sarbanes-Oxley and TFS published on MSDN

I was just reading about Brian Harry's exploits with farm irrigation, free-range chickens and a dog with psychosis when I noticed his latest post was a pointer to a new whitepaper on MSDN that discusses Sarbanes-Oxles (SOX) compliance and TFS.  I haven't come across too many of these types of documents, so I wanted to advertise it's existence.

Here's the blurb from Andrew Delin on the VSTS Process Blog:

I'm pleased to say MSDN has just published our paper on Team System and Sarbanes-Oxley (SOX).

There seems to be some confusion around SOX and software development. SOX isn't a standard for software, and no software tool can make a business "SOX compliant". SOX relates to the management of transactions that affect assets, and is undertaken with the help of a qualified appraiser who defines a risk management framework for your business. Some of the risks identified may involve your software development activities. Because Team System closely shadows the software development process, it can be a good platform for gathering data in support of SOX objectives.

The paper looks at several example risk scenarios for a business and suggests ways to use Team System. (The paper doesn't talk about more general functions like auditing with Team System, etc.)

Looks like I'll be adding this blog to my must-read list.

Team Foundation Sidekicks v2.1 released

I've just heard from Eugene Z over at Attrice that they have just released v2.1 of their wonderful Team Foundation Sidekicks product suite.  This free set of utilities is a must have for any TFS Administrator or Development Lead.  Don't let the "point release" fool you, they've added some nice features along with the obligatory bug fixes.  The one that jumps out to me is the new "Code Review by Work Item" functionality in the Code Review Sidekick.  This feature allows you to select a work item and it will pull together all the changesets associated with it for review.  Very nice!

So I implore you to run over to Attrice's site and download this package.  Once you've used their products, you will wonder how you ever got along without them.

08 April 2008

March 2008 TFS/Team Suite Download List

Martin Danner has passed along a list of the URLs to use to download the TFS/VSTS 2008 Trial VPC using Free Download Manager.  Just copy the list and paste (using Ctrl+Shift+V) into Free Download Manager then wait...

This VPC includes Office 2007 SP1, all Windows Updates and the December 2007 power tools.  It also contains 38 hands-on labs for your learning pleasure.  The VPC is set to expire on Dec. 31, 2008.

Here's the links:

http://download.microsoft.com/download/d/7/3/d73b91d4-6daa-4da6-8635-3f10a1b918db/en_visual_studio_team_system_2008_team_suite_and_tfs_rtm_vpc_march2008.part0001.exe

http://download.microsoft.com/download/d/7/3/d73b91d4-6daa-4da6-8635-3f10a1b918db/en_visual_studio_team_system_2008_team_suite_and_tfs_rtm_vpc_march2008.part0002.rar

http://download.microsoft.com/download/d/7/3/d73b91d4-6daa-4da6-8635-3f10a1b918db/en_visual_studio_team_system_2008_team_suite_and_tfs_rtm_vpc_march2008.part0003.rar

http://download.microsoft.com/download/d/7/3/d73b91d4-6daa-4da6-8635-3f10a1b918db/en_visual_studio_team_system_2008_team_suite_and_tfs_rtm_vpc_march2008.part0004.rar

http://download.microsoft.com/download/d/7/3/d73b91d4-6daa-4da6-8635-3f10a1b918db/en_visual_studio_team_system_2008_team_suite_and_tfs_rtm_vpc_march2008.part0005.rar

http://download.microsoft.com/download/d/7/3/d73b91d4-6daa-4da6-8635-3f10a1b918db/en_visual_studio_team_system_2008_team_suite_and_tfs_rtm_vpc_march2008.part0006.rar

http://download.microsoft.com/download/d/7/3/d73b91d4-6daa-4da6-8635-3f10a1b918db/en_visual_studio_team_system_2008_team_suite_and_tfs_rtm_vpc_march2008.part0007.rar

http://download.microsoft.com/download/d/7/3/d73b91d4-6daa-4da6-8635-3f10a1b918db/en_visual_studio_team_system_2008_team_suite_and_tfs_rtm_vpc_march2008.part0008.rar

http://download.microsoft.com/download/d/7/3/d73b91d4-6daa-4da6-8635-3f10a1b918db/en_visual_studio_team_system_2008_team_suite_and_tfs_rtm_vpc_march2008.part0009.rar

http://download.microsoft.com/download/d/7/3/d73b91d4-6daa-4da6-8635-3f10a1b918db/VSTS%202008%20Hands-on%20Labs%20March%202008%20Release.msi

27 March 2008

Install the TFS databases to a different drive

Another in a long line of FYI posts (or should that be FMI - For MY Information)

I'm doing a clean TFS 2008 install at a client this week.  They want to install in a dual-tier configuration with the Data tier on their existing SQL Server 2005 box.  As is usual in most organizations, the SQL box has multiple drives with different uses.  The C: drive is for the OS and apps, D: is the "data" drive, E: for backups, etc. 

A question arose when they asked me to make sure that the TFS and Sharepoint databases install to their D: drive as so that it follows their conventions.  I did a little research in the TFS 2008 install guide but couldn't find any way to direct the installer to create the databases in a specific location.  After a bit of Googling (or should that be Live Searching?) I found a post from Brian Harry back in December that addresses this.

Basically, TFS will install the databases wherever the Master database is located.  To get it to onto a specific drive you have 2 options,

1. Install to the default location and then move the databases by hand (Brian has the steps in his post).
2. Move the Master database to the target drive and then install TFS (These steps are there too).

My recommendation?  If you have the space on the default (Master located) drive, install there and then move to the preferred one.  Mucking around with moving Master around is not worth the trouble.

It looks like Maor David has a good recipe for doing this on his blog.

25 March 2008

He must know what he's talking about, he's a Consultant!

I have recently been working with a number of clients to assess their Application Lifecycle Management maturity.  When I kick-off one of these ALM Assessments I take an hour or so the morning of the first day to discuss the assessment process with the the client's management and the folks that we will be interviewing.  My opening remarks (after I introduce my team) are generally...

... The process over the next few days will go something like this.  We'll bring each of you in for an interview where we'll ask you "What's going well", "What's not going well" and then leave some time at the end for you to bring up things that we may have missed. 

At the end of the Assessment, we'll put together a summary of the interviews.  Then we'll all meet together and I'll tell you what you already know.

That's usually the part where the managers look at me strange and the rank-and-file staff members start nodding their heads knowingly.

A large part of any ALM assessment or review is listening to the interviewees and finding the common patterns in their stories.  A common thread usually emerges after the third or fourth interview.  When we're done, we document the issues and recommend remediation steps.  Usually we find that we are giving the same or similar recommendations that have come from the staff to management in the week and months prior to our arrival.  Management is usually very happy with the report and moves forward with implementation of the initial parts of the recommendations. 

I've always scratched my head at this.  Why is my opinion taken as being more valuable than those closest to the problem?  I had the same question from the other side when I was working as the "rank-and-file staff member" and we had consultants come in.  I could say that it's because of my years of experience in the development field which gives an "air of competence" to my every word, but again, I'm being self-delusional.

I think that J.D. Meier put the answer quite succinctly in his post Use the system to educate...

It's along the lines of "you can't be a prophet in your hometown" ... sometimes the change agent needs to be external.

Sometimes the change agent needs to be external, indeed...

24 March 2008

MSBuild 3.5 (2008) Tidbit: You can now remove Items from ItemGroups

One of the new features of MSBuild 3.5 (2008) is the ability to remove entries from ItemGroups.  We've always been able to ""override" a Property value by defining that property again later in the MSBuild file.  In MSBuild 2.0 (2005), if we used that same pattern with ItemGroups, we would have duplicate entries as they are each considered distinct Items.  To remove an Item from an ItemGroup in MSBuild 2.0 you would have to create a new ItemGroup from the old one and skip the Item that you needed removed. 

In MSBuild 3.5 the removal of an Item from an ItemGroup can be achieved by using the new Remove parameter.

<ItemGroup>
<Letters Include="a" />
<Letters Include="b" />
<Letters Include="1" />
<Letters Include="d" />
</ItemGroup>

<ItemGroup>
<Letters Remove="1" />
</ItemGroup>

This technique is great for modifying the entries in an ItemGroup that you did not initially define because it is in an Imported MSBuild file like so:


MyCompany.Common.targets
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <ItemGroup
>
       
<FilesToCopy Include="a.aspx" />
        <FilesToCopy Include="b.dll"
/>
       
<FilesToCopy Include="c.aspx"
/>
       
<FilesToCopy Include="d.gif"
/>
       
<FilesToCopy Include="b.pdb" />
    </ItemGroup>
</Project>


MyBuild.proj
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <Import Project="MyCompany.Custom.targets" />
    <ItemGroup>
        <FilesToCopy Remove="b.pdb" />
    </ItemGroup>
</Project>


In the example above we had an ItemGroup named FilesToCopy that contained some files that we wanted to copy out to a staging folder for our IT group to copy to Production.  The ItemGroup is used in other builds, specifically for builds that go to Dev and QA.  It's ok to send PDB files to the Dev and QA environments, but not to Production so we need to remove it from our ItemGroup.


Removing it is easily accomplished by adding the Remove entry in MyBuild.proj file after the Import tag so that we can manipulate the previously defined FilesToCopy ItemGroup.


The documentation for this property contains a significant number of other cool new ItemGroup manipulation features.


Documented here: http://msdn2.microsoft.com/en-us/library/bb651786.aspx

Links: TFS Version Control Concepts demystified

File this in the "Look what I just found" category.  A bit of a lag since the original posts, but well worth it for me.

Richard Berg has written some excellent articles demistifying  some of the concepts in Team Foundation Version Control (TFVC).  I especially like Concept #3 describing the "two meanings of 'Changeset' ".  That was one of those topics that I had yet to find a clear explanation of, until now.  Thanks Richard.

TFS Version Control Concepts 1: Items
TFS Version Control Concepts 2: Item Names
TFS Version Control Concepts 2b: Namespaces in practice
TFS Version Control Concepts 3: Item Versions and the two meanings of 'Changeset'

Visual Studio Team System Chat scheduled for 9-Apr-2008

Well, the Team System folks are at it again!  Another product group chat is coming April 9th.  As I've always said, this is a great way to get answers to your toughest questions from the Visual Studio and TFS product teams.  Thanks to the Teams for taking the time to talk with the user community.  These folks have been very responsive to the community since Day 1 and the VSTS 2008 and Code-name Rosario features are examples of this.

Here are the particulars:

Join members of the Visual Studio Team System product group to discuss features available in Team Foundation Server, Team Suite, Architecture Edition, Development Edition, Database Edition, and Test Edition. In addition, discuss what's new for these editions for Visual Studio 2008.

Add to Calendar

April 9, 2008
10:00 A.M. Pacific Time
Additional Time Zones