I spent the day today at a Developer Day seminar at Microsoft Campus in Reading with my line manager at my work. We were shown demonstrations of the gamut of Team System functionality; it was very cool.
I had a good idea that we could use the Developer and Test editions to full advantage, but I had a preconception that the Database and Architect editions were just there to complete a ’suite’, and didn’t provide much in the way of helpful functionality.
Turns out the Database edition provides some pretty comprehensive database schema management tools, including schema comparisons, difference scripting, schema version control (a big sell for me) and DB unit testing. I had figured we’d be best to just get into bed with RedGate and build the workings of version control ourselves, but I’m really impressed with what they’ve put together.
Likewise the Architect edition. You have the ability to create two types of model: environment and application. You begin by creating the environment model, including firewalls, DMZ, server platforms (down to service pack versions) and the network interfaces between. Then you design your overall application model – website, web services (including method stubs, return types etc), and databases. You can also provide the base platform requirements of each box in the diagram (Windows 2003 Server with .Net 2.0 and SP 2 perhaps). Finally you have the application generate a project with
method stubs, and then visually map the application components on to the server infrastructure. Visual Studio with then analyse your deployment scenario and inform you of any potential problems.
You could do all of that with pen and paper, and it’s certainly a lot cheaper. It’s the one we’re interested in the least. But it’s cool, and would have come in very handy on the last project we attempted. One of the constraints was that there had to be 3 (count ‘em) seperate proxy web services between our web app and the external post code lookup service we were leveraging. We now have these three services sitting in our project with the ambiguous names of ‘WSProxy1′, ‘WSProxy2′, and ‘WSProxyExternal’ – how nice it would be if this could have been planned out visually with some more thought, or better tools. I shudder to think how a fresh contractor will react when they try to debug results through those services.
So I think we’re going to go ahead and purchase TFS 2008, a few Developer editions and a Test edition. Possibly a DB edition, but I wouldn’t be suprised if we hold off for the time being.
Just a quick word about the Developer edition… not much different to 2005 but TFS 2008 support for Build Definitions (were Build Types) is much, much improved. You can now set up a massive range of configuration options with your build, you can edit an existing build (how that didn’t make it into the 2005 release I’ll never know), and you can set triggers/schedules with the same power as with a Windows scheduler task (which is what it will be under the hood). Also they have released a set of power tools which add real continuous integration of the style of CCNet.
All in all a fantastic day and I’m glad to have taken part. Very appreciative that my work is making a real effort to find and implement the right tools for the job, in fact putting their money where their mouth is. I think I’m in a good spot for 2008.
Incidentally I work for these guys. Oh, and we’re looking for permanent people, if you know anyone.