As I mentioned in my previous post, I reluctantly decided to plow my server under and start afresh with a new installation. There were still a couple of issues that came blazing in from far out in the mindless reaches of the productization effort. I found two of them especially enlightening. That said, the fundamental genesis of this (expected to be a long) series of posts is that I have lost my patience with being enlighten by a steady stream of WTF moments, and I’m doing what little I can to hit back.
Windows Update and SQL Server Service Pack 2
OK, so we’ve got a virgin installation of Server 2003, we’ve downloaded all the patches, installed Standard SQL Server 2005, and upgraded Windows Update so it will get updates for all the Microsoft products on our machine. Once upon a time these were actually products, but of course the brilliant minds in the productization groups are doing everything they can to undo this legacy. In this particular case, after a number of upgrade downloads and reboots, I am informed that I need SQL Server SP 2.
Yup. Knew that. In fact, in the previous incarnation of the system I had neglected to install it as well, but when I downloaded and installed the new update functionality (OK, so its a server – I forget about it for months, and I did have the original updater set for automatic updates) it went and got SP2 and at least in that area, everything was grand. The key thing is this was a 3 year old server installation with a lot of cruft on it, to the degree I’d have to assume that it was at least slightly different from every other server out there.
Moving back to the present, I let the updater run, it claims all is well and good, and I move on to the installation of TFS. Note that this is a server with a virgin installation of Server 2003 and it has nothing but Microsoft code on it. This should pretty much be a reference platform from the Microsoft perspective. You’ve probably already guessed what's coming next – TFS reports it can’t install because the SP2 upgrade isn’t present! So I go back to the forums, where lots of people have this problem, and yup, I sure don’t have the right version info in whatever SQL table it was I looked in. Maybe there was some intermediate patch or something. Maybe I’m just confused. Back to the updater – nope, it thinks I have everything I need. I reboot, wave the magic chicken bones, clear the Internet cache,do all those other fine things – same answer – your system is fully up to date, but the version reported from SQL is off by a couple hundred, as I recall.
OK, as you’ve probably gathered from my blog, I’m not really surprised. Dismayed, yes. Have a good idea of who the culprits are, yes. So I go rooting about, find the direct download for the service pack, and jam it on my machine. Some time passes, I reboot my machine, run the TFS install, and I am golden. It’s up, its working, my hats off to the TFS core team.
However, to the people responsible for handling testing across the family of products here, including SharePoint, SQL Server, TFS, and the Windows Update Service, I am developing a different kind of admiration. Everything involved in this process was yours. No other applications of any kind were involved. This is a pretty clear demonstration to me that you really can’t work together very well, and you can’t even test your own stuff, much less its interaction with any third party products. This is really sad folks, I remember once upon a time where there were various off color jokes about latex gloves and unpleasant probes when it came to Microsoft testing. I remember once upon a time I would have accepted any opportunity to avail my organization or my clients organization of this testing. These days, I don’t think I could ever run far enough, fast enough, in the opposite direction to quell my growing unease. The bottom line is you can’t even get interactions between key components in your own flagship products tested before it goes out the door. Stay the hell away from my stuff, I think a collection of monkeys can beat anything you do.
Having put forth all that vitriol, I should observe that I would hazard a guess this isn’t the fault of the line testing groups. I read a bunch of their blogs, they seem like smart folks, and they sure do write about some lulus that they find. Interestingly enough though, I see very little on issues involving multi product interactions. So I’ll apply Occam's razor and make the simplest guess. Because the idiots at the levels that span multiple products are incapable of doing their jobs, so the entire process breaks down when it gets to them. As hypotheses go, I’m pretty comfortable with it, it fits all the facts I have.
VS 2008 and Business Intelligence Studio.
BI Studio is a VS2005 element that is central to creating reports using the SQL Server reporting services. Technically you can do this without BI studio, but this is a statement roughly equivalent to saying you can write a rich AJAX based web application in vi. And once again, the product gremlins come riding in to screw everything up. Why ? Because BI studio is not part of VS 2008, so if you blow away 2005 (are you starting to see just what kind of bad idea this is turning out to be), you’ve got no reasonable way of authoring reports.
What makes this unbelievably stupid is that VS2008 is being used (correctly) as a vehicle to push TFS. And one of the big strengths of TFS is….. wait for it…… reports. However, if you don’t like what comes with TFS, oh whoops! We forgot to provide the specific tool you need to create those snazzy new reports. When you consider that TFS is specifically a system designed to be tuned for the needs of an individual organization, this reaches truly legendary pinnacles of stupidity. I’ve seen organizations where the left hand doesn’t know what the right is doing. But this reaches new heights. Microsoft has two black eyes – the left eye has been blackened by the right fist – and the right eye has been blackened by the left fist. This is unbelievably pathetic.
Concluding this small series of cathartic, and for some at Microsoft, I believe well deserved, rants, I would like to profer two new slogans for Microsoft product groups. To all of the developers there, I deeply apologize -
Visual Studio 2008 – The most sophisticated add-in for VS2005 you can get.
Microsoft – What would you like us to screw up today ?