INDC Talk: Top Ten Tips for Team Foundation Server

| 2 Comments

Thanks to everyone that came along to my talk at the 2006 Irish National Developers Conference yesterday.  As it was Jedi Day, the session was appropriately aimed at being a deep-dive into some tips and tricks when using Team Foundation Server in the real world.  As promised, here is the here is the slide deck (1.9 MB).  The point of the session was for it to be a very interactive and demo led one so the deck might not be that useful, therefore the following is a quick summary of what we discussed:-

Introduction
As an introduction, I attempted to briefly cover what Visual Studio Team System is, how a deployment looks and how much of a paradigm shifting tool it is.

#10 – TF.exe is your Friend
The most flexible and powerful client for TFS Version Control is the command line tool tf.exe so I did a demo.  See the an earlier blog post for a little more information.  Also, we discussed Buck Hodges tips for improving performance and how some of these also apply to using the VSSImport utility.

#9 – Baby Come Back
How to access deleted files through the Source Control Explorer.  See Clark Sell’s blog post on the topic.  Clark is a Microsoft Consultant who was involved with the product group testing VSTS in the real world during the development phases and advises customers on using Team System out in the field.  He is also a great friend of mine and has recently become a Daddy so the title of this tip was a way of giving subtle props to the guy who first told me about it.

#8 – Users are Painful
Advise on using active directory groups to manage users in a production configuration.  I’s been planning on doing a blog post on this topic for ages but I always get distracted.  The MSDN help on the topic is pretty good now-a-days, also the user permissions dialog now gives you links to all the places you need to add the groups which makes it more discoverable.  The slide on this point was relatively useful:-

User_pain

#7 – Make TFS Work Your Way
A demo of how to customize a work item that was audience driven.  I also showed how to change the action behaviour as discussed in a previous blog post.

#6 – Plan Your Repository
How I think you should plan your repository, as discussed in an earlier blog post.  Mitch Denny has his own opinions on the matter – personally I think creating a “truck” or “main” folder and checking stuff in under that is a small level of indirection that will give you many potential benefits in the future (especially with how Work Items work and the difficulty in moving a work item between projects).  But as Mitch points out there are other ways and no one answer.  Remember, I’m a Java guy so I tend to make things complicated in favour of flexibility :-)  We also talked a little bit about branching here for folks that had not been to one of my earlier talks.

#5 – TFS for Everyone Else
Demonstrated the MCCSSI provider allowing you to access TFS version control from Visual Studio 2003 among others and also talked a little bit about Teamprise which allows you to talk to TFS from Eclipse, Mac and Unix.  Hopefully it wasn’t too blatant advertisement for my day job but I did want folks to know that Team Foundation Server is ideally suited as an enterprise class tool that the entire enterprise can adopt.

#4 – Extending TFS
A discussion about the “Team System Economy” and how extensible the whole of Visual Studio Team System is as well as just Team Foundation Server.  There is plenty of opportunity for partner companies like the one I am lucky enough to work for.  Customers are also free to customise and extend team system as they want.  I ranted a little about how good the Microsoft .NET object model is and advised people to always use that if possible rather than considering using the web services.  I had planned on showing an example of using the object model but a lot of interest was sparked on the term “Team System Economy” (which I actually coined on the spot and had not planned).  All the talk meant I was at risk of running over so I cut the demo.  If anyone wants to get started with the object model then they could do a lot worse than subscribe to Buck Hodges’ and James Manning’s blogs, read this particular post from Buck and download the Visual Studio SDK.

#3 – The Exception To The Rule
Talked a little bit about the TFS Admin Web Service and the Proxy Statistics service (available on http://tfs_at:8080/VersionControl/v1.0/ProxyStatistics.asmx).

#2 – Change != Bad
Talked about some of the differences and difficulties folks will face when moving to Team Foundation Server.  My earlier talks go into a lot more detail about this, so I just focussed on explaining what a Changeset is, explained Shelving, talked about the fact that Check out != Get Latest and how labelling works among other points queried by the audience.

#1 – Don’t Do That
A demo of the power of the security model inside TFS Version Control, but some tips of how you should be careful when making changes.

As ever I gave a list of useful places to find out more:-

Hope that summary is a fair one – if you were one of the attendees then feel free to add a comment if I’ve missed something.  As ever at Irish User Group events I was impressed with the level and quantity of questions from the audience so I may well have missed something we talked about.  If you are in the country and want a more introduction style talk then feel free to come along to my sessions at the .NET user groups in Limerick or Gallway next week.

Now playing: Brass Incorporated - Swingin' Cymbal

2 Comments

Dang, I wish I was several thousand miles closer so I could participate. That is some awesome content that you covered. Great Job!

hi Martin
I've got a question ...
How can I let other clients Load my Project Portal in their browsers?

when they wanna try to load them ... it asks to enter user name and passwords... How can I remove this? and let them view my portal as an anonymous !!???

thanks for your great advices

sincerely yours

Archives

Creative Commons License
This blog is licensed under a Creative Commons License.