Introduction
I’ve begun the (forced) conversion to Team Foundation Server with my recent (desired) transition to VS 2008. It’s been an interesting experience to put it mildly. As with the great majority of my interactions with Microsoft these days, it leaves me both impressed and appalled. Impressed with the line staff for their insightful achievements and superhuman efforts to compensate in all those areas they have been so tragically let down, and appalled with the executive and senior staff for their abysmal product delivery. I am afraid that this will be a fairly steady refrain for a while.
The first inklings that my interest in TFS would have to become more was when I discovered that VSS 6.x is no longer present in the professional VS2008 distribution. OK, I did see that one coming, but you certainly can’t call the vision clear. There is VSS 2005, of which I had much to say in a prior post, but it is for all intents and purposes a stealthy product, as it stands alone in terms of overall packaging, except in the widest scope of being available on MSDN. I’ve elected to do a two step migration to TFS, a first pass where I’m just moving the current working builds of my primary systems, and a followup step where I will migrate the legacy TFS data.
The Sad Tale
So lets get down to brass tacks. In the initial attempt to install TFS, the initial tests the installer performed were a good start, correctly pointing out that my installation of analysis services was sort of hosed, my installation of reporting services was completely hosed, and I had neglected to install the latest SQL Server service pack. Off I went to Windows Update, then off to services configuration, and then all was OK with the world. Or so I thought……..
The next issue was bizarre – repeated attempts to run the installation would fail at the very end, with complaints about the SharePoint site being missing. The sharepoint administration site had installed and was available, but it did insist that there were no sites installed, and attempts to resolve this by fiddling with the administration tools may or may not have worked, as I shall attempt to explain.
But first, I have to express a certain amount of admiration for those inside of Microsoft who are working on the TFS forums. And many other forums I might add. They are being bombarded with a huge volume of trouble reports, in fact every issue I ran into had a large number of forum posts. While the solutions did not all work for me, I have to commend the diligent effort. I took away a strong feeling that the core teams are doing a lot to try and support their products. The fact that they are doing this at all worries me, in that I’d rather have them working on the future or their products, and fixes to real bugs. This of course does assume that the present is under control, which it obviously is not, and the blame for this lies clearly with the pay grades above these hardworking developers.
I finally did manage to get past the SharePoint complaints, but was then completely defeated by various issues with the initialization of the TFS databases. I did learn a lot about the several hundred K log file contents, and I did find a number of posts relating to the problems I encountered, but many of these posts had anecdotal observations that the poster had finally thrown up their hands and plowed under the existing server installation and started fresh.
In trying to resolve these issues, I did detect certain problems with the .Net 3.5 library installation, and I knew that a long past attempt to use TFS 2005 had left wreckage strewn about the server, so I (sadly) decided that I too would plow under my existing server installation and start fresh.
Lesson Learned #1
If you’re going to migrate to TFS, and you really don’t have much choice if you want to stick with a Microsoft solution, plan on installing everything fresh. As I have observed, the core development and support teams are working hard to try and deal with all the problems pouring in from the field, however they are confronting an impossible task. There’s no question that after a server has been around for a few years it’s pretty much unique in terms of the upgrade path (mine had a mixture of hot fixes, service patches, and remnants of old installations). You can’t possibly expect an internal development group to deal with this range of issues on their own, although once again I have to give them credit for obvious efforts above and beyond what should normally be expected from them.
Personally, I like the concept of TFS and I hope as I get into using it that it meets the promise of this concept. I’d certainly recommend it, however, I would also say that if you’ve had more than you can take at this point, there is merit in considering moving out as much of this technology as possible. I wouldn’t do it, and I advise my various clients not too. However, in several cases where it’s come right down to it, I also can’t say that they are wrong not.
I would contrast this rather brutally with the perceived actions by the senior folk who supposedly have a larger view, where their responsibilies span both creation and delivery, and their focus is on ‘productization’, the effective delivery of technology into the field. More and more, I wonder if they get their orders from some cabal intent on the utter destruction of Microsoft and its partners. The amount of effort expended in this area is paltry, and the results are obvious. The product testing, especially with respect to installation, and there with extra emphasis on the fact that there are multiple product interactions (Server, SharePoint, SQL Server, TFS) is abysmal – many of the issues reported on the forums SHOULD NEVER HAVE BEEN REPORTED AT ALL. For many of you reading this, at small or mid size ISVs or in house staffs, you are probably all too aware that if you conducted yourself in a similar fashion, the best you could hope for is that your organization suffered a quick death. Being torn limb from limb by an enraged user community is probably not out of the question either.
Bottom line – assume that the productization effort on TFS is in large something that would embarrass a third rate organization, and certainly something that should result in extensive internal bloodshed at Microsoft. If you have weird problems with the install, its probably pointless to work your way through them. The odds are too high that your issues have never been officially seen by the organization. The core teams will try and help, but its not really their role, and they most likely don’t have the resources they need. The safest path is to simply plow the server under and start fresh. You’ll still have various ‘interesting’ issues to deal with, a few of which I will point out in the next post, but your chance of a successful outcome is much higher.
Commentary to Microsoft readers.
Pretty much the same drill as the last post. If you’re in a development group and there’s something I’ve got wrong, let me know and I’ll try and fix it. If you’re part of the product team, please go find another job. You’re extremely bad at what you do. If you feel this tail is being pinned on you unfairly, then feel free to remove it and place it where it belongs. But its got to go somewhere, so your respective organizations aren’t such a freaking joke.