We started building SourceSafe in January 1992 in the vacated dining room of the house belonging to one of my partners. Within a couple of short years SourceSafe went from concept to major success and was acquired by Microsoft in 1994, soon after which it became the most widely used version control system in the world. The thing that was truly novel about SourceSafe in the early 1990s was that it was really easy to learn and use. People tried it and just liked it. It wasn’t the most powerful system around but it had what people needed and was a refreshing break from complicated command line oriented interfaces.
However SourceSafe was designed and built in the early 90’s and a lot has changed since then. Technologies are different – the internet really didn’t exist in a meaningful way (web browsers were in early experimentation), databases were still complicated products primarily used for enterprise mission critical data, etc; and development is a lot different – projects were much smaller and less sophisticated then. The emergence of Visual Basic in the early 90’s really changed the landscape of development and brought a lot of people into the field who would have never previously considered it and made custom software a much bigger part of people’s lives.
Other trends have developed and gained a great deal of momentum. Frustration with traditional ways of executing software projects, the Agile set of development methodologies have become VERY popular, bringing with them a new set of practices – unit testing, continuous integration, TDD, and more.
Right around the beginning of 2003 – almost 11 years after beginning the SourceSafe journey, I and a few other people embarked to create Team Foundation Server. The goal was to create a development team collaboration product that would meet the needs of virtually any development team for the next couple of decades. It is based on modern technologies – SQL Server, ASP.NET, Web Services, .NET, etc. And it takes a comprehensive view of the software development lifecycle, with the intent of ultimately addressing all phases and all participants.
To make sure we could handle the broadest range, we started by targeting enterprise customers and development teams with more involved development processes. The pinnacle of that has been the Microsoft Developer Division experience that I’ve talked so much about where we have over 3,500 regular users and terrabytes upon terrabytes of data. However, it has been our intention from the beginning to build a toolset that is attractive to teams of all sizes and all levels of process.
For smaller teams, the most common complaints about TFS 2005 were that it was expensive, difficult to install, difficult to manage and required onerous pre-reqs. We made good progress on the setup experience in TFS 2008, although most of that was oriented towards enterprise customers who needed more installation flexibility.
Fast forward now to TFS 2010…
TFS 2010 represents a huge step forward in making TFS more approachable by smaller teams. With software development technology continuing to advance and SourceSafe slowly looking older, TFS 2010 is a great opportunity for SourceSafe users to look at updating their toolset.
So what’s different about TFS 2010?
There are 3 main areas that we’ve focused on in 2010 to make TFS attractive to smaller teams:
- Price – We’re not quite ready to announce the pricing and licensing for 2010 yet but I can tell you that it will be at least as easy and cost effective to get as SourceSafe has been. Stay tuned for more info on this.
- Pre-reqs – We’ve eliminated the vast majority of the restrictions TFS has historically had:
- TFS 2010 can be installed on a domain controller – We understand that many small organizations don’t have spare servers lying around and they need to be able to consolidate their servers. Now if you just have one server and it’s your domain controller, email server and whatever else you need it for, you can use it for TFS too!
- TFS 2010 can be installed on client OSes – The TFS server can be installed on Vista and Windows 7 Home Premium and above. Of course it can also be installed on server OSes (Windows 2K3, Windows 2K8 and Windows 2K8 R2). If you want to run version control locally on your laptop – you can do that. In fact, just to prove it out, I bought a Samsung N110 Netbook and installed VS 2010, TFS 2010 and a build server all on the Netbook, running Windows 7 and it works!
- TFS 2010 supports both 32 & 64 bit – No matter whether you’re running a newer 64-bit OS or an older 32-bit OS, TFS will work on your system.
And that’s it – TFS is installed and ready to use. There’s a similarly (but not quite as) easy wizard for configuring a build server on the same machine…
All of this gives you a development system with Version Control, Bug tracking and build automation (making continuous integration a snap!). What it lacks from Standard TFS is Sharepoint and Reporting capabilities. The great thing though is that TFS “Basic” IS TFS so as your needs grow you can reconfigure it to add more capabilities.
It’s a really exciting development and I hope you really like it. I encourage you to get TFS 2010 Beta 2 when it is available later this fall and give it a try.
As always, feedback is welcome!