I recently had an interesting discussion with Giles Davies, Giles is from Visual Studio UK Team @VisualStudioUK. The discussion was about group based projects and how academics and students could use technology to assist them in this task.

So I asked Giles to write a short summary of what he believes is best tool for group based projects Team Foundation Services.

So wouldn’t it be good if you could use an integrated team environment for your development projects, and you didn’t need to set anything up or have any connectivity other than the internet?

Well, that’s exactly what Team Foundation Service (TFS) provides and I want to set out the reasons why I think it could really help groups of students to work together on software development projects.

Before I start on the reasons, a quick background on what it is. Team Foundation Service is the Azure hosted version of Team Foundation Server, providing an Application Lifecycle Management (ALM) solution for software development teams. Marketing speak aside, that means that you get integrated version control, requirements and bug tracking, agile tools, a build engine and more.

image

So, why do I think you should be looking at Team Foundation Service?

1 You don’t need to install anything

Simply go to http://tfs.visualstudio.com and sign up for an account. There’s no server or server install because that’s all being provisioned in the cloud with Azure for you. It’s quick and painless and there are plenty of tutorials.

2 It’s free

If your team consists of 5 people or less, or you have MSDN you’ll never need to pay for TFS. In fact, at the moment, any number of people can use it for free, but the licencing will be put in place sometime this year.

3 You just need an internet connection

No VPN, nothing fancy, just an internet connection. So your team can all contribute and collaborate from anywhere that you’ve got a connection (home, the pub, the train, maybe even the faculty J ).

4 You just need a Microsoft account

To authenticate you just need a Microsoft account (what used to be called a Live Id, e.g. a Hotmail address). Not got one? Create one for free.

5 You get your choice of version control

What’s the most important tool for a software development team? Version control. What does TFS give you? A choice of either Team Foundation Version Control (TFVC) or Git, so if you want to work in a completely distributed way with local repositories, go for Git, otherwise choose TFVC.

clip_image002

It doesn’t just have to be source code, and it doesn’t have to be “Microsoft” source code, so you can version control artwork, documents and other artefacts as well.

I won’t go into the choice in detail, but if you want to know more I ran through why you might choose which version control option here.

6 You get somewhere to collaborate

When you’re working on your project, in your team, where do you record ideas? Where do you assign tasks within the group? How do you know what each person is working on and how much work is left to do? Where do you record bugs? How you manage your project using Scrum or Kanban? I think you know where I’m going with this – all this, and more, is provided by TFS, including inviting new people to the project, Product Backlogs, Sprint Backlogs, Task boards, Capacity Planning, Burndowns, Velocity, Kanban and collaborating in Team Rooms.

clip_image004

No more scribbling something down in a file, or on paper, or having stale data in an email. Your group can work remotely, at different times of the day, but you’re still all looking at THE current set of information for your project. You have a great idea at 3am – add it to the Product Backlog.

7 You get hosted build environments

Build your code either on a schedule or continuously. You can build it locally on a build machine, but TFS also includes hosted build servers in Azure, so you don’t need to find a local machine if you don’t need to. Include unit tests in your build to drive, and demonstrate, quality in your project. More information here.

8 You get test case management

Don’t forget to test your code J Define a test plan, set up test cases, execute tests and even use the cloud based load testing with Team Foundation Service.

9 You can work with your preferred IDE locally

Are you coding using C#, VB .NET, C++, F#? Carry on using Visual Studio (and don’t forget that students can get Visual Studio Professional for free via DreamSpark.

Are you coding using Java or other languages in Eclipse? Carry on.

Are you developing iOS applications with XCode? Guess what, XCode’s supported too.

10 You’ll be using an environment used by professionals developers all over the world

TFS is used in a large number of organisations, of all sizes, all over the world. You’ll be using an environment that a lot of professional development teams use and gain an understanding into how, and with what tools, software development teams work together.

More information

The UK Microsoft Visual Studio team, covering Agile, ALM, Quality, TFS and Visual Studio and have a great blog at http://blogs.msdn.com/VisualStudioUK