Team Foundation Server is a product that Microsoft have been selling to work with Visual Studio for many years now. Over time it has evolved, and with the upcoming release of Visual Studio 2010, I thought now would be a great time to check out Team Foundation Server in more detail; specifically how it can help students get their projects done faster and better.
Team Foundation Server used to be the companion to Visual Studio Team System (which acted as the client). With VS 2010, Team System has been integrated into the core of Visual Studio. This provides two benefits – better support as it’s baked right in, and more students can get access to it for free!
There are 3 main targets of Team System:
I want to take a closer look at Team Collaboration and Software Quality in a couple of later posts, so I will skip over those for now.
There are some major advantages provided to students are in the “project transparency” set of features.
When working with Visual Studio Team System, your projects are all hosted centrally on the Team Foundation Server. This is great as it has integrated version control, automated test suites and automated builds (more on all of those later), and therefore some very powerful features built on top of those.
For example, as the server has access to your version control logs and test cases, it can show you reports of all kinds about how the project has been progressing, code coverage in your automated unit tests, and many more. These can all be generated automatically and submitted as part of your assignment.
If your code is properly documented, Team Foundation Server can also generate full documentation for your code – even if you don’t submit it, it will be invaluable for you!
With the 2010 updates to the Microsoft development tools, there are some really cool extra ways of working with Team Foundation Server.
For example, the next generation of the Expression suite of design tools all work with Team Foundation Server, allowing you to get invaluable design feedback on your product before you go into full-blown development.
There is also a dedicated testing tool, as well as support for Eclipse, Sharepoint, Office, and a web interface to get at Team Foundation Server while at a different computer.
I’m going to put this bluntly – normally Team Foundation Server is a complete pain to get up and running. You need all kinds of software and databases configured correctly, which I for sure don’t have time to get going.
To address this, Microsoft created Team Foundation Server Basic. It has most of the features of the full-blown Team Foundation Server (there is a couple of bits not included due to strange software requirements) but comes in a nice installer that you can use on your own computer. This way you get all the benefits of Team Foundation Server – version control, collaboration, testing, and reporting – without needing a big server and software stack to keep it running like the big corporations.
If you have access to MSDN AA, MSDN or DreamSpark then I recommend you head over and give Team Foundation Server Basic a try!