Having seen that experience with Microsoft Team Foundation Server (TFS) is appreciated in several potential freelance projects, I decided to take a look at TFS 2012.
I did that by installing TFS 2012 on a virtual server and connecting VS Ultimate 2012 to it. The basics about work items, source control and builds looked straigt forward enough, and in no time flat I had TFS automatically building on every check in.
To get a better overview of what TFS 2012 has to offer, I read this book:
It stays quite high level and describes what is possible, without getting into details about how to actually set up the procedures. Lots of screenshots though.
It is clear that the TFS ecosystem is indeed a very strong player in the Application Lifecycle Management (ALM) area. No question about Microsoft taking agile development practices seriously.
TFS and Visual Studio handles everything one would need with respect to issue handling, sprint monitoring and (manual and unit) testing, but also offers some quite advanced code visualization tools. I especially found it interesting the way one could describe (by drawing diagrams) the intended code organization and layering, and then have TFS/Visual Studio validate the code on check in against these intentions. How well this works is in practice, I am not too sure of. Anybody got any real experience with this?
It should be possible to create a very automatic and reliable build/test setup, by automatically deploying to virtual machines (in a "lab") as part of the build process. However, to enable this and get the most from TFS one also must install Sharepoint, SQL Server Reporting Services, Microsoft Test Manager, System Center Operations Manager and System Center Virtual Machine Manager - IMHO a pretty big setup for a small development organization.