A year ago after Directions in Phoenix I wrote a blog post about Source Code Control, but I never did any follow up. Maybe it is about time
Maybe you have never heard about it, but Microsoft has a great tool called Team Foundation Server. It can run On Premises or you can get it from Microsoft as a service in the cloud. I will be using the Team Foundation Service (The Cloud version) in this article as the functionality is basically the same as the On Premises version, but it requires no setup or server. Did I mention that it is free for up to 5 uses
Check out http://tfs.visualstudio.com/ and sign up for an account.
Getting an Account and setting up a team project
I have already signed up for my account and can access it directly via the URL https://klemmensen.visualstudio.com. Your URL will be slightly different as “klemmensen” will have to be replaced with the name you selected during sign up.
Once you have created an account you need to create a team project. If you want you can create a team project for each of your projects and that is how it was meant to be used but it could create some challenges down the road with controlling capacity in your team and the Scrum process however for now I will just ignore that part and deal with that once we start understanding TFS and a little better.
Click on New marked with Yellow below
and you will see “CREATE NEW TEAM PROJECT” show up in the browser.
Create a Project Name, a description, select a Process template and how you prefer to have your version control done.
In this case I created a SANDBOX project as a play area to show you how things work.
The Process template here is very important as that will never change again for a project unless you go in and do modification for it. I selected Microsoft Visual Studio Scrum 3.0 as we try to follow the Scrum process as closely as possible at our place. You can read more about Scrum at www.scrum.org if you are interested. When it comes to Version Control I have selected “Team Foundation Version Control”. There is a new option called GIT, but I have not played with this one yet.
Now click “Create Project”
It will take about 1 to 2 minutes to create your Team Project”. Now you can Click “Navigate to project” (Marked with Yellow in below screenshot) or “Close” the window and use the browse option next to New in the earlier screen shoot.
Once you click Navigate to Project it will take you to the Team Project portal dashboard and you are ready to start using TFS.
We now have our Team Project setup and we can start to use Source Control in this new Project, however as you can see of the dashboard there is much more to TFS then just Source Control. In the Menu we have CODE, WORK, BUILD & TEST.
“CODE” is the Source Code Control and you can search in it via the browser, but you will need to connect your Visual Studio to this project to check in new code. More about this shortly.
“WORK” is where we organize our work items such as Features, Product Backlog Items, Bugs & Tasks (As defined by the Scrum template we selected earlier). I will talk about that at a later time.
“BUILD” is an automated way of creating builds of your project. On the online version the Build service is currently still in beta and not fully functional. If I get time later I will try to take a deeper dive into this.
“TEST” is currently also in beta on the online version of TFS, but is the area we can use to run automated tests of our product.
Everything in this dashboard can be accessed via Visual Studio, but when it comes to management of Work Items the browser dashboard is just better (in my view).
Connecting Visual Studio to TFS
Assuming you have already installed Microsoft Visual Studio (I have the Microsoft Visual Studio Premium 2012 installed, but you can install the express version if you don’t have the full version in your MSDN subscription. Just follow the link on the left of the dashboard “Get Visual Studio”) we will now connect Visual Studio to Team Foundation Server
Start Visual Studio
Click “Team” and “Connect to Team Foundation Server…”
Click “Servers…” if this is your first time connecting followed by “Add…”
As you can see I already have my Service connected but in the following screenshot you fill out the URL to your Team Foundation Service created earlier and click Ok. You will be asked to logon with your Microsoft Account
When you click Ok it will take you back to the Connect to Team Foundation Server. Make sure the drop down under “Select a Team Foundation Server” is pointing to your server and make sure you have flagged all the Team Projects you would like to see. In this case I just selected the SANDBOX we created earlier.
Click “Connect” and you should be all connected.
So far so good. All in all very easy.
In the next posts on Team Foundation Server we will look at Source Code. Checking in, Checking out, Branching, Merging, understanding changeset and how everything is linked together.
Often I refer to the Source Code Control as “What happened!” meaning this is the change that happened in the system, but we are also going to look at “Why it happened!” meaning the tasks, bugs, product backlog items and features that is the reason we did a specific change. No matter if you are a product manager, a supporter, a consultant or a hardcore developer the fact that you can use the system to find a change and have a linked reason associated with it is very powerful and will safe you a ton of trouble looking for solutions to questions down the road.
I hope this was a helpful first step to get you all started with Team Foundation Server or Services.