With the interest in getting sophisticated projects built by students, I have been trying to figure out how do we get beyond the basic fart app in Windows Phone Applications. (Ok, maybe “sound” app would be a better way to put the infamous fart app.)
It is difficult to build complex and useful applications without versions control that allows for testing, bug tracking and so forth. Team Foundation Server is a difficult product to host and has a number of requirements. When used with Sharepoint, Office and MS Project, it is a joy, when it used in a limited manner like Codeplex, well not so much.
With introduction products like BizSpark (and for Students MSDNAA) you can get started with TFS. Of course if you use MSDNAA, then you are not suppose to use the TFS for commercial purposes.
So what is the difference between TFS and GIT? GIT is “free”, although I would recommend a donation if you use it, or contribute to the code base. With TFS it starts at $499 if you don’t use Bizspark/MSDNAA and then you can add on, items that are included with Bizspark/MSDNAA, MS Project, Sharepoint, and so forth. With GIT you could use Linux, etc. and have a no cost tool for source control. But what about integration with test, lab management, and so forth.
What does that last sentence mean? Integrated test, lab management and so forth. This is where TFS is quite different, unlike GIT which is version control, TFS integrates the overall software development in a manner that allows you to use one design/test/architectural philosophy.
If you only feel a need for version control, then GIT is fine, but if you are looking to use an integrated test/lab management/version control/project management/architecture then TFS is the way to go. Using Bizspark/MSDNAA is a way to learn how to put together the environment and practice project design is the way to go.
- I like this one: http://techblurt.com/2010/08/24/source-control-comparison-subversion-vs-tfs-vs-mercurial-vs-git/