Tag Archives: TFS

VS 2008, .net 3.5, TFS 2008 – Service Pack 1

The past six months, we’ve seen a wave of new releases/technologies from Microsoft, most people haven’t yet had the chance to really get exposed to all the great stuff going on. While Windows 2008 server, VS 2008, SQL 2008, TFS 2008, Silverlight, WPF, Linq, WPF, WWF and numerous others still have that new car smell, the MS folks continue to push forward, most recently with the announcement of SP 1 for Visual Studio 208, .net 3.5 and Team Foundation Server 2008.

For those looking to stay abreast of all the latest bits, here are a couple links to help you along.

VS 2008 SP1

FS 2008 SP1


As usual, actual ships dates remain vague, but speculation seems to point to SP1 availability this summer.


TFS Automated Builds

I was finally able to dedicate some time to investigating automated builds using TFS.  Over the past several weeks, our development team has been working to more formally embrace Agile, as a software development practice.  A couple key components we’re trying to leverage are available within VS 2008, team suite & Team Foundation Server (TFS), including automated builds, automated deployment and database source-code control, using VS DB pro (more on that soon.)

Today, i plowed thru documentation; we recently upgraded from TFS 2005 to 2008 and understand several things have been improved with regard to build to 2008.  While we began using TFS back in early 2006, we had yet to utilize the automated build capabilities.  After speaking with a few people, I was happy to see the improvements made in 2008, most notably native support for automated/nightly builds, and continous integration (CI) – both are now standard in 2008.  Previously, automated builds had to be setup to use a scheduled job, and batch file.  CI took even more work. 

After understanding the framework, I began to dive in, setting up our build server, and configuring the agent.  From there, the VS gui makes it very easy to configure.  Within an hour or so, I was able to setup a scheduled build, whereas the build server pulls the latest codebase, compiles and labels it, and publishes the binaries to a designated drop site.  pretty cool.

Originally, what we were hoping to accomplish with automated builds, was simplifying the process of moving the latest code base from source-control -> to our dedicated development environment, saving the team valuable ‘publishing’ time and giving QA an updated code base to review each morning.  While this is somewhat possible with automated builds, i discovered, atleast initially, the binaries published to the drop site contain unqiue folder values, identifying each build/version #.  This makes it somewhat difficult to publish to a dedicated environment, whereas IIS/virtual directories use a static location for content.  I am still investigating options, to see if this is possible.

While doing some digging, I recently came across Scott Guthries post on a VS 2008 web deployment project, rtw (released to web.)  From the sounds of it, it provides more granular deployment options, including pre/post compilation as well as managing connection strings between environments, whereas your DEV/Staging/Production environments need to point to different datasources.  If you’re also working to incorporate an automated build/deployment model, you might want to also check out the Web Deployment Tool, by the IIS team.  Needless to say, automated deployemnt is now next on my  “to do” list. 

I’m hopeful within a few days, I’ll be able to incorporate a basic, automated nightly-build process.  A little later down the road, we’ll look to leverage CI and setting more granular build qualities.  Baby steps for now..

Drinking the M$FT juice – using Agile!?

Like most 30-something techies, I grew up with Microsoft.  I earned my stripes in the NT 3.5 days, moving from token ring to ethernet and installing/creating drivers the old fashioned way.  Those days are gone, thank god.  Today I hang my hat in a more developer-centric capacity.  In late 2005 we moved to Visual Studio Team System (VSTS) and Team Foundation Sever (TFS).  First, let me say TFS/VSTS offers vast improvements to the old visual interdev/source safe days – namely, it works.

VSTS (Team Edition) offers distinct “roles” representing the contributors on a typical development team, project management, dev’s, testers, db folks, etc.  We got exposure to the suite using a go-live license late in beta.  We had a large project which required our team to ramp up to about 15 DEVs for about 9 months with quite a few being overseas.  We immediately put VSTS through the wringer, and I’m happy to say looking back, I believe we made a good choice.  VS has long been known for its rich IDE and its latest iteration (vs2008) can now even target multiple .net frameworks (back to 2.0) and even has javascript debugging, which is a first for me. 

Fast forward to today – we’ve now moving forward with TFS 2008 and I’m very anxious to put it’s MSF for Agile stuff to the test.  Next week I’ll be attending CodeMash (my first) which looks to be a great event covering several items on my current “to do” list, namely AGILE!  Our DEV team has loosely followed an Agile-like approach (meaning not waterfall, with short interations) however, I’m excited to now take it to the next level implementing a more formal adoption, from project management through TDD & CI. 

The challenge now becomes embracing Agile using our current VSTS/TFS investment (which hasnt been small.)  It’s all there on the surface; code-coverage, automated testing, stress/load testing, automated builds – but, part of what I’m looking to get out of CodeMash is some REAL WORLD exposure.  Now, its safe to assume, M$FT isn’t going to necessarily provide the best tools for Agile purests – but my hopes are they’ll get us a step closer to supporting (and promoting) what I have come to believe is the right direction for our development efforts .

Our team is currently small, some say thats good.  However pair-programming may become a challenge for us, and I’m still interested to evaluate if TDD becomes a 100% requirement?  Needless to say, I’ve got more questions than answers – but I’m hopeful to get some assumptions validated next week @ CodeMash.  Hopefully I’ll see you there!