Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Recently,

Here at the company, more than one programmer was appointed in charge for a LightSwitch(C#) software development project and immediately there was a need of some sort of source control/sync.

We have never used Team Foundation Server but we'd gladly use it if it's worth it.

  • Is it the right tool to use for
    synchronising code between
    programmers?

  • Does it have the needed features?

  • Do you have any other tool in mind? (I have used TortoiseSVN but
    it was too simple and 'texty' if you know what I mean, we need a
    professional tool)
  • What other features does Team Foundation has that we can use?

(if you did not understand any of the above please ask me to clarify further)

share|improve this question
3  
I'd argue that even a single developer working on a single application should be using source control. –  Daniel Mann Mar 29 '12 at 12:18
add comment

3 Answers

up vote 5 down vote accepted

Team foundation server is complete tool for ALM - application lifecycle management. The source control is only one part of the whole product. Among others it offers:

  • Source control with configurable rules enforcing some code quality. I think it uses SQL server as repository (I'm not sure about that) so there can be some well known techniques for backups etc. It offers basic features like labeling, branching, merging and shelving
  • Build agent to run automatic builds / tests / deployments
  • Project templates to manage project development / requirements / tasks / bugs / project reports / milestones. Templates can be customized so there are for example templates for Agile project management available.
  • Project portal with document libraries / wikis / etc. running on Sharepoint services
  • Depending on your VS licenses it can provide some very advanced testing scenarios
  • Configurable notifications via email
  • Web client for adding requirements and bugs without installed Visual Studio
  • etc.

TFS is commercial product. If you have MSDN subscribtions you will be fine otherwise you have to buy the server product and per user license (CAL). I'm not sure, but this can further require CALs for Windows Server, SQL Server and Sharepoint if you don't use Sharepoint Services.

The truth is that each of these features has better equivalent on the market but TFS simply provides this as one product which is installed without any problems and fully integrated to visual studio out-of-the box (by installing Team explorer).

For example I found Cruise Control or Team City as much more powerful tools for automatic builds.

SVN is good source control (better then the one offered by TFS) but I found it more complicated to manage and use (TFS is really for everyone). TortoiseSVN is only extension to Windows Explorer. You can install AnkSvn and you will have integration with Visual Studio.

share|improve this answer
    
TFS is a popular choice amongst .NET shops, it won't be a bad choice. –  Martijn Verburg May 3 '11 at 8:59
    
thanks Martjin! –  l0Ft May 3 '11 at 9:25
    
thank you Ladislav Mrnka, that answer was very helpful :) –  l0Ft May 3 '11 at 9:27
    
AFAIK TFS has a nice tight integration with Visual Studio. If thats what you are developing in then its probably a low-pain-threshold choice. –  quickly_now May 3 '11 at 9:40
1  
You will need a Windows Server license, but TFS includes sharepoint services and SQL Server standard, including reports server and analysis server at no extra charge. You cannot use the SQL Server instance you use with TFS for anything else - it must be dedicated to TFS. Otherwise, you'll need a fully licensed SQL Server instance. –  rjrapson May 3 '11 at 12:55
show 2 more comments

"we need a professional tool"

oh dear. Let me tell you about the time we scrapped our perfectly working SVN system and replaced it with an 'enterprise' tool that came highly recommended by a consultant and the management. .. actually, no I can't bring myself to document the horror that we endured for the year it was in place before we scrapped it and reverted to the perfectly good SVN system we had before.

Martin Fowler did a quick survey amongst the technophiles reading his blog. The results are very interesting.

The good ones are the 'unprofessional' ones. These are the ones the techies like and are much more productive with. The crpa ones are the ones that have a lot of 'administration' and 'lockdown control' associated with them, stuff like management-inspired workflows. (oh, ok, we had workflows and rules in this 'tool', to the point where you had to get a team lead to create/authorise a new design part that you could then use to checkin your code against - you could not just checkin your code or it would get lost in the mass of requirement tasks that were also associated with design parts, the idea was that we could properly control releases... never happened, total disaster, and that was when all the TLs were in the office and available to create the damn tasks!)

You can do a lot better than the features in TFS by looking around, and many of the OSS tools out there are very very good. Pick the ones you like, I recommend SVN with Jenkins build server, and redmine for task tracking. You might like Jira or CruiseControl with Mercurial.

share|improve this answer
add comment

I aggree with gbjbaanb and Ladislav Mrnka. Both are right.

Team Foundation is a powerfull Application Lifecycle Management Tool. For my projects it fits all the need's I need to care about. But what are your needs?

There would never be one perfect solution for every project. Some like SVN, some like Git some something else. But for that you need to take care about your project needs. Do you only use Source Control? Do you need the Management Tools? How much do you want to pay for it.

I like TFS very much. It has good process templates, like scrum 2.0 (upcomming tfs version), check-in validation, fxcop integration, reports, good security system. The build service is good too, but it needs alot of work to do it the way it should work.

So maybe clarify what you need and search for some products and compare them. Take the product which fits your needs the best.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.